array-set: New module.
[gnulib.git] / ChangeLog
blob6220a8ec7d3bb7304a0bec1fef49ca7be66cd01c
1 2018-12-03  Bruno Haible  <bruno@clisp.org>
3         array-set: New module.
4         * lib/gl_array_set.h: New file.
5         * lib/gl_array_set.c: New file.
6         * modules/array-set: New file.
8         set: New module.
9         * lib/gl_set.h: New file.
10         * lib/gl_set.c: New file.
11         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
12         gl_set.h.
13         * modules/set: New file.
15 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17         bison: don't force the Yacc mode
18         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
19         errors when Bison features are used in the grammar file.  Some of
20         these features (such as %expect) were flagged non-yacc recently.  Most
21         of the time, -y is actually used to please Automake's ylwrap which
22         expects the output to be y.tab.c.
23         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
25 2018-12-01  Bruno Haible  <bruno@clisp.org>
27         gnupload: Document short options.
28         * build-aux/gnupload (usage): Document the short options.
30 2018-11-28  Ben Elliston  <bje@gnu.org>
32         gnupload: Support option -h as alias of --help.
33         * build-aux/gnupload: Support -h.
35 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
37         memrchr: port better to clang
38         * lib/memrchr.c (__memrchr): Cast to void * instead of to
39         longword *, to pacify clang -Wcast-align (Bug#33544).
41 2018-11-29  Eric Blake  <eblake@redhat.com>
43         docs: mention printf %m considerations
44         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
45         is not portable, and is easy enough to work around.
46         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
47         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
48         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
49         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
50         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
51         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
52         * doc/posix-functions/printf.texi (printf): Likewise.
53         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
54         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
55         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
56         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
57         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
58         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
59         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
60         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
61         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
62         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
63         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
64         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
66 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
68         bitset: rename ebitset/expandable.* as tbitset/table.*
69         See
70         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
71         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
72         * lib/bitset/table.h, lib/bitset/table.c: these.
73         Rename all the ebitset* symbols as tbitset*.
74         Adjust dependencies.
76 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
78         bitset: check the operations
79         * tests/test-bitset.c (bitset_random): New.
80         Use it.
81         * lib/bitset/expandable.c (ebitset_not): Fix typo.
83 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
85         bitset: properly use false/true instead of 0/1 for Booleans
86         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
87         0/1, as Booleans.
89 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
91         bitset: rename BITSET_VARRAY as BITSET_VECTOR
92         For consistency with the name of the file.
93         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
94         * lib/bitset/stats.c, lib/bitset/vector.c
95         (BITSET_VARRAY): Rename as...
96         (BITSET_VECTOR): this.
98 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
100         strerror_r-posix: memmove, not memcpy
101         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
102         since the source and destination might overlap in the call
103         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
104         Simplify.
106 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
108         bitsetv: new module
109         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
111 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
113         bitset: add tests and doc
114         First stabs at providing a documentation and test for the bitset
115         module.
116         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
118 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
120         bitset: new module
121         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
122         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
123         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
124         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
125         * lib/bitset/vector.h, modules/bitset:
126         New.
128 2018-11-23  Bruno Haible  <bruno@clisp.org>
130         localename: Fix gettext test failures on mingw.
131         * lib/localename.c (gl_locale_name_posix): Convert the result of
132         gl_locale_name_environ to XPG syntax.
134 2018-11-23  Karl Berry  <karl@freefriends.org>
136         * config/srclistvars.txt,
137         * config/srclist.txt: remove all gettext references;
138         the gettext maintainers will sync as needed.
140 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
142         mktime: add libc-config dependency
143         I missed this when we synced from glibc.
144         * modules/mktime (Depends-on): Add libc-config.
146 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
148         longlong: fix comment typo
149         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
151 2018-11-11  Bruno Haible  <bruno@clisp.org>
153         havelib: Remove the need to include asm-underscore.m4.
154         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
155         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
156         gl_HOST_CPU_C_ABI.
157         * modules/havelib (Files): Add host-cpu-c-abi.m4.
158         (Depends-on): Remove host-cpu-c-abi.
160 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
162         parse-datetime: simplify test for mktime failure
163         * lib/parse-datetime.y (mktime_ok): Simplify.
164         Remove args TZ and T; no longer needed.  Callers changed.
166         posixtm: simplify test for mktime failure
167         * lib/posixtm.c (posixtime): Simplify.
169         nstrftime: simplify test for mktime failure
170         * lib/nstrftime.c (__strftime_internal): Simplify.
172 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
174         gnulib-common.m4: port _Noreturn to C++
175         Problem reported by Akim Demaille in:
176         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
177         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
178         Merge adjustments from _Noreturn.h and from glibc into the non-C++
179         version.
180         * lib/_Noreturn.h: Match gnulib-common.
182 2018-10-30  Bruno Haible  <bruno@clisp.org>
184         gnu-make: Fix for NetBSD 8 'make'.
185         Reported by Reuben Thomas in
186         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
187         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
188         output, ignoring exit codes.
190 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
192         maintainer-makefile: fix syntax-check rule for "same.h"
193         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
194         for 'same_nameat', too.
196 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
198         havelib: fix nested ‘configure’ chatter
199         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
200         AC_CACHE_CHECK calls, which resulted in confusing output like
201         “checking for the common suffixes of directories in the library
202         search path... checking for 64-bit host... no lib,lib”.
204         backupfile: tweak for better code
205         * lib/backupfile.c: Sort include directives, and remove
206         unnecessary <limits.h> include.
207         (FALLTHROUGH): New macro, copied from other modules.
208         (backupfile_internal): Use it to avoid code duplication.
209         This lets GCC 8.2.1 generate better code by inlining the
210         call to check_extension.
212 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
214         backupfile: new dir_fd args
215         New module opendirat with code taken from fts.
216         Use this module to let backupfile use a directory file descriptor.
217         * NEWS: Document the incompatible change.
218         * lib/backup-find.c (find_backup_file_name):
219         * lib/backup-rename.c (backup_file_rename):
220         New arg DIR_FD.
221         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
222         (SIZE_MAX): Remove.
223         Include opendirat.h rather than dirent--.h.
224         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
225         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
226         (backupfile_internal): New arg DIR_FD.  All callers changed.
227         * lib/fts.c: Include opendirat.h.
228         (opendirat): Move to opendirat.c.
229         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
230         * modules/backupfile (Depends-on): Remove dirfd, opendir.
231         Add opendirat.
232         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
233         Add opendirat.
235 2018-10-23  Bruno Haible  <bruno@clisp.org>
237         localename: Simplify support for per-thread locales on Solaris 11.4.
238         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
239         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
240         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
241         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
242         specific code.
243         * lib/localename-table.h: Update comments.
244         * lib/localename-table.c: Update comments.
245         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
246         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
247         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
248         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
249         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
250         HAVE_NAMELESS_LOCALES here.
251         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
252         m4/intlsolaris.m4.
253         * modules/gettext (Files): Likewise.
255 2018-10-22  Bruno Haible  <bruno@clisp.org>
257         std-gnu11: Support Autoconf versions < 2.64.
258         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
259         when _AC_DO_LIMIT does not exist.
261 2018-10-22  Bruno Haible  <bruno@clisp.org>
263         Assume Autoconf >= 2.63.
264         * DEPENDENCIES: Mention the requirement.
266         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
267         (func_get_filelist): Don't list m4/onceonly.m4 any more.
268         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
269         * m4/onceonly.m4: Remove file.
271         * m4/openmp.m4: Remove file.
272         * modules/openmp (Files): Remove m4/openmp.m4.
274         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
275         htmldir, dvidir, pdfdir, psdir, localedir.
276         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
278         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
279         Autoconf < 2.60.
280         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
281         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
283         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
284         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
285         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
287         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
288         exists.
289         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
291         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
292         Autoconf < 2.61.
294         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
295         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
296         Autoconf >= 2.52.
298         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
299         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
300         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
302 2018-10-22  Bruno Haible  <bruno@clisp.org>
304         Assume Automake >= 1.11.
305         * m4/configmake.m4: Update comments.
306         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
307         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
308         of 'eval'.
309         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
310         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
311         requires Automake >= 1.11.
313 2018-10-22  Bruno Haible  <bruno@clisp.org>
315         localename: Fix typo in comment.
316         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
318 2018-10-22  Bruno Haible  <bruno@clisp.org>
320         Fix failure of 'gnulib-tool --create-testdir' with all modules.
321         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
323 2018-10-21  Bruno Haible  <bruno@clisp.org>
325         locale: Ease integration with GNU libintl.
326         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
327         GNULIB_defined_freelocale): New macros.
329 2018-10-21  Bruno Haible  <bruno@clisp.org>
331         localename: Fine-tune support for per-thread locales on Solaris 11.4.
332         * lib/localename-table.h: New file, extracted from lib/localename.c.
333         * lib/localename-table.c: Likewise.
334         * lib/localename.c: Include localename-table.h.
335         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
336         locale_hash_function instead of pointer_hash.
337         * modules/localename (Files): Add lib/localename-table.h,
338         lib/localename-table.c.
339         (lib_SOURCES): Add localename-table.c.
340         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
341         for Solaris 11.4 locale system only on Solaris. Test for it
342         independently whether getlocalename_l exists.
343         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
344         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
345         HAVE_NAMELESS_LOCALES.
346         * modules/gettext (Files): Add m4/intlsolaris.m4.
348 2018-10-21  Bruno Haible  <bruno@clisp.org>
350         Small update from gettext.
351         * m4/intl.m4: Update from gettext:
352         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
353         mode on AIX.
354         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
355         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
357 2018-10-16  Bruno Haible  <bruno@clisp.org>
359         mountlist: Remove support for Cray with UNICOS 9.
360         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
361         MOUNTED_LISTMNTENT.
362         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
364 2018-10-16  Bruno Haible  <bruno@clisp.org>
366         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
367         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
368         STAT_STATFS2_FS_DATA.
369         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
370         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
371         MOUNTED_GETMNT.
372         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
373         * lib/getloadavg.c (decstation): Remove definition and case.
374         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
375         * lib/getgroups.c: Likewise.
376         * doc/posix-functions/getgroups.texi: Likewise.
377         * lib/time.in.h: Update comments.
379 2018-10-16  Bruno Haible  <bruno@clisp.org>
381         getloadavg: Remove support for ConvexOS.
382         * lib/getloadavg.c: Remove convex case.
384 2018-10-16  Bruno Haible  <bruno@clisp.org>
386         getloadavg: Remove support for Sony NEWS.
387         * lib/getloadavg.c: Remove sony_news case.
389 2018-10-16  Bruno Haible  <bruno@clisp.org>
391         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
392         * lib/fsusage.c: Remove _SEQUENT_ case.
393         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
394         * lib/mountlist.c: Don't test for MNTTABNAME.
395         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
396         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
397         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
398         * lib/stat-size.h: Don't mention the Sequent bug.
399         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
401 2018-10-16  Bruno Haible  <bruno@clisp.org>
403         fsusage: Remove support for AIX 3.
404         * lib/fsusage.c: Remove code for AIX 3.
405         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
407 2018-10-16  Bruno Haible  <bruno@clisp.org>
409         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
410         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
411         * lib/fsusage.c: Remove code for AIX PS/2.
412         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
413         * lib/getloadavg.c: Likewise.
415 2018-10-16  Bruno Haible  <bruno@clisp.org>
417         getloadavg: Remove support for HP-UX on m68k.
418         * lib/getloadavg.c: Remove hp9000s300 case.
420 2018-10-16  Bruno Haible  <bruno@clisp.org>
422         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
423         * lib/fsusage.c: Remove DOLPHIN case.
424         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
425         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
427 2018-10-16  Bruno Haible  <bruno@clisp.org>
429         getloadavg: Remove support for Alliant FX/2800.
430         * lib/getloadavg.c: Remove alliant case.
432 2018-10-16  Bruno Haible  <bruno@clisp.org>
434         getloadavg: Remove support for tek4300.
435         * lib/getloadavg.c: Remove tek4300 case.
437 2018-10-16  Bruno Haible  <bruno@clisp.org>
439         getloadavg: Remove support for Ardent.
440         * lib/getloadavg.c: Remove ardent case.
442 2018-10-16  Bruno Haible  <bruno@clisp.org>
444         mountlist: Remove support for SVR2.
445         Reported by Andrew Borodin <aborodin@vmail.ru> in
446         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
447         * lib/mountlist.c: Remove MOUNTED_FREAD case.
448         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
449         MOUNTED_FREAD.
451 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
453         libc-config: merge from glibc
454         * lib/cdefs.h (__glibc_has_attribute): New macro.
456         regex: depend on libc-config
457         * modules/regex (Depends-on): Add libc-config.
458         This is needed after the recent autoupdate from glibc.
460 2018-10-14  Bruno Haible  <bruno@clisp.org>
462         localename: Add support for per-thread locales on Solaris 11.4.
463         * lib/locale.in.h (newlocale, freelocale): New declarations.
464         (duplocale): Declare also when the 'localename' module requests it.
465         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
466         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
467         (struniq): Update.
468         (struct locale_categories_names, struct locale_hash_node): New types.
469         (LOCALE_HASH_TABLE_SIZE): New constant.
470         (locale_hash_table, locale_lock): New variables.
471         (pointer_hash, get_locale_t_name): New functions.
472         (newlocale, duplocale, freelocale): New overridden functions.
473         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
474         * m4/intlsolaris.m4: New file.
475         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
476         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
477         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
478         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
479         declared.
480         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
481         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
482         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
483         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
484         * modules/localename (Files): Add intlsolaris.m4.
485         (Depends-on): Add 'locale'.
486         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
487         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
488         the signatures.
490 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
492         timevar: use gethrxtime to get wall clock time
493         clock_gettime is not portable.  gethrxtime takes the best available
494         option to get the wall clock time, including clock_gettime (monotonic
495         clock), and gettime (non monotonic).
496         Also, using xtime_t instead of float preserves the precision.
497         Suggested by Bruno Haible.
498         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
499         * modules/timevar (Depends-on): We need gethrxtime.
500         We no longer use times().
501         (Link): Update.
502         * lib/timevar.h (timevar_time_def): Use xtime_t.
503         * lib/timevar.c (set_to_current_time): Use gethrxtime.
504         (timevar_print): Instead of checking whether the timings themselves
505         are large enough for the timevar to be printed, check the percentages.
507 2018-10-14  Bruno Haible  <bruno@clisp.org>
509         wcsnrtombs: Work around Solaris 11.4 bug.
510         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
511         macro.
512         (gl_FUNC_WCSNRTOMBS): Invoke it.
513         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
515 2018-10-14  Bruno Haible  <bruno@clisp.org>
517         mbsnrtowcs: Work around Solaris 11.4 bug.
518         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
519         macro.
520         (gl_FUNC_MBSNRTOWCS): Invoke it.
521         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
523 2018-10-14  Bruno Haible  <bruno@clisp.org>
525         doc: Update for Solaris 11.4.
526         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
527         mention Solaris 11.4.
528         * m4/printf.m4: Update comments about Solaris.
529         * m4/log.m4: Likewise.
530         * m4/log10.m4: Likewise.
531         * m4/logb.m4: Likewise.
532         * m4/logbf.m4: Likewise.
533         * m4/logbl.m4: Likewise.
534         * m4/rename.m4: Likewise.
535         * m4/wcrtomb.m4: Likewise.
536         * m4/hostent.m4: Likewise.
537         * m4/servent.m4: Likewise.
539 2018-10-14  Bruno Haible  <bruno@clisp.org>
541         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
542         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
543         pointer.
544         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
545         pointer.
546         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
547         pointer.
548         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
549         pointer.
550         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
551         pointer.
553 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
555         bootstrap: fix wget command for po files.
556         * build-aux/bootstrap (po_download_command_format): Fix comment,
557         and adjust callers.
559 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
561         timevar: improve the output format
562         Suggested by Bruno Haible.
563         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
564         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
565         wall, since its resolution is much higher.
567 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
569         timevar: expect that getrusage is available.
570         Don't keep both times and getrusage as backend: both are guaranteed by
571         gnulib, a single one suffices.  Using getrusage is open to possibly
572         tracking other types of resources in the future.
573         * modules/timevar (Depends-on): Add getrusage.
574         (configure.ac): Remove gl_TIMEVAR.
575         (Files): Remove m4/timevar.m4.
576         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
577         * lib/timevar.h (timevar_enabled): Clarify documentation.
578         * lib/timevar.c: Remove all the code about times.
579         Remove all the CPP guards about getrusage: expect it to be present
580         (courtesy of gnulib).
582 2018-10-12  Bruno Haible  <bruno@clisp.org>
584         mountlist: Improve support for Solaris in 64-bit mode.
585         Reported by David Wood <David.Wood@deshaw.com> in
586         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
587         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
588         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
589         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
591 2018-10-12  Bruno Haible  <bruno@clisp.org>
593         mountlist: Add support for Minix.
594         Reported by Assaf Gordon in
595         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
596         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
597         AC_CHECK_FUNCS to check for 'getmntinfo'.
598         * lib/mountlist.c: Update comments.
600 2018-10-12  Bruno Haible  <bruno@clisp.org>
602         Make better use of Autoconf.
603         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
604         * m4/manywarnings.m4: Likewise.
605         * m4/manywarnings-c++.m4: Likewise.
606         * m4/socklen.m4: Likewise.
607         * m4/sockpfaf.m4: Likewise.
608         * m4/stdarg.m4: Likewise.
609         * m4/visibility.m4: Likewise.
610         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
611         indentation.
612         * m4/ls-mntd-fs.m4: Likewise.
614 2018-10-11  Bruno Haible  <bruno@clisp.org>
616         mountlist: Modernize platform lists.
617         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
618         platforms, deemphasizing the obsolete ones.
619         * lib/mountlist.c: Likewise.
621 2018-10-11  Bruno Haible  <bruno@clisp.org>
623         getprogname: Add support for 32-bit programs on HP-UX.
624         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
625         try the similar functions 32-bit programs on 64-bit HP-UX.
627 2018-10-11  Bruno Haible  <bruno@clisp.org>
629         getprogname: Work around program name truncation when possible.
630         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
631         possibly use pst_cmd instead.
633 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
635         fts: cleanup after FTS_NOATIME removal
636         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
637         (FTS_STOP): Shrink to minimal values.  We don’t need to
638         worry about binary compatibility in Gnulib, and the old way
639         of doing things had a hole in the user options that caused
640         FTS_OPTIONMASK to not work as desired.
642 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
644         fts: remove FTS_NOATIME
645         This reverts commit da4d6974013c822af1498941e32db774b2031765.
646         We cannot guarantee that O_NOATIME works: e.g. openat fails
647         with EPERM if the effective user ID of the caller does not match
648         the owner of the file and the caller is not privileged.
649         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
650         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
651         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
652         (FTS_OPTIONMASK): Adjust.
653         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
654         (fd_ring_check): Likewise.
656 2018-10-08  Bruno Haible  <bruno@clisp.org>
658         csharpcomp*, csharpexec*: Remove support for pnet.
659         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
660         HAVE_CSCC.
661         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
662         Don't test HAVE_CSCC.
663         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
664         (compile_csharp_class): Don't invoke it.
665         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
666         HAVE_ILRUN.
667         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
668         Don't test HAVE_ILRUN.
669         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
670         (execute_csharp_program): Don't invoke it.
671         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
672         any more.
674 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
676         renameatu: prefer renameat2 to syscall
677         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
678         Use renameat2 instead of syscall (Bug#32796).
679         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
681 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
683         bootstrap, gnulib-tool: use https instead of insecure rsync
684         * build-aux/bootstrap (download_po_files, po_download_command_format):
685         Don't try using rsync; always use wget over https to fetch PO files.
686         * gnulib-tool (func_import): Likewise.
687         * pygnulib/GLImport.py (GLImport.execute): Likewise.
689 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
691         bootstrap, gnulib-tool: correct the translations wget command
692         * build-aux/bootstrap (po_download_command_format2): Restrict
693         recursion to a single level.
694         * gnulib-tool (func_import): Likewise.
695         * pygnulib/GLImport.py (GLImport.execute): Likewise.
697 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
699         doc: the gnulib snapshots are not maintained
700         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
702 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
704         timevar: add to lib_SOURCES
705         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
707 2018-10-07  Bruno Haible  <bruno@clisp.org>
709         dirent: Update documentation.
710         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
712 2018-10-05  Bruno Haible  <bruno@clisp.org>
714         strpbrk: Make it possible to namespace the defined symbol.
715         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
717 2018-10-05  Bruno Haible  <bruno@clisp.org>
719         strcspn: Make it possible to namespace the defined symbol.
720         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
722 2018-10-05  Bruno Haible  <bruno@clisp.org>
724         raise: Make it possible to namespace the defined symbol.
725         * lib/raise.c (raise): Undefine only after the replacement function has
726         been defined.
727         (raise): Renamed from rpl_raise.
728         (raise_nothrow): Move to the end of the compilation unit.
730 2018-10-05  Bruno Haible  <bruno@clisp.org>
732         memcmp: Make it possible to namespace the defined symbol.
733         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
735 2018-10-05  Bruno Haible  <bruno@clisp.org>
737         explicit_bzero: Make it possible to namespace the defined symbol.
738         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
739         glibc.
741 2018-10-05  Bruno Haible  <bruno@clisp.org>
743         mkdir-p: Depend on 'mkdir'.
744         * modules/mkdir-p (Depends-on): Add 'mkdir'.
746 2018-10-05  Bruno Haible  <bruno@clisp.org>
748         tempname: Depend on 'mkdir'.
749         Reported by Maarten Bosmans <mkbosmans@gmail.com>
750         at <https://savannah.gnu.org/bugs/?33379>.
751         * modules/tempname (Depends-on): Add 'mkdir'.
753 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
755         timevar: rely on gnulib modules for time portability.
756         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
757         * m4/timevar.m4: Don't check for clock_t and struct tms,
758         guaranteed by gnulib.
759         * lib/timevar.h: Use extern "C" protection.
760         Include <stdio.h> for FILE.
761         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
762         they are guaranteed by gnulib.
763         Remove uses of clock as (now useless) fallback.
765 2018-10-04  Bruno Haible  <bruno@clisp.org>
767         sh-filename: New module.
768         * m4/sh-filename.m4: New file.
769         * modules/sh-filename: New file.
770         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
771         "/bin/sh".
772         * tests/test-posix_spawn1.c (main): Likewise.
773         * tests/test-posix_spawn2.c (main): Likewise.
774         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
775         is_envjavac_gcj43): Likewise.
776         * lib/javaexec.c (execute_java_class): Likewise.
777         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
778         * modules/posix_spawnp-tests (Depends-on): Likewise.
779         * modules/javacomp (Depends-on): Likewise.
780         * modules/javaexec (Depends-on): Likewise.
782 2018-10-04  Bruno Haible  <bruno@clisp.org>
784         spawn-pipe tests: Avoid test failure on native Windows.
785         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
786         that fd 2 is closed.
788 2018-10-04  Bruno Haible  <bruno@clisp.org>
790         fcntl: Make it possible to namespace the defined symbol.
791         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
792         been defined.
793         (fcntl): Renamed from rpl_fcntl.
794         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
795         from fcntl.
796         (klibc_fcntl): Move to the end of the compilation unit.
798 2018-10-02  Bruno Haible  <bruno@clisp.org>
800         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
801         * tests/test-vasnprintf.c (test_function): Change the test added on
802         2018-09-23 to check only the 18 most significant digits.
804         vasnprintf tests: Avoid test failure on Cygwin.
805         * tests/test-vasnprintf.c (test_function): Change the test added on
806         2018-09-23 to check only the 42 most significant digits.
808 2018-10-01  Bruno Haible  <bruno@clisp.org>
810         mkostemp, mkostemps: Update documentation.
811         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
812         * doc/glibc-functions/mkostemps.texi: Likewise.
814 2018-10-01  Tom Tromey  <tom@tromey.com>
816         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
817         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
818         on OS X.
820 2018-09-30  Pádraig Brady  <P@draigBrady.com>
822         hmac-*: refactor to remove repetitive code
823         * lib/hmac.c: A new parameterized single implementation.
824         * lib/hmac-md5.c: Define parameters and include implementation.
825         * lib/hmac-sha1.c: Likewise.
826         * lib/hmac-sha256.c: Likewise.
827         * lib/hmac-sha512.c: Likewise.
828         * modules/crypto/hmac-md5: Reference the new implementation file.
829         * modules/crypto/hmac-sha1: Likewise.
830         * modules/crypto/hmac-sha256: Likewise.
831         * modules/crypto/hmac-sha512: Likewise.
832         * tests/test-hmac-md5.c: Refactor common code to a single function.
833         * tests/test-hmac-sha1.c: Likewise.
834         * tests/test-hmac-sha256.c: Likewise.
835         * tests/test-hmac-sha512.c: Likewise.
837 2018-09-30  Zhang Qing  <zhangqingl@126.com>
839         hmac-sha512: fix hash for keys > blocksize (128 bytes)
840         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
841         key length to that output by sha512, not the blocksize.
842         Otherwise uninitialized data from the stack
843         is used when computing the hash.
844         * tests/test-hmac-sha512.c: Add a shortened key test case.
845         Reported at https://github.com/coreutils/gnulib/pull/5
847 2018-09-30  Bruno Haible  <bruno@clisp.org>
849         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
850         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
851         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
852         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
853         'unsigned int' before comparison with an unsigned value.
855 2018-09-30  Bruno Haible  <bruno@clisp.org>
857         grantpt: Remove unnecessary dependency.
858         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
860 2018-09-30  Bruno Haible  <bruno@clisp.org>
862         timevar: Small tweaks.
863         * lib/timevar.h: Fix comments. Add parameter names to function
864         declarations.
865         * lib/timevar.c: Include timevar.h immediately after config.h.
866         * lib/timevar.def: Fix comments.
867         * modules/timevar (Maintainer): List Akim Demaille.
869 2018-09-30  Bruno Haible  <bruno@clisp.org>
871         timevar: Include documentation in gnulib manual.
872         * doc/timevar.texi: Change node and section name to 'Profiling of
873         program phases'.
874         In the code snippets, tweak the #includes and use GNU coding style.
875         * doc/gnulib.texi: Include timevar.texi.
877 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
879         timevar: import from Bison.
880         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
881         New files.
882         * lib/timevar.def: New file.
883         * doc/timevar.texi: New file.
885 2018-09-26  Bruno Haible  <bruno@clisp.org>
887         javacomp-script, javacomp: Add preliminary support for Java 12..17.
888         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
889         * lib/javacomp.c (default_target_version): Likewise.
891 2018-09-26  Bruno Haible  <bruno@clisp.org>
893         javacomp-script, javacomp: Add support for Java 11.
894         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
895         target-version 11.
896         * lib/javaversion.h: Update comments.
897         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
898         source_version_index, get_goodcode_snippet, get_failcode_snippet,
899         TARGET_VERSION_BOUND, target_version_index,
900         corresponding_classfile_version): Accept source_version 11 and
901         target_version 11.
902         * lib/javacomp.h: Update comments accordingly.
904 2018-09-23  Bruno Haible  <bruno@clisp.org>
906         vasnprintf: Fix heap memory overrun bug.
907         Reported by Ben Pfaff <blp@cs.stanford.edu> in
908         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
909         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
910         memory.
911         * tests/test-vasnprintf.c (test_function): Add another test.
913 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
915         maint: mktime.c now shared with glibc
916         * config/srclist.txt: intprops.h, timegm.c and mktime.c
917         are now the same in Gnulib and glibc.
919         mktime: fix _LIBC typo
920         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
922 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
924         dfa: optimization for state merge
925         * lib/dfa.c (merge2): New function.
926         (merge_nfa_state): Use it.
928 2018-09-18  Jim Meyering  <meyering@fb.com>
930         dfa: trivial comment fix: s/is/if/
931         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
933 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
935         dfa: use more-informative function name
936         * lib/dfa.c (maybe_disable_superset_dfa):
937         Rename from dfautf8noss.  Use change.
939         dfa: tweak allocation performance
940         * lib/dfa.c (merge_nfa_state, dfaoptimize):
941         Prefer ptrdiff_t for indexes some more.
942         Use char for flags, as it’s wide enough.
943         Allocate queue and flags together, with one malloc call.
944         No need to use xnmalloc since the multiplication and
945         addition cannot overflow (it’s already been checked by
946         earlier allocation).  Prefer memset to open-coding.
948         dfa: prune states as we go
949         * lib/dfa.c (prune): Remove.
950         dfa: reorder enum for efficiency
951         (merge_nfa_state): Prune as we go instead of at the end.
952         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
954         * lib/dfa.c (END): Now -1 again.  Reorder other elements
955         of the enumeration to make it easier for GCC to generate
956         efficient code by using fewer comparisons to check for
957         ranges of values.
958         (atom): Take advantage of the reordering.
960 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
962         dfa: optimize alternation in NFA
963         Even when similar states exist in alternation, the DFA treats them
964         as separate items, which may complicate the transition in NFA and
965         cause slowdown.  This change assembles the states into one.  For
966         example, ab|ac is changed into a(b|c).  This change speeds-up
967         matching for many branched patterns.  For example, grep speeds up
968         more than 30× in:
970           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
971           time -p env LC_ALL=C grep -vf in in
973         * lib/dfa.c (prune): New function.
974         (merge_nfa_state): New function.  It merges similar NFA states.
975         (dfaoptimize): New function.  It seeks merged and removed nodes.
976         (dfaanalyze): Call new function.
977         (dfautf8noss): Change name from dfaoptimize because of addition of new
978         function.
979         (dfacomp): Update caller.
981         dfa: simplify initial state
982         Simplifying the initial state enables easier optimization of the NFA.
983         * lib/dfa.c (enum token): Add new element BEG.
984         (prtok): Adjust due to adding element BEG.
985         (dfaparse): Put BEG at a head of tokens.
986         (state_index): Adjust due to adding element BEG.
987         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
988         build initial state.
989         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
991 2018-09-18  Bruno Haible  <bruno@clisp.org>
993         file-has-acl: Fix test failure on Cygwin 2.9.
994         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
995         * lib/acl-internal.h: Likewise.
996         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
997         * lib/acl-internal.c: Update comments regarding Cygwin.
998         * lib/acl_entries.c: Likewise.
999         * lib/file-has-acl.c: Likewise.
1000         (file_has_acl): For Cygwin, use a different way to determine whether
1001         the "default" ACL of a directory is nontrivial.
1002         * lib/get-permissions.c: Update comments regarding Cygwin.
1003         * lib/set-permissions.c: Likewise.
1005 2018-09-18  Bruno Haible  <bruno@clisp.org>
1007         stat-time tests: Fix test failure on Cygwin.
1008         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
1010 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1012         doc: OS X 10.11 lacked ns time functions
1013         According to <https://github.com/zeromq/libzmq/issues/2175>,
1014         nanosecond-resolution timestamp functions were introduced
1015         in macOS 10.12, so document the last version (OS X 10.11)
1016         where they were absent.
1018         gettime: nanotime never existed
1019         Problem reported by Bruno Haible in:
1020         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
1021         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
1022         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
1024 2018-09-18  Bruno Haible  <bruno@clisp.org>
1026         doc: Update statement about target platforms.
1027         Reported by Simon Sobisch.
1028         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
1029         restrictions on MSVC versions.
1031 2018-09-18  Bruno Haible  <bruno@clisp.org>
1033         posix_spawn tests: Fix link error on 64-bit Cygwin.
1034         * tests/test-posix_spawn1.c (environ): Remove declaration.
1035         * tests/test-posix_spawn2.c (environ): Likewise.
1036         * tests/test-posix_spawn3.c (environ): Likewise.
1037         * tests/test-posix_spawn4.c (environ): Likewise.
1038         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
1039         * modules/posix_spawnp-tests (Depends-on): Likewise.
1041 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1043         timespec: new function current_timespec
1044         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
1045         and don’t worry about it failing on a CLOCK_REALTIME arg.
1046         POSIX requires it to succeed and I don’t know of any
1047         counterexamples where the fallbacks would work.
1048         (current_timespec): New function, taken from Emacs.  It is more
1049         convenient than gettime, and can help register allocation.
1050         * lib/timespec.h: Include arg-nonnull.h.
1051         (current_timespec): New declaration.
1052         (gettime, settime): Declare args to be nonnull.
1053         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
1055 2018-09-16  Bruno Haible  <bruno@clisp.org>
1057         setlocale: Improve locale handling on macOS 10.12 or newer.
1058         * lib/setlocale.c: Include header files for CoreFoundation. Declare
1059         gl_locale_name_canonicalize.
1060         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
1061         and LC_MESSAGES.
1062         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
1064 2018-09-16  Bruno Haible  <bruno@clisp.org>
1066         Update list of locale names with scripts on macOS.
1067         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
1068         match Mac OS X 10.13 and recent glibc.
1070 2018-09-16  Bruno Haible  <bruno@clisp.org>
1072         gettext: Use newer macOS APIs when possible.
1073         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
1074         CFLocaleCopyPreferredLanguages.
1076 2018-09-16  Bruno Haible  <bruno@clisp.org>
1078         localename: Revisit macOS specific code.
1079         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
1080         Fix comments about Mac OS X versions.
1082 2018-09-15  Bruno Haible  <bruno@clisp.org>
1084         setlocale: Improve support for locales not supported by libc.
1085         Reported by Dapeng Gao <peter@dpgao.cc> at
1086         <https://savannah.gnu.org/bugs/?54479>.
1087         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
1088         (libintl_setlocale): Use a more error-tolerant strategy when the locale
1089         to be set is not supported by libc: Emit warnings instead of failing.
1091 2018-09-15  Bruno Haible  <bruno@clisp.org>
1093         strstr, strcasestr: Add workaround against glibc-2.28 bug.
1094         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
1095         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
1096         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
1097         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
1098         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
1099         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
1100         * doc/glibc-functions/strcasestr.texi: Likewise.
1102 2018-09-14  Bruno Haible  <bruno@clisp.org>
1104         doc: Fix bottom of top-level page.
1105         Reported by Akim Demaille <akim.demaille@gmail.com> in
1106         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
1107         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
1108         mode.
1109         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
1110         accordingly.
1112 2018-09-12  Bruno Haible  <bruno@clisp.org>
1114         Add test case from a recent glibc bug.
1115         * tests/test-strstr.c (main): Add test of long needle.
1116         * tests/test-strcasestr.c (main): Likewise.
1117         * tests/test-c-strstr.c (main): Likewise.
1118         * tests/test-c-strcasestr.c (main): Likewise.
1119         * tests/test-memmem.c (main): Likewise.
1121 2018-09-12  Bruno Haible  <bruno@clisp.org>
1123         Apply Eric Blake's improvements from 2011-02-25 to more tests.
1124         * tests/test-c-strstr.c (main): Add the same tests here as well.
1126 2018-09-12  Bruno Haible  <bruno@clisp.org>
1128         Apply Jim Meyering's fix from 2015-01-11 to more tests.
1129         * tests/test-memmem.c (main): Free haystack.
1130         * tests/test-strcasestr.c (main): Likewise.
1131         * tests/test-c-strcasestr.c (main): Likewise.
1133 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
1135         xstrtol: fix missing-TYPE_SIGNED typo
1136         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
1138 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1140         timespec: fix resolution confusion
1141         In normal usage, clock resolution is given in seconds, but the
1142         code was mistakenly using inverse seconds and calling it
1143         “resolution”.  Fix this, partly by renaming two identifiers.
1144         The old names will be kept for a bit, to ease transition.
1145         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
1146         New constants, replacing TIMESPEC_RESOLUTION and
1147         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
1148         All uses changed.
1150 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1152         mktime: simplify in prep for glibc merge
1153         * lib/mktime.c, lib/timegm.c [_LIBC]:
1154         Include mktime-internal.h (a small file just for glibc)
1155         instead of using a typedef.
1157 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
1159         intprops: minor clarification of code
1160         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
1161         Use _GL_INT_CONVERT rather than reinventing it.
1163 2018-09-07  Bruno Haible  <bruno@clisp.org>
1165         Fix a comment.
1166         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
1168 2018-09-07  Bruno Haible  <bruno@clisp.org>
1170         posix_spawn_file_actions_addchdir: Add tests.
1171         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
1172         * tests/test-posix_spawn4.c: New file.
1173         * modules/posix_spawn_file_actions_addchdir-tests: New file.
1175 2018-09-07  Bruno Haible  <bruno@clisp.org>
1177         posix_spawn_file_actions_addchdir: New module.
1178         Suggested by Eric Blake in
1179         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
1180         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
1181         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
1182         union member 'chdir_action'.
1183         * lib/spawn_faction_addchdir.c: New file.
1184         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
1185         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
1186         HAVE_WORKING_POSIX_SPAWN.
1187         * lib/spawn_faction_adddup2.c: Likewise.
1188         * lib/spawn_faction_addopen.c: Likewise.
1189         * m4/posix_spawn_faction_addchdir.m4: New file.
1190         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
1191         'posix_spawn_file_actions_addchdir' is present and whether
1192         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
1193         instead of HAVE_WORKING_POSIX_SPAWN.
1194         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
1195         posix_spawn_file_actions_addchdir is declared.
1196         (gl_SPAWN_H_DEFAULTS): Initialize
1197         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1198         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1199         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1200         * modules/spawn (Makefile.am): Substitute
1201         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1202         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1203         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1204         * modules/posix_spawn_file_actions_addchdir: New file.
1205         * modules/posix_spawn_file_actions_addclose (Depends-on,
1206         configure.ac): Test also REPLACE_POSIX_SPAWN.
1207         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
1208         configure.ac): Likewise.
1209         * modules/posix_spawn_file_actions_addopen (Depends-on,
1210         configure.ac): Likewise.
1211         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
1212         signature.
1213         * doc/posix-functions/posix_spawn.texi: Mention the new module.
1214         * doc/posix-functions/posix_spawnp.texi: Likewise.
1216 2018-09-06  Bruno Haible  <bruno@clisp.org>
1218         stddef: Override max_align_t on NetBSD 8.0/x86.
1219         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
1220         the value of __alignof__ (max_align_t).
1221         * doc/posix-headers/stddef.texi: Mention the issue.
1223 2018-09-06  Bruno Haible  <bruno@clisp.org>
1225         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
1226         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
1227         system fcntl.
1228         * doc/posix-functions/fcntl.texi: Document the issue.
1230 2018-09-06  Bruno Haible  <bruno@clisp.org>
1232         count-trailing-zeros tests: Rely on limits-h module.
1233         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
1234         definition.
1235         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
1237 2018-09-06  Bruno Haible  <bruno@clisp.org>
1239         count-leading-zeros tests: Rely on limits-h module.
1240         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
1241         definition.
1242         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
1244 2018-09-06  Bruno Haible  <bruno@clisp.org>
1246         count-one-bits tests: Rely on limits-h module.
1247         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
1248         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
1250 2018-09-06  Bruno Haible  <bruno@clisp.org>
1252         xstrtoll: Rely on limits-h module.
1253         * lib/xstrtol.c: Don't include intprops.h.
1254         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1255         * modules/xstrtol (Depends-on): Remove 'intprops'.
1256         * modules/xstrtoll (Depends-on): Add 'limits-h'.
1258 2018-09-06  Bruno Haible  <bruno@clisp.org>
1260         strtoll, strtoull: Rely on limits-h module.
1261         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
1262         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1263         * modules/strtoll (Depends-on): Add limits-h.
1264         * modules/strtoull (Depends-on): Likewise.
1266 2018-09-06  Bruno Haible  <bruno@clisp.org>
1268         intprops tests: Fix compilation error with pre-C99 compiler.
1269         * tests/test-intprops.c (verify_stmt): New macro.
1270         (VERIFY, main): Use it.
1272 2018-09-06  Bruno Haible  <bruno@clisp.org>
1274         limits-h: Provide numerical limits macros.
1275         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
1276         IRIX and for GCC.
1277         (WORD_BIT, LONG_BIT): Define.
1278         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
1279         <limits.h> does not define LLONG_MAX or WORD_BIT.
1280         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
1281         TYPE_MAXIMUM): New macros, from intprops.h.
1282         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
1283         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
1284         provides.
1286 2018-09-05  Bruno Haible  <bruno@clisp.org>
1288         fcntl: Don't access nonexistent optional argument.
1289         Reported by Frank Busse <f.busse@imperial.ac.uk> in
1290         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
1291         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
1292         don't consume an argument. For actions that take an 'int' argument,
1293         consume an 'int' argument.
1295 2018-09-05  Eric Blake  <eblake@redhat.com>
1297         doc: mention environ pitfall
1298         * doc/posix-functions/environ.texi (environ): Assigning NULL to
1299         environ is a glibc extension.
1301 2018-09-03  Bruno Haible  <bruno@clisp.org>
1303         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
1304         Reported by Antoine Luong <antoine.luong@c-s.fr> in
1305         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
1306         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
1307         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
1308         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
1310 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1312         mktime: fix unlikely race+overflow bug
1313         Problem reported by Alexandre Oliva in:
1314         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
1315         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
1316         to avoid an unlikely race if the compiler delays a load and
1317         if this cascades into a signed integer overflow.
1319 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1321         mktime, timegm: simplify glibc time64_t
1322         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
1323         Now long int, not time_t, since long int is the longstanding type
1324         for this in glibc and there is no need to change it even if time_t
1325         becomes 64 bits - even int would do, though this would be a change
1326         to the glibc generated code.  When this change is merged into
1327         glibc, it should simplify the time_t vs time64_t situation.
1329         mktime, timegm: simplify merge to glibc
1330         Move code around to make a merge to glibc easier to audit.
1331         This should not change behavior.
1332         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
1333         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
1334         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
1335         simplify later conditionals; default the others to zero.  In uses
1336         of these conditionals, explicitly spell out how _LIBC affects
1337         things, so it’s easier to review from a glibc viewpoint.
1338         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
1339         compartmentalize tzset issues.  Move system-dependent tzsettish
1340         code here from mktime.
1341         (mktime): Move tzsettish code to my_tzset, and move
1342         localtime_offset to within mktime so that it doesn’t
1343         need a separate ifdef.
1345 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
1347         intprops: avoid evaluation of some expressions
1348         This makes EXPR_SIGNED (e) easier to use, as it no longer
1349         evaluates the expression E.  Formerly, E was required to be free
1350         of side effects.
1351         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
1352         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
1353         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
1355 2018-08-23  Bruno Haible  <bruno@clisp.org>
1357         getcwd: Add cross-compilation guesses.
1358         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
1359         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
1360         Based on a patch by Paul Eggert.
1361         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
1362         guesses for all GNU systems.
1364 2018-08-19  Bruno Haible  <bruno@clisp.org>
1366         glob-h: Formalize side effects from other modules.
1367         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
1368         * m4/glob.m4 (gl_GLOB): Invoke it.
1370         fnmatch-h: Formalize side effects from other modules.
1371         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
1372         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
1374         limits-h: Formalize side effects from other modules.
1375         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
1376         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
1378 2018-08-19  Bruno Haible  <bruno@clisp.org>
1380         getpass: Move declaration to <unistd.h>.
1381         * lib/unistd.in.h (getpass): New declaration.
1382         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
1383         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
1384         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
1385         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
1386         On glibc systems, don't set REPLACE_GETPASS to 1.
1387         * modules/getpass (Depends-on): Add 'unistd'.
1388         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
1389         (Include): Specify <unistd.h> instead of "getpass.h".
1390         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
1391         (configure.ac): Sync with the configure.ac section of modules/getpass.
1392         (Include): Specify <unistd.h> instead of "getpass.h".
1393         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
1394         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
1395         REPLACE_GETPASS.
1396         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
1397         REPLACE_GETPASS.
1398         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
1399         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
1400         and musl.
1401         * NEWS: Mention the change.
1403 2018-08-19  Bruno Haible  <bruno@clisp.org>
1405         glob: Fix over-optimization due to attribute __nonnull__.
1406         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
1408 2018-08-19  Bruno Haible  <bruno@clisp.org>
1410         glob: Fix another compilation error when glob.h is not replaced.
1411         Reported by Reuben Thomas <rrt@sc3d.org> in
1412         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
1413         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
1414         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
1416 2018-08-18  Bruno Haible  <bruno@clisp.org>
1418         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
1419         Reported by Reuben Thomas <rrt@sc3d.org> in
1420         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
1421         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
1422         in config.h.
1424 2018-08-18  Bruno Haible  <bruno@clisp.org>
1426         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
1427         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
1428         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
1429         Solution proposed by Eli Zaretskii.
1430         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
1431         * lib/gettimeofday.c (GetProcAddress): Likewise.
1432         * lib/link.c (GetProcAddress): Likewise.
1433         * lib/physmem.c (GetProcAddress): Likewise.
1434         * lib/poll.c (GetProcAddress): Likewise.
1435         * lib/select.c (GetProcAddress): Likewise.
1436         * lib/stat-w32.c (GetProcAddress): Likewise.
1438 2018-08-18  Bruno Haible  <bruno@clisp.org>
1440         glob: Fix another compilation error when glob.h is not replaced.
1441         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
1442         * lib/globfree.c: Include <libc-config.h>.
1444 2018-08-18  Bruno Haible  <bruno@clisp.org>
1446         glob: Fix compilation error when glob.h is not replaced.
1447         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
1448         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
1449         * lib/glob_pattern_p.c: Include <libc-config.h>.
1450         * modules/glob (Depends-on): Add libc-config.
1452 2018-08-18  Bruno Haible  <bruno@clisp.org>
1454         scratch_buffer: Add tests.
1455         * tests/test-scratch-buffer.c: New file.
1456         * modules/scratch_buffer-tests: New file.
1458 2018-08-18  Bruno Haible  <bruno@clisp.org>
1460         scratch_buffer: Fix include file.
1461         Reported by Reuben Thomas <rrt@sc3d.org> in
1462         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
1463         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
1464         double-inclusion guard.
1466 2018-08-18  Bruno Haible  <bruno@clisp.org>
1468         glob-h: Revert Paul Eggert's revert.
1469         * m4/glob_h.m4: Revert to previous state.
1470         * modules/glob-h: Likewise.
1472 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1474         glob-h: always build glob.h
1475         This works around a problem reported by Reuben Thomas in:
1476         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
1477         This workaround always builds glob.h, even on platforms that
1478         do not need it; perhaps this could be improved someday.
1479         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
1480         is always created now.
1481         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
1483 2018-08-13  Bruno Haible  <bruno@clisp.org>
1485         monetary: Simplify m4 code.
1486         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
1487         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
1489 2018-08-13  Bruno Haible  <bruno@clisp.org>
1491         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
1492         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
1493         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
1494         and by Paul J. Lucas <paul@lucasmail.org> in
1495         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
1496         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
1498 2018-08-11  Bruno Haible  <bruno@clisp.org>
1500         setlocale: Trivial simplification.
1501         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
1503 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1505         verify: port 'assume' to traditional tools
1506         * lib/verify.h (assume): Port better to Oracle Studio 12.6
1507         and other tools that use /*NOTREACHED*/ comments.
1509 2018-08-10  Bruno Haible  <bruno@clisp.org>
1511         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
1512         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1513         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
1514         'fnmatch-gnu' is in use.
1516 2018-08-07  Bruno Haible  <bruno@clisp.org>
1518         glob-h: Add tests.
1519         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
1520         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
1521         tests/test-glob-h.c.
1522         * modules/glob-h-tests: New file.
1523         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
1524         conditions.
1525         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
1526         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
1528 2018-08-07  Bruno Haible  <bruno@clisp.org>
1530         glob-h: New module.
1531         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
1532         replacements.
1533         * lib/glob.c: Include <config.h>.
1534         * m4/glob_h.m4: New file.
1535         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
1536         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1537         REPLACE_GLOB_PATTERN_P as appropriate.
1538         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
1539         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
1540         * modules/glob-h: New file.
1541         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
1542         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
1543         lstat, sys_stat. Change conditions.
1544         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1545         REPLACE_GLOB_PATTERN_P. Set module indicator.
1546         (Makefile.am): Remove code that is moved to glob-h.
1547         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
1548         * modules/posixcheck (Depends-on): Add glob-h.
1550 2018-08-06  Bruno Haible  <bruno@clisp.org>
1552         Force generation of substitute .h file when C++ support is enabled.
1553         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
1554         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
1555         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
1556         FNMATCH_H to non-empty.
1557         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
1558         ICONV_H to non-empty.
1559         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
1560         MONETARY_H to non-empty.
1561         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
1562         non-empty.
1564 2018-08-06  Bruno Haible  <bruno@clisp.org>
1566         fnmatch-h: Fix test compilation error on mingw (regression from today).
1567         * lib/fnmatch.in.h: Fix conditions.
1569 2018-08-06  Bruno Haible  <bruno@clisp.org>
1571         sys_resource: Relicense under LGPLv2+.
1572         John Malmberg's approval is in
1573         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
1574         * modules/sys_resource (License): Change to LGPLv2+.
1576 2018-08-06  Bruno Haible  <bruno@clisp.org>
1578         fnmatch-h: Add tests.
1579         * tests/test-fnmatch-h.c: New file.
1580         * modules/fnmatch-h-tests: New file.
1581         * tests/test-fnmatch-h-c++.cc: New file.
1582         * modules/fnmatch-h-c++-tests: New file.
1584 2018-08-06  Bruno Haible  <bruno@clisp.org>
1586         fnmatch-h: New module.
1587         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
1588         replacements.
1589         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
1590         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
1591         'posixcheck' warning.
1592         * m4/fnmatch_h.m4: New file.
1593         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
1594         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
1595         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
1596         as appropriate.
1597         * modules/fnmatch-h: New file.
1598         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
1599         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
1600         conditions.
1601         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
1602         indicator.
1603         (Makefile.am): Remove code that is moved to fnmatch-h.
1604         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
1605         REPLACE_FNMATCH.
1606         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
1607         * modules/posixcheck (Depends-on): Add fnmatch-h.
1609 2018-08-06  Bruno Haible  <bruno@clisp.org>
1611         Enable more C++ tests.
1612         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
1613         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
1614         * modules/strings-tests (Depends-on): Add strings-c++-tests.
1615         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
1616         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
1618 2018-08-06  Bruno Haible  <bruno@clisp.org>
1620         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
1621         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
1622         getopt.h.
1623         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
1625 2018-08-05  Bruno Haible  <bruno@clisp.org>
1627         utime-h: Generate header file when module 'posixcheck' is in use.
1628         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
1629         UTIME_H to non-empty.
1631 2018-08-05  Bruno Haible  <bruno@clisp.org>
1633         monetary: Generate header file when module 'posixcheck' is in use.
1634         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
1635         use, set MONETARY_H to non-empty.
1637 2018-08-05  Bruno Haible  <bruno@clisp.org>
1639         iconv-h: Generate header file when module 'posixcheck' is in use.
1640         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
1641         set ICONV_H to non-empty.
1643 2018-08-05  Bruno Haible  <bruno@clisp.org>
1645         Optimize the "checking whether ... is declared without a macro" checks.
1646         Suggested by Paul Eggert in
1647         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
1648         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
1649         Gnulib module 'posixcheck' is not in use.
1651 2018-08-05  Bruno Haible  <bruno@clisp.org>
1653         iconv-h: Enable 'posixcheck' warnings.
1654         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
1655         iconv_open.
1656         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
1658 2018-08-05  Bruno Haible  <bruno@clisp.org>
1660         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
1661         * m4/extern-inline.m4: Add more comments.
1662         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
1663         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
1664         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
1666 2018-08-04  Bruno Haible  <bruno@clisp.org>
1668         New module 'posixcheck'.
1669         * modules/posixcheck: New file.
1670         * m4/posixcheck.m4: New file.
1671         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
1672         (Which modules?): Reference it.
1674 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
1676         dfa: fix memory leak
1677         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
1679 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1681         ieee754-h: new module
1682         It looks like Emacs can use this for some NaN processing.
1683         Emacs uses it only on double NaNs so it should be safe.
1684         * MODULES.html.sh (func_all_modules): Add ieee754-h.
1685         * config/srclist.txt: Mention ieee754.h in a comment.
1686         * doc/glibc-headers/ieee754.texi (ieee754.h):
1687         Gnulib now has a substitute that should work
1688         except for long double and for non-IEEE platforms.
1689         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
1690         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
1692 2018-07-27  Bruno Haible  <bruno@clisp.org>
1694         iswcntrl: Mention minor problem on macOS.
1695         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
1697 2018-07-26  Colin Watson  <cjwatson@debian.org>
1699         bootstrap, gnulib-tool: fix translations rsync
1700         Previously, we created files such as $pobase/Makefile.in.in and then the
1701         subsequent rsync would immediately delete them.
1702         * build-aux/bootstrap (po_download_command_format): Avoid deleting
1703         non-.po files in target directory when rsyncing translations.
1704         * gnulib-tool (func_import): Likewise.
1705         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1707 2018-07-25  Jim Meyering  <meyering@fb.com>
1709         bootstrap: reinstate definition fo gnulib_mk.
1710         That variable is used at least by cppi.
1711         * build-aux/bootstrap (gnulib_mk): Restore definition.
1712         This reverts the deletion from v0.1-1844-gc66dba9ba.
1714 2018-07-23  Bruno Haible  <bruno@clisp.org>
1716         doc: For module names, use texinfo markup @code{} or @samp{}.
1717         * doc/alloca.texi: Mark gnulib module names with @code.
1718         * doc/alloca-opt.texi: Likewise.
1719         * doc/quote.texi: Likewise.
1720         * doc/posix-functions/freopen.texi: Likewise.
1721         * doc/posix-functions/open.texi: Likewise.
1722         * doc/posix-functions/readlink.texi: Likewise.
1723         * doc/posix-functions/readlinkat.texi: Likewise.
1724         * doc/posix-functions/stdout.texi: Likewise.
1725         * doc/posix-functions/stderr.texi: Likewise.
1726         * doc/posix-functions/unlink.texi: Likewise.
1727         * doc/posix-functions/unlinkat.texi: Likewise.
1728         * doc/posix-functions/utime.texi: Likewise.
1729         * doc/posix-functions/utimensat.texi: Likewise.
1730         * doc/posix-functions/utimes.texi: Likewise.
1731         * doc/posix-headers/stdint.texi: Likewise.
1732         * doc/glibc-functions/futimesat.texi: Likewise.
1733         * doc/glibc-functions/lutimes.texi: Likewise.
1734         * doc/glibc-functions/memmem.texi: Likewise.
1736 2018-07-23  Werner LEMBERG  <wl@gnu.org>
1738         doc: Avoid some overfull lines in the TeX output.
1739         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1740         @example.
1741         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1742         newline before the long URL.
1743         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1744         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1745         Add line breaks in code snippets.
1747 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1749         hard-locale: simplify by removing hard-locale.m4
1750         * m4/hard-locale.m4: Remove.
1751         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1752         (configure.ac): Do not call gl_HARD_LOCALE.
1754         gnulib-tool: limit line length for git send-email
1755         * gnulib-tool (func_import): Break actioncmd log line
1756         into multiple lines.
1758 2018-07-16  Bruno Haible  <bruno@clisp.org>
1760         ffs: Ensure declaration on mingw.
1761         Reported by Daniel P. Berrangé <berrange@redhat.com>
1762         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1763         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1764         also declared.
1766 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1768         regex-tests: add dependency
1769         * modules/regex-tests (Depends-on): Add gettext-h.
1770         This is needed given the recent changes to regex,
1771         which no longer depends on gettext-h.
1773 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1775         regex: now in sync with glibc
1776         * config/srclist.txt: Gnulib and glibc regex code
1777         are synchronized again.
1779 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1781         renameatu: rename from renameat2
1782         It's looking like Glibc will add a renameat2 function
1783         that is incompatible with Gnulib renameat2; see:
1784         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1785         To help avoid future confusion, rename renameat2 to something else.
1786         Use the name 'renameatu', as the Gnulib function is close to the
1787         Glibc function.  Perhaps someday there will also be a renameat2
1788         Gnulib module, which mimicks the future glibc renameat2, but that
1789         can wait as nobody seems to need such a module now.
1790         * NEWS: Mention this.
1791         * lib/renameatu.c: Rename from lib/renameat2.c.
1792         * lib/renameatu.h: Rename from lib/renameat2.h.
1793         * modules/renameatu: Rename from modules/renameat2.
1794         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1795         All uses of "renameat2" in identifiers or file name
1796         changed to "renameatu", except for two instances in
1797         lib/renameatu.c that deal with the Linux kernel's
1798         renameat2 syscall.
1800 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1802         gnulib-tool: minor tweaks for --gnu-make
1803         * gnulib-tool: Do not allow --gnu-make in test modes,
1804         since they all require automake.
1805         (func_emit_lib_Makefile_am): Don’t emit automake comment
1806         if --gnu-make.
1808         regex: work around conditional-dependencies glitch
1809         * modules/regex (Depends-on): Add langinfo.
1810         Without this change, I had problems building an experimental
1811         version of GNU Emacs.  The symptom of the bug was a message
1812         ‘./configure: line 12726: test: =: unary operator expected’.
1813         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1814         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1815         was unset.  Although gl_FUNC_NL_LANGINFO has
1816         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1817         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1818         --conditional-dependencies sometimes arranges for the
1819         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1820         code.  Since the regex code includes <langinfo.h> it should be
1821         depending on the langinfo module anyway, and this happens to work
1822         around the bug, so install that as a workaround for now.  To
1823         reproduce the original problem, run the following shell script on
1824         the version of Gnulib just before this patch was installed.
1825                 rm -fr foo
1826                 mkdir foo
1827                 cat >foo/configure.ac <<'EOF'
1828                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1829                 gl_EARLY
1830                 gl_INIT
1831                 AC_OUTPUT
1832                 EOF
1833                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1834                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1835                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1836                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1837                 cd foo
1838                 aclocal -I m4
1839                 autoconf
1840                 ./configure --with-included-regex
1842 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1844         wchar: fix bug when checking for ‘inline’
1845         I discovered this when looking into using the regex module
1846         with Emacs.
1847         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1848         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1849         conftest1.c and conftest2.c but these files were not created.
1850         As far as I can see, this check never worked and nobody reported
1851         it until now, which is a bit worrisome.
1853 2018-06-30  Jim Meyering  <meyering@fb.com>
1855         bootstrap: s/--option val/--option=val/
1856         * build-aux/bootstrap (gnulib_tool_options): Change the
1857         spelling of "--option val" pairs to "--option=val", for
1858         aesthetics, and also so that this file no longer triggers
1859         a common help2man syntax-check warning when copied into
1860         projects like grep, gzip, etc.
1862 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1864         manywarnings: omit -Wswitch-default
1865         This should make things more consistent, as we already ignore
1866         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1867         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1868         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1869         Add -Wswitch-default.
1870         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1871         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1872         Remove -Wswitch-default.
1874         regex: revert most trimming
1875         Problems reported by Bruno Haible in:
1876         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1877         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1878         and wctype back in.  lock because regex users shouldn’t
1879         need to know that regex needs locking, and the rest because
1880         gnulib-tool should ordinarily ignore them anyway.
1882 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1884         regex: trim module dependencies
1885         * modules/regex (Depends-on): Remove gettext-h and lock,
1886         since the regex code should work OK without these modules,
1887         and Emacs uses it that way.  Also remove memcmp, memmove,
1888         and wctype, as these modules are obsolete and should not be
1889         needed any more.
1891 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1893         regex: glibc does not use intprops.h
1894         Maybe we can talk glibc into using intprops.h someday, but
1895         now doesn’t seem to be a good time.
1896         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1897         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1898         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1900 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1902         regex: port to recently proposed glibc regex merge
1903         This patch is inspired by Adhemerval Zanella's recent proposal
1904         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1905         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1906         the glibc side, without keeping Gnulib portable.
1907         * lib/regex.h: Fix a problem with glibc installed-header checking,
1908         as follows:
1909         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1910         (_Restrict_arr_): Prefer __restrict_arr if defined,
1911         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1912         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1913         (build_wcs_upper_buffer, build_upper_buffer)
1914         (re_string_translate_buffer, re_string_context_at):
1915         Move decls here from lib/regex_internal.h, for glibc internal tests.
1916         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1917         glibc BZ #18496.
1918         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1919         -Wunused-value.
1920         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1921         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1922         (bitset_mask): Now static inline, and without any __attribute__
1923         ((unused)) decoration, for glibc internal tests.
1925 2018-06-25  Bruno Haible  <bruno@clisp.org>
1927         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1928         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1929         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1930         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1931         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1932         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1933         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1934         / -lthread / -lpth does not get optimized away by a preceding
1935         --as-needed option.
1937 2018-06-25  Bruno Haible  <bruno@clisp.org>
1939         Continue to use spaces for indentation, not tabs.
1940         * MODULES.html.sh: Untabify.
1941         * doc/regex.texi: Likewise.
1942         * lib/acl-internal.c: Likewise.
1943         * lib/dfa.c: Likewise.
1944         * lib/exclude.c: Likewise.
1945         * lib/exclude.h: Likewise.
1946         * lib/get-permissions.c: Likewise.
1947         * lib/gettimeofday.c: Likewise.
1948         * lib/parse-datetime.y: Likewise.
1949         * lib/pselect.c: Likewise.
1950         * lib/set-permissions.c: Likewise.
1951         * lib/time.in.h: Likewise.
1952         * m4/canonicalize.m4: Likewise.
1953         * m4/gc.m4: Likewise.
1954         * m4/gnulib-common.m4: Likewise.
1955         * m4/pthread_sigmask.m4: Likewise.
1956         * m4/vararrays.m4: Likewise.
1957         * tests/test-digest.h: Likewise.
1958         * tests/test-fcntl-h.c: Likewise.
1959         * tests/test-timespec.c: Likewise.
1960         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1962 2018-06-25  Bruno Haible  <bruno@clisp.org>
1964         manywarnings: Don't enable -Wjump-misses-init warnings by default.
1965         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
1966         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
1967         -Wjump-misses-init.
1969 2018-06-25  Jim Meyering  <meyering@fb.com>
1971         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
1972         * lib/acl-internal.h (free_permission_context): Remove that
1973         attribute directive.  Otherwise, it would provoke this from GCC 9:
1974         lib/acl-internal.h:300:3: error: 'const' attribute on function \
1975           returning 'void' [-Werror=attributes]
1977 2018-06-24  Jim Meyering  <meyering@fb.com>
1979         parse-datetime: accommodate gcc-4.8.5
1980         Bruno Haible reported the build failure in
1981         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
1982         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
1983         on declaration of new local.
1985 2018-06-24  Bruno Haible  <bruno@clisp.org>
1987         af_alg: Fail in continuable manner on Linux/powerpc64le.
1988         Reported by Assaf Gordon <assafgordon@gmail.com>
1989         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
1990         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
1991         byte send() as the first round.
1993 2018-06-24  Bruno Haible  <bruno@clisp.org>
1995         af_alg: Fix state of stream after sendfile() succeeds.
1996         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
1997         the stream is correctly positioned afterwards.
1998         * modules/crypto/af_alg (Depends-on): Add fflush.
1999         * tests/test-digest.h (test_digest_on_files): Verify that after the
2000         operation the stream is positioned at end of file.
2002 2018-06-24  Jim Meyering  <meyering@fb.com>
2004         canon-host: take GCC9's advice rather than ignoring warning
2005         Pádraig Brady suggested not to ignore this GCC9 advice.
2006         * lib/canon-host.c: Undo preceding change.
2007         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
2009         parse-datetime.y: avoid spurious GCC 9 warning
2010         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
2011         a function local prior to the first "goto fail".  The prior use would
2012         evoke this:
2013         parse-datetime.y: In function 'parse_datetime2':
2014         parse-datetime.y:1791:19: error: jump skips variable initialization \
2015           [-Werror=jump-misses-init]
2016         parse-datetime.y:2385:2: note: label 'fail' defined here
2017         parse-datetime.y:188:43: note: '({anonymous})' declared here
2018         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
2020         canon-host.c: avoid spurious GCC 9 warning
2021         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
2023         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
2024         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
2025         * m4/manywarnings.m4: Remove them.
2026         Otherwise, building coreutils, I would see this:
2027         cc1: error: deprecated command line option '-Wchkp' [-Werror]
2028         cc1: error: -Wabi won't warn about anything [-Werror=abi]
2029         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
2030           which is also used by default
2031         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
2033 2018-06-24  Bruno Haible  <bruno@clisp.org>
2035         af_alg tests: Add another test.
2036         * tests/test-digest.h (test_digest_on_files): Also check a large file
2037         with a skipped header.
2038         * tests/test-md5.c: Include macros.h.
2039         * tests/test-sha1.c: Likewise.
2040         * tests/test-sha256.c: Likewise.
2041         * tests/test-sha512.c: Likewise.
2042         * modules/crypto/md5-tests (Files): Add tests/macros.h.
2043         * modules/crypto/sha1-tests (Files): Likewise.
2044         * modules/crypto/sha256-tests (Files): Likewise.
2045         * modules/crypto/sha512-tests (Files): Likewise.
2047 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2049         maint: clarify comments about sticky EOF
2050         * lib/af_alg.c: Be more direct that we can't
2051         assume stickiness of EOF for portability reasons.
2052         * lib/md5.c: Clarify that this isn't just a glibc issue.
2053         * lib/sha1.c: Likewise.
2054         * lib/sha256.c: Likewise.
2055         * lib/sha512.c: Likewise.
2057 2018-06-24  Bruno Haible  <bruno@clisp.org>
2059         af_alg: Comment and style improvements.
2060         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
2061         (afalg_buffer, afalg_stream): Improve comments.
2063 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2065         af_alg: disable kernel hash functions by default
2066         All the kernel routines were seen to be significantly slower
2067         with these relatively recent components on an i3-2310M system:
2068           kernel-4.10.6-200.fc25.x86_64
2069           openssl-1.0.2m-1.fc25.x86_64
2070         sha1 was nearly twice as slow in the kernel for example.
2071         Further considerations why this should not be the default, at:
2072         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
2074         * m4/af_alg.m4: Require --with-linux-crypto to enable.
2075         * m4/gl-openssl.m4: Tweak accordingly.
2077 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2079         af_alg: avoid hangs when reading from streams
2080         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
2081         and thus avoid doing a fread() when feof() is set.
2082         * lib/md5.c: Ensure feof() is called before fread().
2083         * lib/sha1.c: Likewise.
2084         * lib/sha256.c: Likewise.
2085         * lib/sha512.c: Likewise.
2087 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2089         af_alg: fix error handling when hash not returned
2090         * lib/af_alg.c (afalg_stream): Handle the case where we've
2091         successfully written data to the kernel in the read/write loop,
2092         but the kernel doesn't respond with the hash.
2094 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2096         libc-config: merge from glibc
2097         * lib/cdefs.h (__inline, __restrict):
2098         Copy from current glibc.  This fixes glibc bug 17721,
2099         which Gnulib had already fixed in a different way.
2100         (__nonnull): Lessen the distance from glibc by using the
2101         glibc definition inside an ‘#ifndef __nonnull’.
2102         (__attribute_nonstring__): New macro, copied from
2103         current glibc.
2104         * lib/libc-config.h (__attribute_nonstring__): New undef.
2105         (__restrict): Remove; workaround no longer needed.
2106         Keep the __inline workaround, though, as it uses HAVE___INLINE to
2107         support more compilers than the glibc __inline can.
2109 2018-06-24  Bruno Haible  <bruno@clisp.org>
2111         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
2112         * lib/mbrtowc.c (enc_t): New enum type.
2113         (locale_enc, locale_enc_cached): New functions.
2114         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
2115         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
2116         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
2117         instead.
2118         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
2119         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
2120         * modules/wcwidth (configure.ac): Invoke it.
2122 2018-06-24  Bruno Haible  <bruno@clisp.org>
2124         wchar-single: Fix test failure in wcwidth tests.
2125         * tests/test-wcwidth.c (main): If the wchar-single module is present,
2126         skip the tests in the C locale.
2128 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2130         crypto: mention --without-linux-crypto in --with-openssl --help
2131         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
2132         routines take precedence in --with-openssl help output.
2134 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2136         wchar-single: a new module to enable optimizations in wchar replacements
2137         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
2138         GNULIB_WCHAR_SINGLE is enabled.
2139         * lib/wcwidth.c (wcwidth): Likewise.
2141 2018-06-23  Bruno Haible  <bruno@clisp.org>
2143         libc-config: Fix conflict with FreeBSD include files.
2144         * lib/cdefs.h (__nonnull): Remove definition.
2145         * lib/libc-config.h (__nonnull): Remove undefinition.
2147 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2149         random_r: do not crash if state is unaligned
2150         Problem reported by Bruce Korb in:
2151         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
2152         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
2153         with 'cc -O2 -xmemalign=8s'.
2154         * lib/random_r.c: Include string.h, for memcpy.
2155         (get_int32, set_int32): New functions.
2156         (__srandom_r, __initstate_r, __setstate_r, __random_r):
2157         Use them to avoid assumption that state pointer is aligned.
2158         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
2159         * tests/test-random_r.c (test_failed): New function.
2160         (main): Use it, to test for alignment bugs.
2162         random_r: omit unnecessary include
2163         * lib/random_r.c: Do not include limits.h.
2165         random, random_r: merge from glibc
2166         * lib/random.c, lib/random_r.c:
2167         Include libc-config.h if !_LIBC, not config.h unilaterally.
2168         * lib/random.c:
2169         Do not include stdint.h or time.h; not needed.
2170         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
2171         (unsafe_state): Rename from generator.  All uses changed.
2172         Use C99-style initializers.
2173         (__random, __srandom, __initstate, __setstate): Rename from
2174         non-underscored version, but define it to non-underscored version
2175         on Gnulib.  Add a lock.
2176         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
2177         Likewise.
2178         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
2179         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
2180         (__srandom_r): Use int32_t instead of long int where int32_t will do.
2181         (__random_r): Use uint32 to fix glibc bug 17343.
2182         * modules/random, modules/random_r (Depends-on): Add libc-config.
2183         Depend on stdint only if $HAVE_RANDOM = 0.
2185 2018-06-19  Jim Meyering  <meyering@fb.com>
2187         README-release: also run any check-very-expensive tests
2188         * top/README-release: Adjust instructions so they run the
2189         check-very-expensive tests when there is such a target.
2191 2018-06-18  Bruno Haible  <bruno@clisp.org>
2193         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
2194         * m4/pthread_rwlock_rdlock.m4: Add comment.
2195         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
2196         are reader-preferring in glibc.
2197         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
2198         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
2200 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
2202         crypto: use byteswap
2203         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
2204         * lib/sm3.c: Include <byteswap.h>.
2205         (SWAP): Use its macros rather than reinventing the wheel.
2206         * modules/crypto/md4, modules/crypto/md5-buffer:
2207         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
2208         * modules/crypto/sha512-buffer, modules/crypto/sm3:
2209         (Depends-on): Add byteswap.
2211 2018-06-17  Pádraig Brady  <P@draigBrady.com>
2213         gendocs.sh: fix support for legacy --texi2html
2214         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
2215         to the default makeinfo invocation.
2216         Reported by Bruce Korb
2218 2018-06-17  Bruno Haible  <bruno@clisp.org>
2220         gettext po infrastructure: Update from current gettext git.
2221         Reported by Akim Demaille <akim@lrde.epita.fr>.
2222         * build-aux/po/Makefile.in.in: Update from current gettext git.
2223         * build-aux/po/remove-potcdate.sin: Likewise.
2224         * config/srclist.txt: Temporarily disable sync for these files.
2226 2018-06-17  Bruno Haible  <bruno@clisp.org>
2228         getloadavg: Return 0 on Windows without Cygwin.
2229         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
2231 2018-06-17  Paul Smith  <psmith@gnu.org>
2233         getloadavg: Allow building on Windows without Cygwin
2234         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
2235         * m4/getloadavg.m4: Check for unistd.h.
2237 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2239         Port crypto/af_alg to GCC 4.8.4
2240         Problem reported by Peter Simons in:
2241         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
2242         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
2244 2018-05-27  Colin Watson  <cjwatson@debian.org>
2246         bootstrap: document source fetching in --help
2247         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
2249 2018-04-09  Colin Watson  <cjwatson@debian.org>
2251         bootstrap: allow non-submodule control of gnulib
2252         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
2253         bootstrap.conf when fetching gnulib using "git clone" or via
2254         GNULIB_SRCDIR.
2256 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2258         crypto: omit stream ops Emacs doesn’t need
2259         * lib/md5.c (md5_stream):
2260         * lib/sha1.c (sha1_stream):
2261         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
2262         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2263         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
2264         defined.  Emacs needs this, as it does not use the stream
2265         operations and doesn’t need all the af_alg stuff we’ve recently
2266         added.  Perhaps a similar change is needed to the other crypto
2267         modules, but this patch changes only those needed for Emacs.
2268         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
2269         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
2270         New modules, used by Emacs.
2271         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2272         * modules/crypto/sha512: Rewrite to depend on the new modules.
2274 2018-05-20  Pádraig Brady  <P@draigBrady.com>
2276         fts: avoid a memory leak edge case
2277         * lib/fts.c (fts_open): Set an appropriate fts_level
2278         so that an immediate fts_close() will free the allocation.
2279         * tests/test-fts.c (fts_dealloc): Add a test case which
2280         will trigger under valgrind or address sanitizer.
2281         Fixes https://bugs.gnu.org/31439
2283 2018-05-20  Bruno Haible  <bruno@clisp.org>
2285         wcwidth tests: Fix link error.
2286         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
2287         $(LIBUNISTRING).
2289 2018-05-20  Bruno Haible  <bruno@clisp.org>
2291         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
2292         * modules/regex (Files): Add m4/glibc21.m4.
2294 2018-05-20  Bruno Haible  <bruno@clisp.org>
2296         localcharset: Optimize.
2297         * lib/localcharset.c (alias_table): Comment out no-op mappings for
2298         platforms where these don't matter. This reduces the table size,
2299         which in turn reduces the lookup time.
2301 2018-05-19  Bruno Haible  <bruno@clisp.org>
2303         localcharset: Map the locale encodings found in newer OSes.
2304         * lib/localcharset.c (alias_table): Add mapping for locale encodings
2305         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
2306         IRIX 6.5, Minix 3.3.
2307         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
2309 2018-05-19  Bruno Haible  <bruno@clisp.org>
2311         localcharset: Move mapping tables into the code. Use a binary search.
2312         * lib/localcharset.h: Document the GNU canonical names for character
2313         encodings here.
2314         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
2315         relocatable.h, configmake.h.
2316         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
2317         macros.
2318         (charset_aliases): Remove variable.
2319         (get_charset_aliases): Remove function.
2320         (struct table_entry): New type.
2321         (alias_table, locale_table): New constants.
2322         (locale_charset): Use the alias_table or locale_table to get the
2323         canonicalized encoding name.
2324         * lib/config.charset: Remove file.
2325         * lib/ref-add.sin: Remove file.
2326         * lib/ref-del.sin: Remove file.
2327         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
2328         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
2329         * modules/localcharset (Notice): Remove.
2330         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
2331         glibc21.m4.
2332         (Depends-on): Remove configmake.
2333         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
2334         (Makefile.am): Simplify.
2335         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
2337 2018-05-19  Bruno Haible  <bruno@clisp.org>
2339         localcharset: Add a manual test.
2340         * tests/test-localcharset.c: New file.
2341         * modules/localcharset-tests: New file.
2343 2018-05-19  Bruno Haible  <bruno@clisp.org>
2345         localcharset: Remove support for obsolete platforms.
2346         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
2347         Mac OS X 10.2. Comment out dubious entry for Solaris.
2349 2018-05-19  Jim Meyering  <meyering@fb.com>
2351         gnupload: adjust comment
2352         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
2353         more likely we'll remove the just-added code in a year or two.
2355 2018-05-19  Bruno Haible  <bruno@clisp.org>
2357         gnupload: Fix "gpg-agent is not available in this session" error.
2358         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
2360 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2362         crypto/af_alg: fix --help
2363         * m4/af_alg.m4: Avoid spurious newline in --help output.
2365 2018-05-13  Bruno Haible  <bruno@clisp.org>
2367         nl_langinfo: Fix compilation error on Android.
2368         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
2369         INT_CURR_SYMBOL, etc. only if these items are defined.
2371 2018-05-13  Bruno Haible  <bruno@clisp.org>
2373         truncate: Fix compilation error on Android.
2374         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
2375         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
2376         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
2377         HAVE_TRUNCATE.
2378         * modules/truncate: Likewise.
2379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
2380         not HAVE_TRUNCATE.
2381         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
2382         HAVE_TRUNCATE.
2383         * doc/posix-functions/truncate.texi: Mention the issue.
2385 2018-05-13  Bruno Haible  <bruno@clisp.org>
2387         pthread: Fix compilation error on Android.
2388         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
2389         recursive inclusion of this file.
2391 2018-05-13  Bruno Haible  <bruno@clisp.org>
2393         posix_spawn: Fix compilation error on Android.
2394         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
2395         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
2396         (posix_spawn_file_actions_t): Consider also the case
2397         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
2399 2018-05-13  Bruno Haible  <bruno@clisp.org>
2401         tsearch: Move from K&R C to ANSI C.
2402         * lib/tsearch.c (tfind): Convert definition to ANSI C.
2404 2018-05-13  Bruno Haible  <bruno@clisp.org>
2406         tsearch: Fix compilation error on Android.
2407         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
2408         is 0.
2409         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
2410         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
2411         GNULIB_defined_tsearch is true.
2412         (twalk): Define only if GNULIB_defined_twalk is true.
2413         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
2414         is 0.
2415         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
2416         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
2417         * modules/search (Makefile.am): Substitute HAVE_TWALK.
2419 2018-05-13  Bruno Haible  <bruno@clisp.org>
2421         imaxdiv: Fix compilation error on Android.
2422         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
2423         is not defined.
2424         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
2425         HAVE_DECL_IMAXDIV, is 0.
2426         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
2427         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
2429 2018-05-13  Bruno Haible  <bruno@clisp.org>
2431         Support selective inclusion mechanism of recent mingw.org header files.
2432         Reported by Eli Zaretskii <eliz@gnu.org>.
2433         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
2434         __need_ssize_t, or __need_time_t is defined, just include the system's
2435         <sys/types.h>.
2436         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
2437         include the system's <locale.h>.
2439 2018-05-13  Bruno Haible  <bruno@clisp.org>
2441         Avoid compilation error due to 'mmap' on Android.
2442         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
2443         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
2444         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
2445         Undefine on Android.
2447 2018-05-13  Bruno Haible  <bruno@clisp.org>
2449         Add cross-compilation guesses for Linux systems without glibc.
2450         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
2451         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2452         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2453         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2454         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
2455         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2456         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2457         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
2458         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2459         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
2460         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2461         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2462         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2463         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2464         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2465         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2466         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2467         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2469 2018-05-13  Bruno Haible  <bruno@clisp.org>
2471         getpagesize: Fix compilation error on Android.
2472         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
2473         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
2474         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
2475         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
2476         HAVE_GETPAGESIZE accordingly.
2477         * modules/getcwd (Files): Add m4/getpagesize.m4.
2479 2018-05-13  Bruno Haible  <bruno@clisp.org>
2481         tcgetsid: Fix compilation error on Android.
2482         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
2483         AC_CHECK_FUNC.
2485 2018-05-13  Bruno Haible  <bruno@clisp.org>
2487         getpass: Fix configure test for Android.
2488         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
2489         AC_CHECK_FUNC.
2491 2018-05-13  Bruno Haible  <bruno@clisp.org>
2493         ffs: Fix compilation error on Android.
2494         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
2496 2018-05-13  Bruno Haible  <bruno@clisp.org>
2498         mkfifo: Fix compilation error on Android.
2499         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
2500         AC_CHECK_FUNC.
2502 2018-05-13  Bruno Haible  <bruno@clisp.org>
2504         c-strtod: Fix configure test for Android.
2505         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
2506         AC_CHECK_FUNC.
2508 2018-05-13  Bruno Haible  <bruno@clisp.org>
2510         random: Fix compilation error on Android.
2511         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
2512         AC_CHECK_FUNC.
2514 2018-05-13  Bruno Haible  <bruno@clisp.org>
2516         grantpt: Fix compilation error on Android.
2517         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
2518         AC_CHECK_FUNC.
2520 2018-05-13  Bruno Haible  <bruno@clisp.org>
2522         stdioext: Fix compilation errors with newer Android headers.
2523         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
2524         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
2525         fallbacks for Android.
2526         * lib/fpending.c: Update comments.
2527         * lib/fpurge.c: Likewise.
2528         * lib/freadable.h: Likewise.
2529         * lib/freadable.c: Likewise.
2530         * lib/freadahead.c: Likewise.
2531         * lib/freading.h: Likewise.
2532         * lib/freadptr.c: Likewise.
2533         * lib/fseterr.c: Likewise.
2534         * lib/fwritable.h: Likewise.
2535         * lib/fwritable.c: Likewise.
2536         * lib/fwriting.h: Likewise.
2537         * lib/fwriting.c: Likewise.
2539 2018-05-13  Bruno Haible  <bruno@clisp.org>
2541         doc: Add info about Android versions 2.0 to 8.1.
2542         * doc/**/*.texi: Add info about functions in all released versions of
2543         Bionic.
2545 2018-05-12  Bruno Haible  <bruno@clisp.org>
2547         fseeko: On mingw, don't use the hidden function _fseeki64.
2548         Reported by Eli Zaretskii <eliz@gnu.org>.
2549         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
2550         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
2552 2018-05-12  Bruno Haible  <bruno@clisp.org>
2554         glob: Choose 'dirent_type' in a way that works better on mingw.
2555         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
2556         * lib/glob.c (dirent_type): Define as uint_fast32_t.
2558 2018-05-12  Bruno Haible  <bruno@clisp.org>
2560         execute, spawn-pipe: Avoid warning about redefining 'close'.
2561         Reported by Eli Zaretskii <eliz@gnu.org>.
2562         * lib/execute.c: Undefine 'close' before redefining it.
2563         * lib/spawn-pipe.c: Likewise.
2565 2018-05-12  Bruno Haible  <bruno@clisp.org>
2567         nanosleep: Avoid test failure on mingw when it has nanosleep.
2568         Reported by Eli Zaretskii <eliz@gnu.org>.
2569         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
2570         If it does not exist, use a simpler test program that does not call
2571         alarm().
2573 2018-05-10  Bruno Haible  <bruno@clisp.org>
2575         lock, cond, thread, tls: Use a different symbol as libpthread witness.
2576         Reported by Devin Hussey <husseydevin@gmail.com>.
2577         Based on a patch by Paul Eggert.
2578         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
2579         as witness of libpthread.
2580         * lib/glthread/cond.h (pthread_in_use): Likewise.
2581         * lib/glthread/thread.h (pthread_in_use): Likewise.
2582         * lib/glthread/tls.h (pthread_in_use): Likewise.
2584 2018-05-10  Bruno Haible  <bruno@clisp.org>
2586         cond tests: Fix compilation error on Solaris.
2587         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
2588         macro.
2590 2018-05-10  Bruno Haible  <bruno@clisp.org>
2592         doc: Add partial info about Android 4.3.
2593         * doc/*-functions/*.texi: Add info about functions that were added
2594         to Bionic between Android 4.3 and Android 9.0.
2596 2018-05-10  Bruno Haible  <bruno@clisp.org>
2598         doc: Add info about Android 9.0.
2599         * doc/**/*.texi: Add info about functions and headers in Bionic from
2600         Android 9.0.
2602 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
2604         af_alg: fix my typo in afalg_buffer
2605         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
2606         (afalg_stream): Simplify and avoid the need for a runtime test
2607         at the end.
2609         af_alg: recover better from crypto failures
2610         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
2611         input stream is seekable, by repositioning the stream back to
2612         where it was, possibly by just calling sendfile with an offset
2613         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
2614         cases, which lets our callers try again with user-mode code.
2615         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
2616         instead of on fflush and lseek.
2618         af_alg: distiguish I/O errors better
2619         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
2620         not -EIO, if it’s OK for the caller to try again with user-mode code.
2621         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
2622         some other error number) if fflush fails, as the caller should not
2623         try again that case.
2625         af_alg: avoid gotos
2626         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
2627         gotos, as they were a source of unreliability and made the code a
2628         bit harder to follow.
2630         af_alg: don’t leak file descriptors into children
2631         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
2632         This code should be compiled only on recent GNU/Linux platforms
2633         so we shouldn’t have to also depend on the accept4 module.
2635         af_alg: coalesce socket creation
2636         * lib/af_alg.c (alg_socket): New function.
2637         (afalg_buffer, afalg_stream): Use it.  This avoids some
2638         code duplication and gotos.
2640         af_alg: fix file descriptor leak
2641         * lib/af_alg.c (afalg_stream): Close leak.
2643         af_alg: Pacify --enable-gcc-warnings on GCC 8
2644         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
2645         and checking to pacify gcc -Wjump-misses-init on GCC 8.
2647 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2649         af_alg: Pacify --enable-gcc-warnings
2650         Problem reported by Assaf Gordon in:
2651         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
2652         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
2653         gcc -Wjump-misses-init.
2654         * lib/sha512.c (shaxxx_stream): Now static.
2656 2018-05-06  Bruno Haible  <bruno@clisp.org>
2658         af_alg: Add ability to use Linux kernel crypto API on data in memory.
2659         * lib/af_alg.h (afalg_buffer): New declaration.
2660         * lib/af_alg.c (afalg_buffer): New function.
2662 2018-05-06  Bruno Haible  <bruno@clisp.org>
2664         af_alg: Avoid warnings.
2665         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
2666         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
2668 2018-05-06  Bruno Haible  <bruno@clisp.org>
2670         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
2671         * tests/bench-digest.h: New file.
2672         * tests/bench-md5.c: New file.
2673         * tests/bench-sha1.c: New file.
2674         * tests/bench-sha224.c: New file.
2675         * tests/bench-sha256.c: New file.
2676         * tests/bench-sha384.c: New file.
2677         * tests/bench-sha512.c: New file.
2678         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
2679         tests/bench-digest.h.
2680         (Depends-on): Add getrusage, gettimeofday.
2681         (Makefile.am): Add variables to build bench-md5.
2682         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
2683         tests/bench-digest.h.
2684         (Depends-on): Add getrusage, gettimeofday.
2685         (Makefile.am): Add variables to build bench-sha1.
2686         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
2687         tests/bench-sha256.c, tests/bench-digest.h.
2688         (Depends-on): Add getrusage, gettimeofday.
2689         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
2690         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
2691         tests/bench-sha512.c, tests/bench-digest.h.
2692         (Depends-on): Add getrusage, gettimeofday.
2693         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
2695 2018-05-06  Bruno Haible  <bruno@clisp.org>
2697         af_alg: Fix a resource leak.
2698         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
2699         New local variable 'result'.
2701 2018-05-06  Bruno Haible  <bruno@clisp.org>
2703         af_alg: Fix bug with streams that are not at position 0.
2704         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
2705         assume that the stream is positioned at position 0.
2706         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
2707         of the stream.
2708         * lib/md5.h (md5_stream): Likewise.
2709         * lib/sha1.h (sha1_stream): Likewise.
2710         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
2711         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
2712         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
2714         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
2715         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
2716         stream that is not positioned at the beginning.
2718 2018-05-06  Bruno Haible  <bruno@clisp.org>
2720         af_alg: Add configure option to enable/disable use of Linux crypto API.
2721         Suggested by Assaf Gordon <assafgordon@gmail.com>.
2722         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
2723         USE_LINUX_CRYPTO_API.
2724         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
2725         * lib/af_alg.c: Likewise.
2727 2018-05-06  Bruno Haible  <bruno@clisp.org>
2729         Followup to 'af_alg: New module.'.
2730         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
2731         * modules/crypto/sha1 (Depends-on): Likewise.
2732         * modules/crypto/sha256 (Depends-on): Likewise.
2733         * modules/crypto/sha512 (Depends-on): Likewise.
2735 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2737         crypto/{md5,sha1,sha256,sha512}: simplify
2738         * lib/md5.c (md5_stream):
2739         * lib/sha1.c (sha1_stream):
2740         * lib/sha256.c (shaxxx_stream):
2741         Simplify, partly by assuming C99.
2742         * lib/sha256.c (shaxxx_stream):
2743         New function, which implements both sha256 and sha224.
2744         Simplify, partly by assuming C99.
2745         (sha256_stream, sha224_stream):
2746         Use it to avoid code duplication, removing a FIXME.
2747         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2748         Likewise.
2750         af_alg: Improve comments.
2751         * lib/af_alg.h: Use imperatives and tighten up wording.
2753 2018-05-05  Bruno Haible  <bruno@clisp.org>
2755         af_alg: Improve comments.
2756         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2758 2018-05-05  Bruno Haible  <bruno@clisp.org>
2760         af_alg: New module.
2761         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2762         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2763         * lib/md5.c: Include "af_alg.h" unconditionally.
2764         (md5_stream): Invoke afalg_stream unconditionally.
2765         * lib/sha1.c: Include "af_alg.h" unconditionally.
2766         (sha1_stream): Invoke afalg_stream unconditionally.
2767         * lib/sha256.c: Include "af_alg.h" unconditionally.
2768         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2769         * lib/sha512.c: Include "af_alg.h" unconditionally.
2770         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2771         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2772         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2773         * modules/crypto/af_alg: New file.
2774         * modules/crypto/md5 (Files): Remove files that are now in the
2775         'crypto/af_alg' module.
2776         (Depends-on): Add crypto/af_alg.
2777         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2778         (Makefile.am): Don't mention af_alg.c here.
2779         * modules/crypto/sha1 (Files): Remove files that are now in the
2780         'crypto/af_alg' module.
2781         (Depends-on): Add crypto/af_alg.
2782         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2783         (Makefile.am): Don't mention af_alg.c here.
2784         * modules/crypto/sha256 (Files): Remove files that are now in the
2785         'crypto/af_alg' module.
2786         (Depends-on): Add crypto/af_alg.
2787         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2788         (Makefile.am): Don't mention af_alg.c here.
2789         * modules/crypto/sha512 (Files): Remove files that are now in the
2790         'crypto/af_alg' module.
2791         (Depends-on): Add crypto/af_alg.
2792         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2793         (Makefile.am): Don't mention af_alg.c here.
2795 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2797         crypto tests: pacify GCC
2798         * tests/test-digest.h (test_digest_on_files):
2799         Don’t assume digest size fits in int (!).
2801         af_alg: minor style improvements
2802         * lib/af_alg.c (afalg_stream): Prefer C99 style
2803         decl-after-statement, since we’re already assuming C99.  Clarify
2804         by strengthening the bind test and omit unnecessary assignment.
2806 2018-05-05  Bruno Haible  <bruno@clisp.org>
2808         af_alg: Fix bug on empty files.
2809         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2810         stream is empty.
2812 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2814         sys-limits.h: new file for crypto and safe I/O
2815         * lib/af_alg.c: Include sys-limits.h.
2816         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2817         (afalg_stream): Also reject negative sizes for sendfile; they
2818         should not happen and the code is a bit cleaner and faster this way.
2819         * lib/safe-read.c: Include sys-limits.h.
2820         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2821         * lib/sys-limits.h: New file, with values and commentary derived
2822         from the old safe-read.c and from GNU Emacs sysdep.c.
2823         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2824         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2825         Add lib/sys-limits.h to Files section.
2827 2018-05-05  Bruno Haible  <bruno@clisp.org>
2829         af_alg: Improve function signature.
2830         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2831         * lib/af_alg.c (afalg_stream): Likewise.
2832         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2834 2018-05-05  Bruno Haible  <bruno@clisp.org>
2836         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2837         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2838         * modules/crypto/sha1 (Depends-on): Likewise.
2839         * modules/crypto/sha256 (Depends-on): Likewise.
2840         * modules/crypto/sha512 (Depends-on): Likewise.
2842 2018-05-05  Bruno Haible  <bruno@clisp.org>
2844         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2845         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2846         * modules/crypto/sha1 (Depends-on): Likewise.
2847         * modules/crypto/sha256 (Depends-on): Likewise.
2848         * modules/crypto/sha512 (Depends-on): Likewise.
2850 2018-05-05  Bruno Haible  <bruno@clisp.org>
2852         af_alg: Add documentation.
2853         * lib/af_alg.h: Add comments.
2855 2018-05-05  Bruno Haible  <bruno@clisp.org>
2857         sha512: Add tests.
2858         * tests/test-sha512.c: New file.
2859         * modules/crypto/sha512-tests: New file.
2861 2018-05-05  Bruno Haible  <bruno@clisp.org>
2863         sha256: Add tests.
2864         * tests/test-sha256.c: New file.
2865         * modules/crypto/sha256-tests: New file.
2867 2018-05-05  Bruno Haible  <bruno@clisp.org>
2869         sha1 tests: Add test for sha1_stream.
2870         * tests/test-sha1.c: Include test-digest.h.
2871         (main): Invoke test_digest_on_files on 'sha1_stream'.
2872         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2874 2018-05-05  Bruno Haible  <bruno@clisp.org>
2876         md5 tests: Add test for md5_stream.
2877         * tests/test-digest.h: New file.
2878         * tests/test-md5.c: Include test-digest.h.
2879         (main): Invoke test_digest_on_files on 'md5_stream'.
2880         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2882 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2884         md5sum: Use AF_ALG when available.
2885         * lib/md5.c: Include af_alg.h.
2886         (md5_stream): Use afalg_stream when available.
2887         * modules/crypto/md5 (Files): Add the af_alg files.
2888         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2889         (Makefile.am): Add af_alg.c.
2891 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2893         sha512sum: Use AF_ALG when available.
2894         * lib/sha512.c: Include af_alg.h.
2895         (sha512_stream, sha384_stream): Use afalg_stream when available.
2896         * modules/crypto/sha512 (Files): Add the af_alg files.
2897         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2898         (Makefile.am): Add af_alg.c.
2900 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2902         sha256sum: Use AF_ALG when available.
2903         * lib/sha256.c: Include af_alg.h.
2904         (sha256_stream, sha224_stream): Use afalg_stream when available.
2905         * modules/crypto/sha256 (Files): Add the af_alg files.
2906         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2907         (Makefile.am): Add af_alg.c.
2909 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2911         sha1sum: Use AF_ALG when available.
2912         * lib/af_alg.h: New file.
2913         * lib/af_alg.c: New file.
2914         * lib/sha1.c: Include af_alg.h.
2915         (sha1_stream): Use afalg_stream when available.
2916         * m4/linux-if-alg.m4: New file.
2917         * modules/crypto/sha1 (Files): Add the new files.
2918         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2919         (Makefile.am): Add af_alg.c.
2921 2018-05-05  Bruno Haible  <bruno@clisp.org>
2923         all: Replace more http URLs by https URLs.
2924         * lib/localename.c: Use https: URL.
2925         * lib/timespec.h: Likewise.
2927 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2929         maint: port more modules to GCC 8
2930         * lib/dirname.h (base_name):
2931         * lib/exclude.h (new_exclude):
2932         * lib/xstrndup.h (xstrndup):
2933         Add malloc attribute.
2934         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2935         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2936         This pacifies GCC 8.
2937         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2938         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2940 2018-05-03  Bruno Haible  <bruno@clisp.org>
2942         Simplify code. Drop support for Borland C++ on Windows.
2943         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2944         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2945         'defined _WIN32'.
2946         * lib/canonicalize-lgpl.c: Likewise.
2947         * lib/classpath.c: Likewise.
2948         * lib/clean-temp.c: Likewise.
2949         * lib/csharpexec.c: Likewise.
2950         * lib/ctime.c: Likewise.
2951         * lib/dosname.h: Likewise.
2952         * lib/dup2.c: Likewise.
2953         * lib/errno.in.h: Likewise.
2954         * lib/error.c: Likewise.
2955         * lib/euidaccess.c: Likewise.
2956         * lib/execute.c: Likewise.
2957         * lib/fcntl.in.h: Likewise.
2958         * lib/fcntl.c: Likewise.
2959         * lib/filename.h: Likewise.
2960         * lib/findprog.c: Likewise.
2961         * lib/flock.c: Likewise.
2962         * lib/fopen.c: Likewise.
2963         * lib/freopen.c: Likewise.
2964         * lib/fstat.c: Likewise.
2965         * lib/fsync.c: Likewise.
2966         * lib/gc-gnulib.c: Likewise.
2967         * lib/get-rusage-data.c: Likewise.
2968         * lib/getaddrinfo.c: Likewise.
2969         * lib/getdelim.c: Likewise.
2970         * lib/getdtablesize.c: Likewise.
2971         * lib/gethostname.c: Likewise.
2972         * lib/getlogin.c: Likewise.
2973         * lib/getlogin_r.c: Likewise.
2974         * lib/getopt.c: Likewise.
2975         * lib/getpagesize.c: Likewise.
2976         * lib/getpass.c: Likewise.
2977         * lib/getrusage.c: Likewise.
2978         * lib/gettimeofday.c: Likewise.
2979         * lib/glob.c: Likewise.
2980         * lib/inttypes.in.h: Likewise.
2981         * lib/isapipe.c: Likewise.
2982         * lib/javaexec.c: Likewise.
2983         * lib/link.c: Likewise.
2984         * lib/localcharset.c: Likewise.
2985         * lib/localename.h: Likewise.
2986         * lib/localename.c: Likewise.
2987         * lib/localtime.c: Likewise.
2988         * lib/lseek.c: Likewise.
2989         * lib/mbsinit.c: Likewise.
2990         * lib/mkdir.c: Likewise.
2991         * lib/msvc-nothrow.h: Likewise.
2992         * lib/nanosleep.c: Likewise.
2993         * lib/nl_langinfo.c: Likewise.
2994         * lib/nonblocking.c: Likewise.
2995         * lib/nproc.c: Likewise.
2996         * lib/open.c: Likewise.
2997         * lib/openpty.c: Likewise.
2998         * lib/pathmax.h: Likewise.
2999         * lib/pipe-filter-aux.c: Likewise.
3000         * lib/pipe-filter-gi.c: Likewise.
3001         * lib/pipe-filter-ii.c: Likewise.
3002         * lib/pipe.c: Likewise.
3003         * lib/pipe2.c: Likewise.
3004         * lib/poll.c: Likewise.
3005         * lib/popen.c: Likewise.
3006         * lib/posix_openpt.c: Likewise.
3007         * lib/printf-parse.c: Likewise.
3008         * lib/progreloc.c: Likewise.
3009         * lib/putenv.c: Likewise.
3010         * lib/read.c: Likewise.
3011         * lib/relocatable.c: Likewise.
3012         * lib/rename.c: Likewise.
3013         * lib/same-inode.h: Likewise.
3014         * lib/secure_getenv.c: Likewise.
3015         * lib/select.c: Likewise.
3016         * lib/sethostname.c: Likewise.
3017         * lib/setlocale.c: Likewise.
3018         * lib/sigaction.c: Likewise.
3019         * lib/sigprocmask.c: Likewise.
3020         * lib/sleep.c: Likewise.
3021         * lib/spawn-pipe.h: Likewise.
3022         * lib/spawn-pipe.c: Likewise.
3023         * lib/spawni.c: Likewise.
3024         * lib/stat-time.h: Likewise.
3025         * lib/stat-w32.c: Likewise.
3026         * lib/stat.c: Likewise.
3027         * lib/stdio.in.h: Likewise.
3028         * lib/stdio-impl.h: Likewise.
3029         * lib/stdio-read.c: Likewise.
3030         * lib/stdio-write.c: Likewise.
3031         * lib/stdlib.in.h: Likewise.
3032         * lib/strerror_r.c: Likewise.
3033         * lib/strftime-fixes.c: Likewise.
3034         * lib/sys_stat.in.h: Likewise.
3035         * lib/sys_types.in.h: Likewise.
3036         * lib/sys_wait.in.h : Likewise.
3037         * lib/system-quote.h: Likewise.
3038         * lib/system-quote.c: Likewise.
3039         * lib/tmpdir.c: Likewise.
3040         * lib/tzset.c: Likewise.
3041         * lib/uname.c: Likewise.
3042         * lib/unistd.in.h: Likewise.
3043         * lib/utime.in.h: Likewise.
3044         * lib/utime.c: Likewise.
3045         * lib/utimecmp.c: Likewise.
3046         * lib/utimens.c: Likewise.
3047         * lib/vasnprintf.c: Likewise.
3048         * lib/vma-iter.h: Likewise.
3049         * lib/vma-iter.c: Likewise.
3050         * lib/wait-process.c: Likewise.
3051         * lib/wcsftime.c: Likewise.
3052         * lib/wctype.in.h: Likewise.
3053         * lib/write.c: Likewise.
3054         * tests/nap.h: Likewise.
3055         * tests/test-cloexec.c: Likewise.
3056         * tests/test-dup-safer.c: Likewise.
3057         * tests/test-dup2.c: Likewise.
3058         * tests/test-dup3.c: Likewise.
3059         * tests/test-fcntl.c: Likewise.
3060         * tests/test-get-rusage-data.c: Likewise.
3061         * tests/test-getaddrinfo.c: Likewise.
3062         * tests/test-getlogin.h: Likewise.
3063         * tests/test-isatty.c: Likewise.
3064         * tests/test-localename.c: Likewise.
3065         * tests/test-mbrtowc-w32.c: Likewise.
3066         * tests/test-nonblocking.c: Likewise.
3067         * tests/test-nonblocking-pipe-main.c: Likewise.
3068         * tests/test-nonblocking-socket-main.c: Likewise.
3069         * tests/test-nonblocking-socket.h: Likewise.
3070         * tests/test-pipe.c: Likewise.
3071         * tests/test-pipe2.c: Likewise.
3072         * tests/test-poll.c: Likewise.
3073         * tests/test-pthread_sigmask1.c: Likewise.
3074         * tests/test-select.h: Likewise.
3075         * tests/test-sethostname2.c: Likewise.
3076         * tests/test-sigprocmask.c: Likewise.
3077         * tests/test-spawn-pipe-child.c: Likewise.
3078         * tests/test-stat-time.c: Likewise.
3079         * tests/test-system-quote-main.c: Likewise.
3080         * tests/test-utimens-common.h: Likewise.
3081         * tests/test-wcrtomb-w32.c: Likewise.
3082         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
3083         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3084         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
3085         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
3086         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
3087         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3088         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3089         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3090         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3091         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
3092         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
3093         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
3094         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3095         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3096         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
3097         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3099 2018-05-02  Bruno Haible  <bruno@clisp.org>
3101         localename: Fix test failures on mingw.
3102         * lib/localename.c (gl_locale_name_thread): Remove code specific to
3103         native Windows.
3104         (gl_locale_name_posix): Move code specific to native Windows here.
3105         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
3106         Accept result without charset suffix, as it appears on mingw.
3108 2018-04-28  Paul Smith  <psmith@gnu.org>
3110         bootstrap: Avoid gnulib operations if not needed
3111         * build-aux/bootstrap: Remove unused variable gnulib_mk.
3112         Set $gnulib_extra_files early so it can be overridden in .conf.
3113         Remove redundant --import flag from $gnulib_tool_options.
3114         Set $use_gnulib to false if no gnulib modules or files are needed.
3115         If $use_gnulib is false, don't do anything related to gnulib.
3116         A lot of this is just whitespace (indentation) changes.
3118 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
3120         manywarnings: port to GCC 8.0
3121         * build-aux/gcc-warning.spec: Add -Wcatch-value,
3122         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
3123         fact that the GCC help message now mentions operands for
3124         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
3125         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
3126         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
3127         and -Wunused-const-variable.
3128         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
3129         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
3130         -Wmissing-attributes, -Wmultistatement-macros,
3131         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
3132         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
3134 2018-04-24  Bruno Haible  <bruno@clisp.org>
3136         sys_socket: Make SO_REUSEPORT available across platforms.
3137         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3138         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
3139         * doc/posix-headers/sys_socket.texi: Mention the issue.
3140         * tests/test-poll.c (SO_REUSEPORT): Remove.
3141         * tests/test-select.h: Include <sys/socket.h>.
3142         (SO_REUSEPORT): Remove.
3143         * modules/select-tests (Depends-on): Add 'sys_socket'.
3145 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
3147         localcharset: short-circuit the search for an alias on a Mac
3148         * lib/localcharset.c (get_charset_aliases): Add a tautological
3149         UTF-8 entry to speed up the search for this case.
3150         Most machines default to a UTF-8 locale nowadays, so begin the
3151         list of aliases with a dummy UTF-8 entry so it will be found
3152         immediately and a time-consuming search through the rest of
3153         the list is avoided.
3155 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
3157         fts: add comment
3158         * lib/fts.c (fts_build): Explain why ==, not >.
3159         See remark by Bernhard Voelker in:
3160         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
3162         fts: fix bug in find across filesystems
3163         This fixes a bug I introduced last summer.
3164         Problem reported by Kamil Dudka in:
3165         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
3166         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
3167         (leaf_optimization):
3168         New arg for file descriptor.  All callers changed.
3169         (fts_build): Check for whether inodes should be sorted
3170         before closing the directory.
3172 2018-04-07  Bruno Haible  <bruno@clisp.org>
3174         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
3175         Reported by Genki Sky <sky@genki.is>.
3176         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
3177         version 0.9.10 or newer.
3178         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
3179         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
3180         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
3181         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
3182         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
3184 2018-04-07  Bruno Haible  <bruno@clisp.org>
3186         execute: Update comment.
3187         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
3189 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3191         fts: treat CIFS like NFS
3192         Problem reported by Kamil Dudka in:
3193         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
3194         * lib/fts.c (S_MAGIC_CIFS): New macro.
3195         (dirent_inode_sort_may_be_useful, leaf_optimization):
3196         Treat CIFS like NFS.
3198 2018-03-28  Bruno Haible  <bruno@clisp.org>
3200         c-stack: Fix possible build failure on some platforms.
3201         * lib/c-stack.c (die): Define whenever this function is referenced.
3203 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
3205         time_rz: fix workaround for Mac OS X 10.6 infloop
3206         Problems reported by Charles A. Roelli (Bug#27736#117).
3207         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
3208         Also, discard output, which clutters the 'configure' log.
3210 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3212         havelib: port to Solaris 10 /bin/sh
3213         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
3214         instead of '! test EXPR'.
3216 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
3218         time_rz: work around Mac OS X 10.6 infloop
3219         * doc/posix-functions/localtime.texi:
3220         * doc/posix-functions/localtime_r.texi: Mention the bug.
3221         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
3222         better to fix localtime and localtime_r instead, but that would be
3223         more work and is not needed to fix the Emacs problem.
3224         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
3226 2018-03-24  Jim Meyering  <meyering@fb.com>
3228         test-version-etc.sh: don't use diff directly: use init.sh's compare
3229         We'd rather not sacrifice readable "diff -u" output even for
3230         "diff -c" output (not supported by busybox) or for even less
3231         readable ed-style "diff" output.  So use init.sh's compare function
3232         * tests/test-version-etc.sh: Source init.sh and add "." to path.
3233         Remove "./" from invocation of test-version-etc, so we use path.
3234         And s/diff/compare/.
3235         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
3236         to get init.sh.
3237         Prompted by Eric Blake's comments in
3238         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
3240 2018-03-24  Bruno Haible  <bruno@clisp.org>
3242         javacomp-script, javacomp: Add support for Java 10.
3243         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
3244         target-version 10.
3245         * lib/javaversion.h: Update comments.
3246         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3247         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3248         TARGET_VERSION_BOUND, target_version_index,
3249         corresponding_classfile_version): Accept source_version 10 and
3250         target_version 10.
3251         * lib/javacomp.h: Update comments accordingly.
3253 2018-03-24  Bruno Haible  <bruno@clisp.org>
3255         javacomp-script, javacomp: Update comments.
3256         * m4/javacomp.m4: Update comments regarding gcj.
3257         * lib/javacomp.h: Likewise.
3259 2018-03-24  Bruno Haible  <bruno@clisp.org>
3261         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
3262         * lib/javaversion.h: Update comments.
3263         * lib/javacomp.h: Likewise.
3264         * lib/javacomp.c (default_target_version, source_version_index,
3265         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
3266         "1.9".
3267         (TARGET_VERSION_BOUND): Bump to 9.
3268         (target_version_index, corresponding_classfile_version): Recognize "9"
3269         instead of "1.9".
3270         (get_source_version_for_javac): New function.
3271         (is_envjavac_nongcj_usable, is_javac_usable): Add
3272         source_version_for_javac argument.
3273         (compile_java_class): Determine and pass source_version_for_javac.
3274         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
3275         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
3276         appropriate.
3278 2018-03-23  Jim Meyering  <meyering@fb.com>
3280         test-version-etc.sh: port to diff without -c
3281         * tests/test-version-etc.sh: Don't use diff's -c option.
3282         This caused spurious test failure on Alpine Linux, which
3283         uses busybox's diff. Reported by Assaf Gordon in
3284         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
3286 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
3288         c-stack: port to recent GCC build
3289         Problem reported by The Fireplace (Bug#30913).
3290         * lib/c-stack.c (die): Define only if used.
3292 2018-03-20  Bruno Haible  <bruno@clisp.org>
3294         euidaccess: Port to native Windows.
3295         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
3296         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
3298 2018-03-19  Bruno Haible  <bruno@clisp.org>
3300         javacomp: Add support for Java 7, 8, 9.
3301         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3302         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3303         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
3304         and target_version 1,7, 1.8, 1.9.
3305         * lib/javacomp.h: Update comments accordingly.
3307 2018-03-19  Bruno Haible  <bruno@clisp.org>
3309         javacomp-script: Add support for Java 9.
3310         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
3311         target-version 1.9.
3313 2018-03-16  Bruno Haible  <bruno@clisp.org>
3315         glob: Don't compile replacements on recent glibc systems.
3316         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
3317         REPLACE_GLOB is 0, include the system's <glob.h> and use
3318         _GL_CXXALIAS_SYS.
3319         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
3320         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
3321         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
3322         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
3323         Remove snippet/warn-on-use.
3324         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
3325         (Makefile.am): Create glob.h always. Update list of substitutions in
3326         glob.h. Don't depend on $(WARN_ON_USE_H).
3328 2018-03-16  Bruno Haible  <bruno@clisp.org>
3330         glob: Fix link error on native Windows.
3331         * modules/glob (Depends-on): Add 'lstat'.
3333 2018-03-15  Bruno Haible  <bruno@clisp.org>
3335         glob: Fix compilation error in C++ mode.
3336         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
3338 2018-03-15  Bruno Haible  <bruno@clisp.org>
3340         host-cpu-c-abi: Support for RISC-V CPU.
3341         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
3342         riscv32 and riscv64 ABIs.
3343         References:
3344         https://github.com/riscv/riscv-toolchain-conventions
3345         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
3346         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
3348 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3350         fflush: be more paranoid about libio.h change
3351         Suggested by Eli Zaretskii in:
3352         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
3353         * lib/fbufmode.c (fbufmode):
3354         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3355         (disable_seek_optimization, rpl_fflush):
3356         * lib/fpending.c (__fpending):
3357         * lib/fpurge.c (fpurge):
3358         * lib/freadable.c (freadable):
3359         * lib/freadahead.c (freadahead):
3360         * lib/freading.c (freading):
3361         * lib/freadptr.c (freadptr):
3362         * lib/freadseek.c (freadptrinc):
3363         * lib/fseeko.c (fseeko):
3364         * lib/fseterr.c (fseterr):
3365         * lib/fwritable.c (fwritable):
3366         * lib/fwriting.c (fwriting):
3367         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
3369 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
3371         maint: write-file-hooks -> before-save-hook
3372         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
3373         it's time to use the recommended replacement.
3374         Problem reported by Glenn Morris in:
3375         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
3376         * build-aux/announce-gen, build-aux/bootstrap:
3377         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
3378         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
3379         * build-aux/gnu-web-doc-update, build-aux/gnupload:
3380         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
3381         * build-aux/update-copyright, build-aux/useless-if-before-free:
3382         * build-aux/vc-list-files:
3383         Update hook usage for files where Gnulib is the canonical source.
3385 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
3387         binary-io: pacify gcc -Wunused-parameter
3388         Problem reported by Reuben Thomas in:
3389         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
3390         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
3391         Use _GL_UNUSED where appropriate.
3393         fflush: adjust to glibc 2.28 libio.h removal
3394         Problem reported by Daniel P. Berrangé in:
3395         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
3396         * lib/fbufmode.c (fbufmode):
3397         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3398         (disable_seek_optimization, rpl_fflush):
3399         * lib/fpending.c (__fpending):
3400         * lib/fpurge.c (fpurge):
3401         * lib/freadable.c (freadable):
3402         * lib/freadahead.c (freadahead):
3403         * lib/freading.c (freading):
3404         * lib/freadptr.c (freadptr):
3405         * lib/freadseek.c (freadptrinc):
3406         * lib/fseeko.c (fseeko):
3407         * lib/fseterr.c (fseterr):
3408         * lib/fwritable.c (fwritable):
3409         * lib/fwriting.c (fwriting):
3410         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
3411         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
3412         Define if not already defined.
3414 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
3416         environ: fix link error on 32-bit Cygwin
3417         Problem reported for GNU Emacs by Ken Brown in:
3418         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
3419         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
3421 2018-02-24  Bruno Haible  <bruno@clisp.org>
3423         mbrtowc tests: Fix regression on glibc.
3424         Reported by Bernhard Voelker.
3425         * tests/test-mbrtowc.c (main): Fix expected value of wc.
3427 2018-02-24  Bruno Haible  <bruno@clisp.org>
3429         striconveha, uniconv/*: Avoid test failures on musl libc.
3430         * tests/iconvsupport.c: New file.
3431         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
3432         does not support the ISO-2022-JP-2 encoding.
3433         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3434         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3435         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3436         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3437         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3438         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3439         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
3440         (Makefile.am): Link test-striconveha with iconvsupport.o.
3441         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
3442         tests/iconvsupport.c.
3443         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
3444         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
3445         tests/iconvsupport.c.
3446         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
3447         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
3448         tests/iconvsupport.c.
3449         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
3450         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
3451         tests/iconvsupport.c.
3452         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
3453         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
3454         tests/iconvsupport.c.
3455         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
3456         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
3457         tests/iconvsupport.c.
3458         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
3460 2018-02-24  Bruno Haible  <bruno@clisp.org>
3462         localename: Add support for musl libc.
3463         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
3464         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
3465         on Linux platforms which define NL_LOCALE_NAME.
3467 2018-02-24  Bruno Haible  <bruno@clisp.org>
3469         mbrtowc tests: Don't make assumptions about the charset the C locale.
3470         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
3471         particular mapping in the C locale.
3473 2018-02-24  Bruno Haible  <bruno@clisp.org>
3475         ptsname_r: Don't expect that this function sets errno.
3476         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
3477         from ptsname_r().
3478         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
3480 2018-02-23  Bruno Haible  <bruno@clisp.org>
3482         xmalloca: pacify gcc -Wbad-function-cast
3483         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
3485 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3487         nl_langinfo: pacify gcc -Wunused-function
3488         * lib/nl_langinfo.c (ctype_codeset): Do not define if
3489         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
3490         this case.  Without this change, I got a diagnostic when building
3491         coreutils on Fedora 27 with gcc 7.3.1 20180130.
3493         same: pacify gcc -Wunused-variable
3494         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
3495         Omit unused variable.
3497         malloca: pacify gcc -Wbad-function-cast
3498         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
3499         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
3500         To pacify GCC, I had to cast alloca’s result to some type other
3501         than void * before casting that to uintptr_t.
3503 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3505         utimecmp: new function utimecmpat
3506         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
3507         Do not include utimens.h.
3508         (utimecmpat): New function, generalizing utimecmp.
3509         (utimecmp): Now a thin layer around utimecmpat.
3510         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
3511         utimensat instead of on lstat and utimens.
3513         same: new function same_nameat
3514         * lib/same.c: Include fcntl.h.
3515         * lib/same.c (same_nameat): New function, generalizing same_name.
3516         (same_name): Now a thin layer around same_nameat.
3517         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
3518         * modules/same (Depends-on): Depend on fstatat, openat.
3520 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
3522         warnings: Add support for Objective C.
3523         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
3524         macro.
3526 2018-02-17  Bruno Haible  <bruno@clisp.org>
3528         lock: Fix test-once1 crash on FreeBSD11.
3529         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
3530         'pthread_create', not 'pthread_cancel'.
3532 2018-02-17  Bruno Haible  <bruno@clisp.org>
3534         lock: Add test of gl_once.
3535         * tests/test-once.c: New file.
3536         * modules/lock-tests (Files): Add it.
3537         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
3539 2018-02-17  Bruno Haible  <bruno@clisp.org>
3541         thread: Fix compilation error on IRIX.
3542         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
3543         needed; include it outside the C++ extern "C" {} block.
3544         * doc/posix-headers/pthread.texi: Mention the problem with
3545         pthread_atfork on IRIX.
3547 2018-02-04  Bruno Haible  <bruno@clisp.org>
3549         nl_langinfo: Override the system's nl_langinfo() when needed.
3550         Reported by Jim Meyering.
3551         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
3552         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
3554 2018-02-04  Bruno Haible  <bruno@clisp.org>
3556         signal-h, monetary, strings: Fix build failure in some cases.
3557         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3558         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
3559         as delimiter in sed command, not '|'.
3560         * modules/monetary (Makefile.am): Likewise.
3561         * modules/strings (Makefile.am): Likewise.
3563 2018-02-03  Jim Meyering  <meyering@fb.com>
3565         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
3566         * top/maint.mk (sc_file_system): Don't complain about
3567         "/proc/filesystems".
3569 2018-02-03  Bruno Haible  <bruno@clisp.org>
3571         stdlib: Fix compilation error on OpenIndiana.
3572         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
3573         <sys/time.h>.
3574         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3575         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3577 2018-02-03  Bruno Haible  <bruno@clisp.org>
3579         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
3580         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
3581         and use $EGREP instead of 'grep -E'.
3582         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
3583         'grep -E'.
3585 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3587         malloca: Add a compile-time verification.
3588         * lib/malloca.c (small_t): Verify that it is wide enough.
3589         * modules/malloca (Depends-on): Add verify.
3591 2018-02-02  Bruno Haible  <bruno@clisp.org>
3593         malloca: Add an argument check.
3594         Suggested by Paul Eggert.
3595         * lib/malloca.c (freea): Check against an invalid argument.
3597 2018-02-02  Bruno Haible  <bruno@clisp.org>
3599         localename: Add support for OpenIndiana.
3600         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
3601         Solaris 11 variants with uselocale() but without getlocalename_l().
3603 2018-02-02  Bruno Haible  <bruno@clisp.org>
3605         malloca, xmalloca: Make multithread-safe.
3606         Reported by Florian Weimer <fweimer@redhat.com>.
3607         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
3608         * lib/malloca.h (malloca): In the stack allocation case, return a
3609         pointer that is a multiple of 2 * sa_alignment_max.
3610         (sa_increment): Remove enum item.
3611         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
3612         a pointer that is a multiple of 2 * sa_alignment_max.
3613         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
3614         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
3615         HASH_TABLE_SIZE, mmalloca_results): Remove.
3616         (small_t): New type.
3617         (mmalloca, free): Rewritten.
3618         * lib/malloca.valgrind: Remove file.
3619         * modules/malloca (Files): Remove it.
3620         (Depends-on): Remove verify.
3622 2018-01-31  Bruno Haible  <bruno@clisp.org>
3624         environ: Fix link error on 64-bit Cygwin.
3625         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
3626         __declspec(dllimport) attribute.
3627         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
3629 2018-01-30  Bruno Haible  <bruno@clisp.org>
3631         get-rusage-data: Add support for Minix 3.
3632         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
3634 2018-01-30  Bruno Haible  <bruno@clisp.org>
3636         vma-iter: Add support for Minix 3.
3637         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
3638         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
3640 2018-01-27  Bruno Haible  <bruno@clisp.org>
3642         Fix malfunction of socket functions on HP-UX in 64-bit mode.
3643         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
3644         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
3645         _HPUX_ALT_XOPEN_SOCKET_API.
3646         * modules/accept (Depends-on): Add 'extensions'.
3647         * modules/getpeername (Depends-on): Likewise.
3648         * modules/getsockname (Depends-on): Likewise.
3649         * modules/getsockopt (Depends-on): Likewise.
3650         * modules/recvfrom (Depends-on): Likewise.
3651         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
3652         * doc/posix-functions/getpeername.texi: Likewise.
3653         * doc/posix-functions/getsockname.texi: Likewise.
3654         * doc/posix-functions/getsockopt.texi: Likewise.
3655         * doc/posix-functions/recvfrom.texi: Likewise.
3657 2018-01-27  Bruno Haible  <bruno@clisp.org>
3659         getsockname tests: More tests.
3660         * tests/test-getsockname.c (open_server_socket): New function, mostly
3661         copied from test-poll.c.
3662         (main): Check that getsockname fills in addr.
3663         * modules/getsockname-tests (Depends-on): Add the necessary
3664         dependencies.
3665         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
3667 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3669         manywarnings: fix maintainer comment
3670         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
3671         it does not mistakenly think that ‘-1)’ is an option.
3673 2018-01-26  Bruno Haible  <bruno@clisp.org>
3675         langinfo: Fix last commit.
3676         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3677         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
3679 2018-01-24  Bruno Haible  <bruno@clisp.org>
3681         langinfo, nl_langinfo: Add support for alternative month names.
3682         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
3683         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
3684         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
3685         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
3686         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
3687         * doc/posix-functions/nl_langinfo.texi: Likewise.
3689 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3691         Merge strftime.c changes from glibc
3692         This incorporates:
3693         2017-11-14 [BZ #10871] Implement alternative month names
3694         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
3695         2017-06-20 Use locale_t, not __locale_t, throughout glibc
3696         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
3697         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
3698         Use locale_t, not __locale_t.
3699         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
3700         (__strftime_internal): Add support for alternate months.
3702 2018-01-23  Bruno Haible  <bruno@clisp.org>
3704         doc: Mention another prerequisite for using Gnulib.
3705         Reported at <https://stackoverflow.com/questions/48378214/>.
3706         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
3707         AC_CONFIG_HEADERS.
3709 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
3711         build: GuixSD doesn't have /bin/bash
3712         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
3714 2018-01-21  Bruno Haible  <bruno@clisp.org>
3716         Avoid test failures on Microsoft Windows Subsystem for Linux.
3717         * tests/test-fcntl.c (main): Allow a different errno.
3718         * tests/test-rename.h (test_rename): Likewise.
3719         * tests/test-renameat.c (main): Likewise.
3720         * tests/test-renameat2.c (main): Likewise.
3722 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
3724         filenamecat: make base a suffix of result
3725         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
3726         (mfile_name_concat): Always make BASE a suffix of the result, as
3727         cp expects this.  To implement this, separate with '.' instead of
3728         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
3729         * tests/test-filenamecat.c (main): Adjust tests to match
3730         current behavior.  Check that BASE_IN_RESULT points to
3731         a copy of BASE and is a suffix of the resultk, and that DIR
3732         is a prefix of the result that is no longer than the prefix
3733         indicated by BASE_IN_RESULT.
3735 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
3737         update-copyright: Handle use of ©
3738         * build-aux/update-copyright ($circle_c_re): Update regex to
3739         handle use of © in headers.
3741 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3743         Fix -Wundef warning in user-included header lib/cdefs.h.
3744         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3746 2018-01-04  Bruno Haible  <bruno@clisp.org>
3748         pthread_sigmask: Avoid compilation error on mingw.
3749         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3750         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3751         macro.
3753 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3755         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3756         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3757         Suggested by Bob Proulx (Bug#29968).
3758         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3760 2018-01-02  Eric Blake  <eblake@redhat.com>
3762         stat-time: silence -Wunused-parameter regression
3763         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3764         Prefer attribute over cast-to-void.
3765         (stat_time_normalize): Mark st as potentially unused.
3767 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3769         test-framework-sh: avoid netstat
3770         Problem reported by Kristýna Streitová (Bug#29947).
3771         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3772         deprecated on SuSE and it's not that important anyway.
3774 2018-01-01  Jim Meyering  <meyering@fb.com>
3776         update-copyright: add code to handle more special cases
3777         After running "make update-copyright" this year, five files
3778         required additional manual changes.  Automate those adjustments
3779         for next year.
3780         * Makefile (_year_and_prev): Define.
3781         (update-copyright): Add perl commands to induce this year's post-
3782         update-copyright adjustments.
3784 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3786         version-etc: new year
3787         * build-aux/gendocs.sh (version):
3788         * doc/gendocs_template:
3789         * doc/gendocs_template_min:
3790         * doc/gnulib.texi:
3791         * lib/version-etc.c (COPYRIGHT_YEAR):
3792         Update copyright dates by hand in templates and the like.
3794         maint: fix 'make update-copyright'
3795         * Makefile (update-copyright): Adjust to 2016-11-23 change
3796         to config/srclist-update, which changed the format of srclist.txt.
3798 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3800         chdir-safer: remove this module
3801         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3802         * NEWS: Document removal.
3803         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3804         * modules/chdir-safer: Remove these files.
3806 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3808         Add cross-compilation results for GNU/Hurd.
3809         * m4/calloc.m4: Add GNU/Hurd guess.
3810         * m4/cbrtl.m4: Likewise.
3811         * m4/ceil.m4: Likewise.
3812         * m4/ceilf.m4: Likewise.
3813         * m4/ceill.m4: Likewise.
3814         * m4/chown.m4: Likewise.
3815         * m4/duplocale.m4: Likewise.
3816         * m4/exp2l.m4: Likewise.
3817         * m4/expm1.m4: Likewise.
3818         * m4/fchdir.m4: Likewise.
3819         * m4/floor.m4: Likewise.
3820         * m4/floorf.m4: Likewise.
3821         * m4/fmod.m4: Likewise.
3822         * m4/fmodf.m4: Likewise.
3823         * m4/fmodl.m4: Likewise.
3824         * m4/getcwd.m4: Likewise.
3825         * m4/getgroups.m4: Likewise.
3826         * m4/gettimeofday.m4: Likewise.
3827         * m4/hypot.m4: Likewise.
3828         * m4/hypotf.m4: Likewise.
3829         * m4/hypotl.m4: Likewise.
3830         * m4/link-follow.m4: Likewise.
3831         * m4/link.m4: Likewise.
3832         * m4/linkat.m4: Likewise.
3833         * m4/log.m4: Likewise.
3834         * m4/log10.m4: Likewise.
3835         * m4/log10f.m4: Likewise.
3836         * m4/log1p.m4: Likewise.
3837         * m4/log1pf.m4: Likewise.
3838         * m4/log1pl.m4: Likewise.
3839         * m4/log2.m4: Likewise.
3840         * m4/log2f.m4: Likewise.
3841         * m4/logf.m4: Likewise.
3842         * m4/lstat.m4: Likewise.
3843         * m4/malloc.m4: Likewise.
3844         * m4/mbrlen.m4: Likewise.
3845         * m4/mbrtowc.m4: Likewise.
3846         * m4/mkdir.m4: Likewise.
3847         * m4/mkfifo.m4: Likewise.
3848         * m4/mknod.m4: Likewise.
3849         * m4/mkstemp.m4: Likewise.
3850         * m4/modf.m4: Likewise.
3851         * m4/modff.m4: Likewise.
3852         * m4/modfl.m4: Likewise.
3853         * m4/printf.m4: Likewise.
3854         * m4/pselect.m4: Likewise.
3855         * m4/ptsname.m4: Likewise.
3856         * m4/putenv.m4: Likewise.
3857         * m4/readlink.m4: Likewise.
3858         * m4/realloc.m4: Likewise.
3859         * m4/remainder.m4: Likewise.
3860         * m4/remainderf.m4: Likewise.
3861         * m4/remainderl.m4: Likewise.
3862         * m4/rmdir.m4: Likewise.
3863         * m4/round.m4: Likewise.
3864         * m4/roundf.m4: Likewise.
3865         * m4/roundl.m4: Likewise.
3866         * m4/select.m4: Likewise.
3867         * m4/setenv.m4: Likewise.
3868         * m4/signbit.m4: Likewise.
3869         * m4/sleep.m4: Likewise.
3870         * m4/stat.m4: Likewise.
3871         * m4/strerror.m4: Likewise.
3872         * m4/strtok_r.m4: Likewise.
3873         * m4/symlink.m4: Likewise.
3874         * m4/symlinkat.m4: Likewise.
3875         * m4/trunc.m4: Likewise.
3876         * m4/truncf.m4: Likewise.
3877         * m4/truncl.m4: Likewise.
3878         * m4/tzset.m4: Likewise.
3879         * m4/ungetc.m4: Likewise.
3880         * m4/usleep.m4: Likewise.
3881         * m4/wcwidth.m4: Likewise.
3883 2017-12-28  Bruno Haible  <bruno@clisp.org>
3885         gnulib-tool: Make --conditional-dependencies work better.
3886         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3887         * gnulib-tool (Options): Don't reject the combination of
3888         --conditional-dependencies with --with-tests.
3889         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3890         Don't reference $modules.
3891         (func_import, func_create_testdir): Pass it.
3893 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3895         regex: use re_malloc etc. consistently
3896         Problem and original patch reported by Arnold Robbins in:
3897         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3898         * lib/regcomp.c (re_comp):
3899         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3900         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3902 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3903             Paul Eggert  <eggert@cs.ucla.edu>
3905         glob: Silence warning about void pointer arithmetic.
3906         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3907         arithmetic.
3909 2017-12-15  Bruno Haible  <bruno@clisp.org>
3911         spawn-pipe: Silence a clang warning.
3912         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3913         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3914         in this file.
3916 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3918         explicit_bzero: port to macOS + Clang 9.0.0
3919         Problem reported by Marcus Johnson (Bug#29658).
3920         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3921         Don’t use asm.
3923 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3925         doc: Improve explanation of supporting relocatable libraries.
3926         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3927         properly how to build the relocatable module for
3928         libraries. (Method and example code from Bruno Haible.)
3930 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3932         doc: Use better texinfo tags in a few cases.
3933         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3934         instead of @samp in a few places.
3936 2017-12-11  Bruno Haible  <bruno@clisp.org>
3938         unistr/base: Update comment.
3939         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3941 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3943         test-faccessat.c: unlink temp file to avoid subsequent test failure
3944         * tests/test-faccessat.c: Remove the file to avoid failure
3945         to open the file on subsequent runs due to being created
3946         with no permissions.
3948 2017-12-10  Bruno Haible  <bruno@clisp.org>
3950         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3951         * doc/gnulib-tool.texi (Modified build rules): New node.
3953 2017-12-10  Bruno Haible  <bruno@clisp.org>
3955         doc: Tweak wording.
3956         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3957         "binaries".
3959 2017-12-05  Sam Steingold  <sds@gnu.org>
3960             Bruno Haible  <bruno@clisp.org>
3962         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3963         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3964         AC_EGREP_CPP pattern.
3966 2017-12-03  Bruno Haible  <bruno@clisp.org>
3968         all: Replace more http URLs by https URLs.
3969         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
3970         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
3971         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
3972         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
3974 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3976         Port better to CentOS 5
3977         Problems reported by Tom G. Christensen in:
3978         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
3979         * doc/glibc-functions/strverscmp.texi (strverscmp):
3980         Document strverscmp bug with glibc 2.9 and earlier.
3981         * doc/posix-functions/tzset.texi (tzset):
3982         Document that TZ with angle brackets is POSIX-2001 and later.
3983         * tests/test-nstrftime.c: Include unistd.h.
3984         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
3985         (TZ): Use it to skip tests with angle brackets in TZ,
3986         for older systems.
3988         stat: add missing module dependencies
3989         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
3990         Add stat-time.
3992 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
3994         stat: fix compilation failure on macOS Sierra
3995         Reported by Marius Schamschula <mschamschula@gmail.com> in:
3996         https://savannah.gnu.org/bugs/?52546
3997         * lib/stat.c: Add missing include of stat-time.h.
3999 2017-11-28  Jim Meyering  <meyering@fb.com>
4001         test-faccessat.c: correct BASE definition to avoid parallel test failure
4002         * tests/test-faccessat.c (BASE): Define using this file's name, not
4003         that of test-lstat.c.  Using the latter caused this test to fail
4004         sometimes when run concurrently with test-lstat.
4006 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4008         unicase: fix VPATH build
4009         * modules/unicase/special-casing (Makefile.am): Ensure that the
4010         base directory is created when generating
4011         unicase/special-casing.h.
4013 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4015         libunistring: update to Unicode 9.0.0
4016         * lib/gen-uni-tables.c (fill_properties): Recognize
4017         Sentence_Terminal and Prepended_Concatenation_Mark.
4018         (is_property_default_ignorable_code_point): Exclude U+08E2.
4019         (fill_arabicshaping): Allow missing whitespace when parsing;
4020         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
4021         (output_blocks): Increase the element size of the level1 table to
4022         accommodate more blocks.
4023         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
4024         Update each class according to the standard.
4025         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
4026         E_Base_GAZ characters.
4027         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
4028         Glue_After_Zwj, and E_Base_GAZ characters.
4029         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
4030         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
4031         enum value.
4032         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
4033         value.
4034         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
4035         LBP_ZWJ, LBP_EB, and LBP_EM.
4036         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
4037         enum value.
4038         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
4039         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
4040         declaration.
4041         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
4042         (uniwbrk_table): Implement WB14.
4043         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
4044         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
4045         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
4046         uc-is-grapheme-break.
4047         * modules/unigbrk/uc-grapheme-breaks: New module.
4048         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
4049         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
4050         enum value.
4051         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
4052         * lib/unigbrk/u-grapheme-breaks.h: New file.
4053         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
4054         u-grapheme-breaks.h instead of uc_is_grapheme_break.
4055         * lib/unigbrk/uc-grapheme-breaks.c: New file.
4056         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
4057         29.
4058         * tests/unigbrk/test-uc-gbrk-prop.c
4059         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4060         GBP_GAZ, and GBP_EBG.
4061         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
4062         * tests/unigbrk/test-uc-is-grapheme-break.c
4063         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4064         GBP_GAZ, and GBP_EBG.
4065         (main): Skip unsupported rules involving 3 or more characters,
4066         namely GB10, GB12, and GB13.
4067         * lib/uniwidth/width.c (nonspacing_table_data): Update.
4068         * all generated files under lib/uni* and tests/uni*: Regenerate.
4069         * all the affected modules: Bump version.
4071 2017-11-26  Bruno Haible  <bruno@clisp.org>
4073         strfmon_l: Fix compilation error with glibc 2.5.
4074         Reported by Tom G. Christensen <tgc@jupiterrise.com>
4075         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
4076         * lib/monetary.in.h: Include also <locale.h>.
4078 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4080         posixtm: remove PDS_LEADING_YEAR
4081         This changes the API slightly, in a hopefully-innocuous way.
4082         Without this change the code had undefined behavior when a
4083         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
4084         Problem reported by Pádraig Brady in:
4085         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
4086         * NEWS: Mention this.
4087         * lib/posixtm.c (posix_time_parse): Treat the absence of
4088         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
4089         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
4090         present, but define it as zero, for compatibility with existing
4091         source code).  All other PDS_* values moved up.
4092         * tests/test-posixtm.c (LY): New macro.
4093         (T): Use it.  Do not expect a particular numeric encoding
4094         for PDS_CENTURY etc.
4096 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4098         stat: work around Solaris bug with tv_nsec < 0
4099         * doc/posix-functions/fstat.texi (fstat):
4100         * doc/posix-functions/fstatat.texi (fstatat):
4101         * doc/posix-functions/lstat.texi (lstat):
4102         * doc/posix-functions/stat.texi (stat):
4103         Mention Solaris 11 bug.
4104         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
4105         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
4106         * lib/lstat.c (rpl_lstat):
4107         * lib/stat.c (rpl_stat):
4108         Normalize resulting timestamps.
4109         * lib/fstatat.c (normal_fstatat): New function.
4110         (rpl_fstatat): Use it.
4111         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
4112         (stat_time_normalize): New function.
4113         * m4/fstat.m4 (gl_FUNC_FSTAT):
4114         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
4115         * m4/lstat.m4 (gl_FUNC_LSTAT):
4116         * m4/stat.m4 (gl_FUNC_STAT):
4117         Replace on Solaris.
4118         * modules/fstat (Depends-on):
4119         * modules/fstatat (Depends-on):
4120         Add stat-time.
4121         * modules/stat-time (Depends-on): Add errno, intprops.
4123 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
4125         regex: merge from glibc
4126         * lib/regcomp.c (init_word_char): Add comments.
4128 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4130         regex: merge from glibc
4131         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
4132         * lib/regex_internal.h (internal_function): Remove.
4133         All uses removed.
4135 2017-11-20  Bruno Haible  <bruno@clisp.org>
4137         crypto/gc-sm3: Fix buffer overrun.
4138         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
4139         Reported by Coverity.
4141 2017-11-12  Jim Meyering  <meyering@fb.com>
4143         maint: shorten https://lists.gnu.org/archive/html/... links
4144         Each /archive/html/ part can be replace with /r/.
4145         Run this to induce the change:
4146         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
4147         * ChangeLog: Perform that substitution.
4148         * Makefile: Likewise.
4149         * STATUS-libposix: Likewise.
4150         * build-aux/bootstrap: Likewise.
4151         * doc/maintain.texi: Likewise.
4152         * gnulib-tool: Likewise.
4153         * lib/allocator.h: Likewise.
4154         * lib/argp-ba.c: Likewise.
4155         * lib/argp-pv.c: Likewise.
4156         * lib/canon-host.c: Likewise.
4157         * lib/canonicalize-lgpl.c: Likewise.
4158         * lib/float.in.h: Likewise.
4159         * lib/fstat.c: Likewise.
4160         * lib/getdelim.c: Likewise.
4161         * lib/getprogname.c: Likewise.
4162         * lib/glthread/thread.h: Likewise.
4163         * lib/intprops.h: Likewise.
4164         * lib/mbsrtowcs-state.c: Likewise.
4165         * lib/safe-read.c: Likewise.
4166         * lib/signal.in.h: Likewise.
4167         * lib/stat.c: Likewise.
4168         * lib/stdbool.in.h: Likewise.
4169         * lib/stdio-impl.h: Likewise.
4170         * lib/stdio.in.h: Likewise.
4171         * lib/sysexits.in.h: Likewise.
4172         * lib/timespec.h: Likewise.
4173         * lib/wcsrtombs-state.c: Likewise.
4174         * m4/alloca.m4: Likewise.
4175         * m4/extern-inline.m4: Likewise.
4176         * m4/fstatat.m4: Likewise.
4177         * m4/gnulib-common.m4: Likewise.
4178         * m4/lib-ignore.m4: Likewise.
4179         * m4/printf.m4: Likewise.
4180         * m4/regex.m4: Likewise.
4181         * m4/stat-size.m4: Likewise.
4182         * m4/std-gnu11.m4: Likewise.
4183         * m4/stdbool.m4: Likewise.
4184         * m4/sys_types_h.m4: Likewise.
4185         * m4/threadlib.m4: Likewise.
4186         * m4/vararrays.m4: Likewise.
4187         * pygnulib/GLImport.py: Likewise.
4188         * tests/test-exp.h: Likewise.
4189         * tests/test-exp2.h: Likewise.
4190         * tests/test-expm1.h: Likewise.
4191         * tests/test-fflush2.c: Likewise.
4192         * tests/test-getopt_long.h: Likewise.
4193         * tests/test-intprops.c: Likewise.
4194         * tests/test-log.h: Likewise.
4195         * tests/test-log10.h: Likewise.
4196         * tests/test-log1p.h: Likewise.
4197         * tests/test-log2.h: Likewise.
4198         * tests/test-printf-posix.h: Likewise.
4199         * tests/test-regex.c: Likewise.
4200         * tests/test-snprintf-posix.h: Likewise.
4201         * tests/test-sprintf-posix.h: Likewise.
4202         * tests/test-stdalign.c: Likewise.
4203         * tests/test-stdbool.c: Likewise.
4204         * tests/test-vasnprintf-posix.c: Likewise.
4205         * tests/test-vasprintf-posix.c: Likewise.
4206         * top/maint.mk: Likewise.
4208 2017-11-12  Bruno Haible  <bruno@clisp.org>
4210         faccessat: Make the last change more robust.
4211         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
4212         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
4214 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
4216         faccessat: port to macOS (Bug#29231)
4217         macOS faccessat has the same bug that lstat does: if the file
4218         name ends in '/' it ignores the trailing slash.
4219         Problem reported for Emacs by Vincent Zhang.
4220         * doc/posix-functions/faccessat.texi (faccessat): Document this.
4221         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
4222         around the initial includes.  Include errno.h, string.h, sys/stat.h.
4223         (orig_faccessat) [HAVE_FACCESSAT]: New function.
4224         Include "unistd.h" after defining it.
4225         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
4226         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
4227         Handle in the usual way.
4228         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
4229         lstat dereferences symlinks, since faccessat is likely to
4230         have the same problem.
4231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
4232         * modules/faccessat (Depends-on): Add fstatat.
4233         Depend if REPLACE_FACCESSAT is 1, too.
4234         (configure.ac): Link if REPLACE_FACCESSAT is 1.
4235         * modules/faccessat-tests (Depends-on): Add symlink.
4236         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
4237         * tests/test-faccessat.c (main): Test for the bug.
4239 2017-11-11  Bruno Haible  <bruno@clisp.org>
4241         getprogname: Fix compilation error on IRIX.
4242         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
4243         'namesize'.
4245 2017-11-11  Bruno Haible  <bruno@clisp.org>
4247         year2038: Tweak last patch.
4248         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
4250 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4252         year2038: be more insistent about 64-bit time_t
4253         Applications requiring access to arbitrary files should not be
4254         built with 32-bit time_t on hosts that have 64-bit timestamps,
4255         as this can lead to real trouble at runtime.
4256         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
4257         Check on all systems, not just MinGW.  Use a heuristic involving
4258         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
4259         output a failure or just a warning, to make it more likely that
4260         builders will select 64-bit time_t.
4262 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
4264         havelib: fix typo in previous change
4265         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
4267         Don’t use AC_EGREP_CPP if affected by CFLAGS
4268         * m4/float_h.m4 (gl_FLOAT_H):
4269         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
4270         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
4271         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
4272         * m4/year2038.m4 (gl_YEAR2038):
4273         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
4274         likely to be affected by the choice of CFLAGS, since CFLAGS are
4275         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
4276         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
4278         fstatat: pacify GCC on unusual platform
4279         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
4280         Omit, as it’s unused in this case.
4282 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
4284         timespec: prefer ‘assume’ to ‘assure’
4285         This avoids some runtime tests.  The rest of the module makes
4286         similar assumptions and there is little point to testing here.
4287         * lib/timespec.h: Include verify.h instead of assure.h.
4288         (timespec_cmp): Use ‘assume’, not ‘assure’.
4289         Also, remove an unnecessary cast to ‘int’, as lots of other
4290         code in this module now causes -Wconversion to complain, and
4291         this is a problem with -Wconversion not with the code.
4293         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
4295         Port recent gnulib-tool change to Dash
4296         * gnulib-tool (func_create_testdir): Don't assume that the shell
4297         retokenizes after expanding "$@" inside the call to
4298         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
4300 2017-10-27  Jim Meyering  <meyering@fb.com>
4302         timespec.h: use "assure" to avoid a spurious warning
4303         * lib/timespec.h: Include "assure.h" and use it to help
4304         gcc7's -Wstrict-overflow avoid a false positive warning
4305         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
4306         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
4307         * modules/timespec (Depends-on): Add assure.
4309 2017-10-29  Bruno Haible  <bruno@clisp.org>
4311         Avoid several test failures with traditional locales on Haiku.
4312         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
4313         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
4314         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
4315         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
4316         LOCALE_ZH_CN=none.
4318 2017-10-29  Bruno Haible  <bruno@clisp.org>
4320         strerror_r-posix: Fix behaviour and test failure on Haiku.
4321         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
4322         are positive. Work around return value 0 instead of ERANGE on Haiku.
4323         For unknown error numbers, use a format string consistent with perror().
4324         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
4325         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
4326         are positive.
4328 2017-10-29  Bruno Haible  <bruno@clisp.org>
4330         get-rusage-data: Avoid crash on Haiku.
4331         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
4333 2017-10-29  Bruno Haible  <bruno@clisp.org>
4335         get-rusage-as: Avoid crash on Haiku.
4336         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
4338 2017-10-29  Bruno Haible  <bruno@clisp.org>
4340         ilogbl: Ensure replacement on Haiku.
4341         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
4342         REPLACE_ILOGBL if ilogbl does not work.
4343         (gl_FUNC_ILOGBL_WORKS): New macro.
4344         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
4345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
4346         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
4347         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
4348         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
4350 2017-10-29  Bruno Haible  <bruno@clisp.org>
4352         expl: Ensure replacement on Haiku.
4353         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
4354         zero.
4355         * doc/posix-functions/expl.texi: Mention the Haiku problem.
4357 2017-10-29  Bruno Haible  <bruno@clisp.org>
4359         math: Fix test failure on Haiku.
4360         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
4361         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
4362         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
4363         * doc/posix-headers/math.texi: Mention the Haiku problem.
4365 2017-10-29  Bruno Haible  <bruno@clisp.org>
4367         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
4368         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
4369         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
4371 2017-10-29  Bruno Haible  <bruno@clisp.org>
4373         crypto/*: Verify that the header file is self-contained.
4374         * tests/test-gc-*.c: Include the module's header file immediately after
4375         <config.h>.
4376         * tests/test-hmac-*.c: Likewise.
4377         * tests/test-arcfour.c: Likewise.
4378         * tests/test-arctwo.c: Likewise.
4379         * tests/test-des.c: Likewise.
4380         * tests/test-md2.c: Likewise.
4381         * tests/test-md4.c: Likewise.
4382         * tests/test-md5.c: Likewise.
4383         * tests/test-rijndael.c: Likewise.
4384         * tests/test-sha1.c: Likewise.
4385         * tests/test-sm3.c: Likewise.
4387 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4388             Bruno Haible  <bruno@clisp.org>
4390         crypto/gc: fix build failure with -Werror=suggest-attribute=const
4391         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
4393 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4395         New module: crypto/gc-sm3
4396         * lib/gc.h: Declare SM3-related stuffs.
4397         * lib/gc-gnulib.c: Support sm3 in internal functions.
4398         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
4399         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
4400         * modules/crypto/gc-sm3: Define gc-sm3 module.
4401         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
4402         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
4403         * MODULES.html.sh: List gc-sm3 module.
4405 2017-10-29  Bruno Haible  <bruno@clisp.org>
4407         random, random_r: Mention different prototypes on Haiku.
4408         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
4409         * doc/glibc-functions/random_r.texi: Likewise.
4410         * doc/glibc-functions/initstate_r.texi: Likewise.
4411         * doc/glibc-functions/setstate_r.texi: Likewise.
4413 2017-10-28  Bruno Haible  <bruno@clisp.org>
4415         posix_spawn: Avoid spurious message in configure output.
4416         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
4417         'cmp' command.
4419 2017-10-28  Bruno Haible  <bruno@clisp.org>
4421         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
4422         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
4423         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4425 2017-10-28  Bruno Haible  <bruno@clisp.org>
4427         ioctl: Override non-POSIX declaration on Haiku.
4428         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
4429         * lib/sys_ioctl.in.h: Add comment about Haiku.
4430         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
4431         * doc/glibc-headers/sys_ioctl.texi: Likewise.
4433 2017-10-28  Bruno Haible  <bruno@clisp.org>
4435         crypto/sm3: Add overview documentation to the .h file.
4436         * lib/sm3.h: Add comments.
4438 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4440         New module: crypto/sm3
4441         This new module can be used to compute SM3 message digest of files or
4442         memory blocks according to the specification GM/T 004-2012
4443         Cryptographic Hash Algorithm SM3, published by State Cryptography
4444         Administration, China.
4445         The official SM3 cryptographic hash algorithm specification is
4446         available at
4447         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
4448         * lib/sm3.h: Declare the APIs of sm3 module.
4449         * lib/sm3.c: Implement SM3 hash algorithm.
4450         * m4/sm3.m4: m4 file for sm3 module.
4451         * modules/crypto/sm3: Define sm3 module.
4452         * tests/test-sm3.c: Implement SM3 test case.
4453         * modules/crypto/sm3-tests: Define sm3 test module.
4454         * MODULES.html.sh: List sm3 module.
4456 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4458         gc-libgcrypt: fix undefined enum type in switch statement
4459         Resolve the following build failure:
4460         lib/gc-libgcrypt.c: In function 'gc_hash_open':
4461         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
4462         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
4463              case 0:
4464              ^~~~
4465         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
4466         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
4468 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4470         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
4471         Resolve the following build failure:
4472         lib/gc-libgcrypt.c: In function 'gc_hash_read':
4473         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
4474         in signedness [-Werror=pointer-sign]
4475             digest = gcry_md_read (ctx->gch, 0);
4476                    ^
4477         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
4479 2017-10-26  Bruno Haible  <bruno@clisp.org>
4481         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
4482         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
4483         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
4485 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4487         glob: fix another heap buffer overflow
4488         Problem reported by Tim Rühsen in:
4489         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
4490         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
4492 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4494         quotearg: pacify compiler re unsigned
4495         * lib/quotearg.c (quotearg_n_options):
4496         Rewrite to avoid diagnostic from overly-picky compiler.
4497         Problem reported by Sami Kerola in:
4498         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
4500         glob: fix heap buffer overflow
4501         * lib/glob.c (glob): Fix off-by-one error introduced into
4502         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
4503         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
4504         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
4505         Fix suggested by Bruno Haible.
4507 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4509         glob: pacify fuzzer for mempcpy
4510         Problem reported by Tim Rühsen in:
4511         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
4512         * lib/glob.c (glob): Do not pass NULL to mempcpy.
4514 2017-10-12  Bruno Haible  <bruno@clisp.org>
4516         doc: Fix syntax error (regression from 2017-10-03).
4517         * doc/posix-functions/strncpy.texi: Fix syntax error.
4519 2017-10-12  Bruno Haible  <bruno@clisp.org>
4521         doc: Update for Solaris 11.3.
4522         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
4523         mention Solaris 11.3.
4524         * m4/log2.m4: Fix comments.
4525         * m4/log2f.m4: Likewise.
4526         * m4/printf.m4: Update comments.
4527         * m4/rename.m4: Likewise.
4528         * m4/strncat.m4: Likewise.
4530         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
4532 2017-10-10  Bruno Haible  <bruno@clisp.org>
4534         doc: Improve doc about ioctl.
4535         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
4536         prototype.
4538 2017-10-09  Bruno Haible  <bruno@clisp.org>
4540         wcwidth: Don't use obsolete syntax of 'test'.
4541         Reported by Eric Blake.
4542         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
4543         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
4545 2017-10-09  Bruno Haible  <bruno@clisp.org>
4547         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
4548         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
4549         and Daniel P. Berrange <berrange@redhat.com>.
4550         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
4551         on glibc systems. The getopt-pfx-core.h file declares exactly what
4552         unistd.h needs, nothing more.
4554 2017-10-08  Bruno Haible  <bruno@clisp.org>
4556         vma-iter: Improve support for FreeBSD.
4557         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
4558         vma_iterate.
4559         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
4561 2017-10-08  Bruno Haible  <bruno@clisp.org>
4563         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
4564         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
4566 2017-10-07  KO Myung-Hun  <komh@chollian.net>
4568         test-framework-sh: Fix 'invalid path dir' error.
4569         On OS/2, a path separator is ';' not ':'. And ':' is used as a
4570         separator between a drive letter and directory parts.
4571         As a result, an absolute path such as x:/path/to/dir on OS/2 is
4572         treated as an invalid path dir.
4573         * tests/init.sh (PATH_SEPARATOR): Set at startup.
4574         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
4575         instead of hard coded ':'.
4577 2017-10-07  Bruno Haible  <bruno@clisp.org>
4579         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
4580         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
4581         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
4582         (rof_open): On Linux, do multiple read() calls and make sure
4583         MIN_LEFTOVER bytes are left when read() returns.
4585 2017-10-07  Bruno Haible  <bruno@clisp.org>
4587         vma-iter: Improve support for GNU/Hurd.
4588         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
4589         API, not the /proc file system.
4591 2017-10-07  Bruno Haible  <bruno@clisp.org>
4593         test-framework-sh: Don't require bash on Windows and OS/2.
4594         Reported by KO Myung-Hun.
4595         * tests/test-init.sh: Use 'shopt' only when running in bash.
4597 2017-10-06  KO Myung-Hun  <komh@chollian.net>
4599         wcwidth: check a macro version of wcwidth () as well
4600         * lib/wchar.in.h: Revert commit from 2016-01-14.
4601         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
4603 2017-10-06  Bruno Haible  <bruno@clisp.org>
4605         getopt-posix: Clarify copyright header.
4606         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
4607         * lib/getopt-pfx-core.h: Likewise.
4608         * lib/getopt-pfx-ext.h: Likewise.
4609         * lib/getopt-cdefs.in.h: Likewise.
4611 2017-10-03  Bruno Haible  <bruno@clisp.org>
4613         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
4614         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
4615         gl_HOST_CPU_C_ABI.
4617 2017-10-03  Bruno Haible  <bruno@clisp.org>
4619         doc: warn about misuse of strncpy and wcsncpy.
4620         * doc/posix-functions/strcpy.texi: Describe requirements on prior
4621         memory allocation.
4622         * doc/posix-functions/wcscpy.texi: Likewise.
4623         * doc/posix-functions/strncpy.texi: Describe what this function is not
4624         useful for.
4625         * doc/posix-functions/wcsncpy.texi: Likewise.
4627 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
4629         fsuage: fix typo in previous change
4630         * lib/fsusage.c: Remove stray include of full-read.h.
4631         Problem reported by Sam Steingold for macOS (Bug#28669).
4633 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
4635         fsusage: remove SVR2 support
4636         SVR2 was obsolete by 1986 and is no longer supported by anybody,
4637         and its code was getting in the way of use of this module by
4638         Emacs, which has its own ‘read’ function anyway.
4639         * lib/fsusage.c: Do not include sys/filsys.h.
4640         (get_fs_usage): Remove SVR2-specific code.
4641         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
4642         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
4643         * modules/fsusage (Depends-on): Do not depend on full-read.
4645         Simplify autoupdate of licenses
4646         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
4647         place.
4649 2017-10-01  Bruno Haible  <bruno@clisp.org>
4651         vma-iter: Add support for GNU/Hurd.
4652         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
4653         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4655 2017-09-30  Bruno Haible  <bruno@clisp.org>
4657         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
4658         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
4659         fail when module 'largefile' is in use.
4660         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
4661         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
4662         Don't test HAVE_SYS_PROCFS_H.
4664 2017-09-30  Bruno Haible  <bruno@clisp.org>
4666         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
4667         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
4668         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
4669         * modules/havelib (Depends-on): Add host-cpu-c-abi.
4671 2017-09-30  Bruno Haible  <bruno@clisp.org>
4673         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
4674         * lib/uniname/uniname.c (unicode_name_character): Add braces around
4675         scope of local variables.
4677 2017-09-28  Bruno Haible  <bruno@clisp.org>
4679         string: code style
4680         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
4681         substitutable variables.
4682         * modules/string (Makefile.am): Likewise.
4684 2017-09-26  Bruno Haible  <bruno@clisp.org>
4686         uniname/uniname-tests: Tighten code.
4687         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
4688         local variables into one.
4690 2017-09-26  Bruno Haible  <bruno@clisp.org>
4692         vma-iter: Improvements for Linux and BSD platforms.
4693         - Add support for DragonFly BSD.
4694         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
4695         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
4696         Read the entire file into memory in a single system call.
4697         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
4698         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
4700 2017-09-26  Bruno Haible  <bruno@clisp.org>
4702         vma-iter: Provide the protection flags on FreeBSD.
4703         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
4704         skip three fields between the addresses and the protection flags.
4706 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4708         glob: remove bogus extern decl
4709         * lib/glob.c (__glob_pattern_type): Remove now-spurious
4710         extern declaration.  Problem reported by Adhemerval Zanella in:
4711         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
4713 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4715         uniname/uniname-tests: integer overflow fix
4716         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
4717         Check for integer overflow.
4719         duplocale-tests: fix unlikely crash
4720         * tests/test-duplocale.c (get_locale_dependent_values):
4721         Don’t crash with absurdly long month names.
4723         maint: fix overflow checking in nap.h
4724         * modules/chown-tests:
4725         * modules/fchownat-tests, modules/fdutimensat-tests:
4726         * modules/futimens-tests, modules/lchown-tests:
4727         * modules/stat-time-tests, modules/utime-tests:
4728         * modules/utimens-tests, modules/utimensat-tests:
4729         Depend on intprops.
4730         * tests/nap.h: Include intprops.h.
4731         (diff_timespec): Handle overflow properly.
4733         sys_types: update URL
4734         * m4/sys_types_h.m4: Use https: URL.
4736         parse-datetime: fix dependency
4737         * modules/parse-datetime (Depends-on): Depend
4738         on nstrftime, not strftime.
4740         parse-datetime, posixtm: avoid uninit access
4741         * lib/parse-datetime.y (parse_datetime2):
4742         * lib/posixtm.c (posixtime):
4743         Do not access uninitialized storage, even though the resulting
4744         value is never used.
4746 2017-09-25  Bruno Haible  <bruno@clisp.org>
4748         vma-iter: Improvements for BSD platforms.
4749         - Add support for GNU/kFreeBSD.
4750         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4751         - Speed up on OpenBSD.
4752         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4753         (vma_iterate_bsd): New function.
4754         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4755         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4756         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4757         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4759 2017-09-23  Bruno Haible  <bruno@clisp.org>
4761         strfmon_l: New module.
4762         * modules/strfmon_l: New file.
4763         * lib/strfmon_l.c: New file.
4764         * m4/strfmon_l.m4: New file.
4765         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4766         * modules/strfmon_l-tests: New file.
4767         * tests/test-strfmon_l.c: New file.
4769         monetary: New module.
4770         * modules/monetary: New file.
4771         * lib/monetary.in.h: New file.
4772         * m4/monetary_h.m4: New file.
4773         * doc/posix-headers/monetary.texi: Mention the new module.
4774         * modules/monetary-tests: New file.
4775         * tests/test-monetary.c: New file.
4776         * modules/monetary-c++-tests: New file.
4777         * tests/test-monetary-c++.cc: New file.
4778         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4780 2017-09-23  Bruno Haible  <bruno@clisp.org>
4782         duplocale tests: Fix test crash on Linux/x86.
4783         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4784         locale from the current thread before freeing it.
4786 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4788         mktime: port to OpenVMS
4789         Problem reported by John E. Malmberg in:
4790         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4791         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4793 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4795         manywarnings: port to GCC on 64-bit MS-Windows
4796         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4797         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4798         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4800 2017-09-13  Bruno Haible  <bruno@clisp.org>
4802         all: Replace many more http URLs by https URLs. Update stale URLs.
4803         * users.txt: Remove mention of 'newts'.
4804         * lib/localename.c: Update comment about LANG_SOTHO.
4806 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4808         all: Replace many http URLs by https URLs.
4810 2017-09-12  Bruno Haible  <bruno@clisp.org>
4812         doc: Prefer https URLs where possible.
4813         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4814         * doc/ld-output-def.texi: Remove unavailable URL.
4816 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4818         maintainer-makefile: FTP -> HTTPS
4819         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4820         of FTP, which is planned to be decommissioned on 2017-11-01.
4822 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4824         libc-config: Fix __GNUC_PREREQ macro.
4825         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4826         __GNUC_MINOR.
4828 2017-09-09  Bruno Haible  <bruno@clisp.org>
4830         gnulib-tool: Simplify commit from 2015-08-20.
4831         * gnulib-tool (func_add_or_update): Remove local variable
4832         is_binary_file.
4834 2017-09-08  Bruno Haible  <bruno@clisp.org>
4836         stddef: Avoid conflict with system-defined max_align_t.
4837         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4838         Reported by Werner Lemberg <wl@gnu.org> in
4839         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4840         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4841         (max_align_t): Define as a macro.
4842         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4843         definitions of rpl_max_align_t in different copies of gnulib-generated
4844         <stddef.h>.
4846 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4848         libc-config: port to MSVC
4849         Problems reported by Gisle Vanem in:
4850         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4851         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4852         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4853         * m4/__inline.m4: New file.
4854         * modules/libc-config (Files): Add it.
4855         (Depends-on): Use it.
4857         glob: Use enum for __glob_pattern_type result
4858         From a patch proposed by Adhemerval Zanella in:
4859         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4860         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4861         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4862         * lib/glob_internal.h (__glob_pattern_type):
4863         * lib/glob.c (glob):
4864         * lib/glob_pattern_p.c (__glob_pattern_p):
4865         Use them.
4867         glob: fix for use in glibc
4868         Problem reported by Adhemerval Zanella in:
4869         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4870         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4871         Do not redefine if _LIBC.
4873 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4875         glob: fix bugs with long login names
4876         Problem reported by Adhemerval Zanella in:
4877         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4878         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4879         (glob): Use the same scratch buffer for both getlogin_r and
4880         getpwnam_r.  Don’t require preallocation of the login name.  This
4881         simplifies storage allocation, and corrects the handling of
4882         long login names.
4884 2017-09-02  Bruno Haible  <bruno@clisp.org>
4886         dirent: Update doc.
4887         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4889 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4891         glob: fix getpwnam_r errno typo
4892         * lib/glob.c (glob): Fix longstanding misuse of errno after
4893         getpwnam_r, which returns an error number rather than setting
4894         errno.
4896         glob: fix typo in recent change
4897         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4898         Fix recently-introduced typo.
4900 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4902         glob: don't save and restore errno unnecessarily
4903         * lib/glob.c (glob): Don't save and restore errno
4904         merely because we have getpwnam_r.
4906         glob: don't assume getpwnam_r
4907         * lib/glob.c (glob): Port recent patches to platforms
4908         lacking getpwnam_r.
4910         scratch_buffer: don’t use private glibc API
4911         Suggested by Florian Weimer in:
4912         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4913         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4914         * lib/scratch_buffer_grow.c: Rename to
4915         lib/malloc/scratch_buffer_grow.c.
4916         * lib/scratch_buffer_grow_preserve.c: Rename to
4917         lib/malloc/scratch_buffer_grow_preserve.c.
4918         * lib/scratch_buffer_set_array_size.c: Rename to
4919         lib/malloc/scratch_buffer_set_array_size.c.
4920         * lib/scratch_buffer.h: New file.
4921         * modules/scratch_buffer (Files, Makefile.am):
4922         Adjust to source-file renaming.
4924 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4926         glob: use scratch_buffer instead of extend_alloca
4927         Much of the lib/glob.c part of this patch comes from a glibc patch
4928         proposed by Adhemerval Zanella in:
4929         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4930         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4931         included via glob.h, does this for us now.
4932         (__set_errno): Remove, as libc-config does this for us now.
4933         Include <scratch_buffer.h>.
4934         (GETPW_R_SIZE_MAX): Remove.
4935         (glob): Use struct scratch_buffer instead of extend_alloca.
4936         * lib/glob.in.h: Include libc-config.h rather than
4937         including <sys/cdefs.h> conditionally.
4938         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4939         (__glibc_unlikely, __restrict, weak_alias):
4940         Remove, as libc-config does this for us now.
4941         * m4/glob.m4 (gl_PREREQ_GLOB):
4942         Remove sys/cdefs.h tests; no longer needed.
4943         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4944         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4946         scratch_buffer: new module
4947         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4948         * lib/scratch_buffer_grow_preserve.c:
4949         * lib/scratch_buffer_set_array_size.c:
4950         New files, copied from glibc with very minor changes that can be
4951         copied back.
4952         * modules/scratch_buffer: New file.
4954         libc-config: new module
4955         * MODULES.html.sh: Add libc-config.
4956         * lib/cdefs.h: New file, copied from the GNU C Library with very
4957         minor changes that can be copied back.
4958         * lib/libc-config.h, modules/libc-config: New files.
4960 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4962         glob: match dangling symlinks
4963         This fixes a bug I inadvertently introduced to Gnulib when I
4964         merged glibc glob back into gnulib on 2007-10-16.  This fix is
4965         inspired by a patch proposed for glibc by Adhemerval Zanella in:
4966         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
4967         * doc/posix-functions/glob.texi: Update list of affected platforms.
4968         * lib/glob.c (__lstat64): New macro.
4969         (is_dir): New function.
4970         (glob, glob_in_dir): Match symlinks even if they are dangling.
4971         (link_stat, link_exists_p): Remove.  All uses removed.
4972         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
4973         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
4974         * modules/glob-tests (Depends-on): Add symlink.
4975         * tests/test-glob.c: Include errno.h, unistd.h.
4976         (BASE): New macro.
4977         (main): Test dangling symlinks, if symlinks are supported.
4979         glob, backupfile: inode 0 is a valid inode number
4980         * doc/posix-functions/readdir.texi (readdir):
4981         * doc/posix-headers/dirent.texi (dirent.h):
4982         Document more readdir portability issues.
4983         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
4984         (numbered_backup): Don’t treat inode 0 any differently from
4985         other inode values.
4986         * lib/glob.c (struct readdir_result): Remove skip_entry member.
4987         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
4988         All uses removed.
4989         * modules/glob (Depends-on): Remove d-ino.
4991         glob: simplify symlink detection
4992         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
4993         uint8_t, as C99 does not require uint8_t.
4994         (struct readdir_result): Use it.  Do not define skip_entry unless
4995         it is needed; this saves a byte on platforms lacking d_ino.
4996         (readdir_result_type, readdir_result_skip_entry):
4997         New functions, replacing ...
4998         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
4999         ... these functions, which were removed.  This makes the callers
5000         easier to read.  All callers changed.
5001         (D_INO_TO_RESULT): Now empty if there is no d_ino.
5003 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5005         fts-tests: tag as a longrunning-test so not included by default
5006         * modules/fts-tests: This test takes about 20s on current systems,
5007         and uses about 285M of space on ext4.
5009 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5011         renameat2: fix compilation on alpine linux
5012         * m4/renameat.m4: Check for <linux/fs.h> presence.
5013         * lib/renameat2.h: Only include <linux/fs.h> if present.
5014         Reported by Assaf Gordon on Alpine Linux.
5016 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5018         glob: try to port recent changes to MS-Windows
5019         Problem reported by Bruno Haible in:
5020         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
5021         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
5022         * lib/glob.in.h (__glob_pattern_p): ... to here.
5024 2017-08-24  Eric Blake  <eblake@redhat.com>
5026         warnings: fix compilation with old autoconf
5027         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
5028         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
5029         AC_DEFUN.
5030         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
5031         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
5033 2017-08-24  Bruno Haible  <bruno@clisp.org>
5035         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
5036         * modules/glob (Depends-on): Add c99.
5038 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5040         glob: fix typo that broke platforms lacking d_ino
5041         This typo also hurt performance on GNU/Linux and similar hosts.
5042         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
5043         in previous change.
5045 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5047         glob: merge from glibc with Zanella glob changes
5048         Merge glob from glibc, with changes for glob proposed
5049         by Adhemerval Zanella in the thread starting here:
5050         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
5051         plus some fixes for this merge.
5052         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
5053         New files, ported from glibc.
5054         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
5055         with __restrict.
5056         (__size_t): Remove.  All uses replaced by size_t.
5057         (size_t): Define by defining __need_size_t and including <stddef.h>.
5058         This should work even in non-glibc platforms, where any name
5059         pollution is OK.
5060         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
5061         (struct stat64): Don’t worry about __GLOB_GNULIB.
5062         (glob, globfree, glob_pattern_p): Remove macros for
5063         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
5064         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
5065         but set errno.
5066         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
5067         removed since the glibc behavior works on null pointers.
5068         Do not include stdio.h; old SunOS is irrelevant now.
5069         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
5070         Include glob_internal.h.
5071         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
5072         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
5073         worked only coincidentally.
5074         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
5075         Remove macros; now done in glob.in.h.
5076         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
5077         (glob): Properly initialize glob structure with
5078         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
5079         Remove old code using SHELL since Bash no longer
5080         uses this.
5081         (glob, prefix_array): Separate MS code better.
5082         (glob, glob_in_dir): Use C99 decls before statements when glibc
5083         does.
5084         (glob_in_dir): Remove old Amiga and VMS code.
5085         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
5086         separate files.
5087         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
5088         (__glibc_unlikely):
5089         Move here from glob.c.
5090         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
5091         (weak_alias): New macro.
5092         (__size_t): Remove.  All uses replaced by size_t.
5093         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
5094         * modules/glob (Files): Add +lib/glob_internal.h,
5095         lib/glob_pattern_p.c, lib/globfree.c.
5096         (Depends-on): Remove snippet/arg-nonnull.
5098 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5100         glob: port to clang's Undefined Sanitizer
5101         Problem reported by Tim Rühsen in:
5102         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
5103         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
5104         (glob_in_dir): Do not rely on undefined behavior in accessing
5105         struct members beyond their bounds.  Use a flexible array member
5106         instead.
5108 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5110         vc-list-files: port to Solaris 10
5111         * build-aux/vc-list-files: Don't assume test -e works.
5113 2017-08-21  Karl Berry  <karl@freefriends.org>
5115         * doc/posix-functions/srandom.texi (srandom): typo }.
5117 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5119         git-version-gen: port to Solaris 10
5120         Problem reported by Dagobert Michelsen in:
5121         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
5122         * build-aux/git-version-gen (v_from_git):
5123         Use expr instead of shell substitution.
5125 2017-08-19  Bruno Haible  <bruno@clisp.org>
5127         host-cpu-c-abi: Improve detection of MIPS ABI.
5128         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
5129         _MIPS_SIM.
5131 2017-08-17  Bruno Haible  <bruno@clisp.org>
5133         hypot tests: Fix test failure on FreeBSD 11.0/x86.
5134         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
5136 2017-08-17  Bruno Haible  <bruno@clisp.org>
5138         float: Fix LDBL_MIN value on FreeBSD/x86.
5139         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
5141 2017-08-17  Bruno Haible  <bruno@clisp.org>
5143         random: Fix test compilation failure on Cygwin 1.5.25.
5144         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
5145         HAVE_DECL_SETSTATE.
5146         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
5147         declared.
5148         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
5149         HAVE_DECL_SETSTATE.
5150         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
5151         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
5152         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
5153         * doc/posix-functions/random.texi: Likewise.
5154         * doc/posix-functions/setstate.texi: Likewise.
5155         * doc/posix-functions/srandom.texi: Likewise.
5157 2017-08-16  Bruno Haible  <bruno@clisp.org>
5159         stdnoreturn: Fix test compilation failure on Cygwin.
5160         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
5161         <stdnoreturn.h> replacement.
5162         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
5163         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
5165 2017-08-16  Bruno Haible  <bruno@clisp.org>
5167         thread: Fix conflict with pthread_sigmask module.
5168         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
5169         it's defined as a macro.
5170         * modules/thread (Depends-on): Add pthread_sigmask.
5172 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5174         rename: port better to NetBSD
5175         * doc/posix-functions/rename.texi (rename): NetBSD 7
5176         does not have the link-count bug.
5177         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
5178         broken merely because rename ("a", "b") removes "a" when the two
5179         names are hard links to the same file.
5181 2017-08-16  Bruno Haible  <bruno@clisp.org>
5183         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
5184         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
5185         the target file names with '$(srcdir)/'.
5186         * modules/unicase/locale-language (Makefile.am): Likewise.
5187         * modules/unicase/special-casing (Makefile.am): Likewise.
5188         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
5189         * modules/unictype/category-byname (Makefile.am): Likewise.
5190         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
5191         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
5192         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
5193         * modules/unictype/property-byname (Makefile.am): Likewise.
5194         * modules/unictype/scripts (Makefile.am): Likewise.
5195         * modules/uninorm/composition (Makefile.am): Likewise.
5197 2017-08-16  Bruno Haible  <bruno@clisp.org>
5199         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
5200         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
5201         value for OpenBSD.
5203 2017-08-16  Bruno Haible  <bruno@clisp.org>
5205         rename, renameat: Update doc regarding NetBSD.
5206         * doc/posix-functions/rename.texi: Clarify that when using
5207         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
5208         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
5209         version.
5211 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5213         renameat2: port better to macOS
5214         * lib/renameat2.c (renameat2): Use renameatx_np if available.
5216         futimens: don’t assume struct timespec layout
5217         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
5218         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
5219         * tests/test-fdutimensat.c (main):
5220         * tests/test-futimens.h (test_futimens):
5221         * tests/test-lutimens.h (test_lutimens):
5222         * tests/test-utimens.h (test_utimens):
5223         * tests/test-utimensat.c (main):
5224         Don’t assume that struct timespec is a two-member structure in
5225         tv_sec, tv_nsec order.  Although this is true on all platforms we
5226         know about, POSIX does not guarantee it.
5228         rename: document+test NetBSD rename
5229         Test failure reported by Bruno Haible in:
5230         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
5231         This is an area where NetBSD is better-behaved than POSIX,
5232         so allow the NetBSD behavior in tests.
5233         * doc/posix-functions/rename.texi:
5234         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
5235         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
5237 2017-08-15  Bruno Haible  <bruno@clisp.org>
5239         renameat: Ensure declaration in <stdio.h> on NetBSD.
5240         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
5241         * doc/posix-functions/renameat.texi: Mention this problem.
5243 2017-08-15  Bruno Haible  <bruno@clisp.org>
5245         duplocale: Work around NetBSD 7.0 bug.
5246         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
5247         * lib/duplocale.c: Add comment about NetBSD problem.
5248         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
5250 2017-08-15  Bruno Haible  <bruno@clisp.org>
5252         duplocale tests: Verify use with *_l functions.
5253         * modules/duplocale-tests (configure.ac): Test for uselocale and
5254         some *_l functions.
5255         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
5256         from main.
5257         (get_locale_dependent_values_from, test_with_locale_parameter): New
5258         functions.
5259         (main): Test both test_with_uselocale and test_with_locale_parameter.
5261 2017-08-15  Bruno Haible  <bruno@clisp.org>
5263         extensions: Enable NetBSD specific extensions.
5264         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
5266 2017-08-14  Bruno Haible  <bruno@clisp.org>
5268         open, openat: Update doc about O_CLOEXEC.
5269         * doc/posix-functions/open.texi: More concrete list of platforms.
5270         * doc/posix-functions/openat.texi: Likewise.
5272 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5274         open: support O_CLOEXEC
5275         * NEWS, doc/posix-functions/open.texi:
5276         * doc/posix-functions/openat.texi: Document this.
5277         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
5278         (GNULIB_defined_O_CLOEXEC): New symbol.
5279         * lib/open.c: Include cloexec.h.
5280         (open): Support O_CLOEXEC.
5281         * lib/openat.c: Include cloexec.h.
5282         (rpl_openat): Support O_CLOEXEC.
5283         * lib/popen-safer.c: Do not include cloexec.h.
5284         (open_noinherit): Remove.
5285         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
5286         * lib/save-cwd.c: Do not include cloexec.h.
5287         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
5288         * m4/open-cloexec.m4: New file.
5289         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
5290         Replace 'open' if O_CLOEXEC is not present.
5291         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
5292         Replace 'openat' if O_CLOEXEC is not present.
5293         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
5294         * modules/open (Files): Add m4/open-cloexec.m4.
5295         (Depends-on): Depend on cloexec if replacing 'open'.
5296         * modules/openat (Files): Add m4/open-cloexec.m4.
5297         (Depends-on): Depend on cloexec if replacing openat.
5298         * modules/popen-safer (Depends-on): Remove cloexec.
5299         * modules/save-cwd (Depends-on): Remove cloexec, and add
5300         fd-safer-flag and 'open'.
5302 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5304         reallocarray: minor fixes
5305         * doc/glibc-functions/reallocarray.texi: Update version numbers.
5306         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
5307         * modules/reallocarray (License): Change from GPL to LGPL.
5308         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
5309         Indent properly and don't use tabs.
5311 2017-08-13  Darshit Shah  <darnir@gnu.org>
5313         reallocarray: New module
5314         reallocarray is a new function in glibc 2.26 to safely allocate an array
5315         of memory locations with integer overflow protection.
5316         * MODULES.html.sh: Add reallocarray.
5317         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
5318         * lib/reallocarray.c: New file to implement module reallocarray.
5319         * lib/stdlib.in.h: Add function declarations for reallocarray.
5320         * m4/reallocarray.m4: New file.
5321         * m4/stdlib_h.m4: Declare reallocarray.
5322         * modules/reallocarray: New file.
5323         * modules/reallocarray-test: New file.
5324         * modules/stdlib: Coerce stdlib.h to export reallocarray.
5325         * tests/test-reallocarray.c: New test.
5327 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5329         dirent-safer: fix cloexec race
5330         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
5331         (opendir_safer): Use F_DUPFD_CLOEXEC.
5332         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
5333         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
5334         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
5335         instead of dup_safer.
5337         fts: fix cloexec races
5338         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
5339         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
5340         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
5341         (fd_ring_check): Set cloexec flag on new file descriptors.
5342         (fts_build, fd_ring_check): While we’re at it, make sure the
5343         resulting file descriptor is not 0, 1, or 2, since that is easy.
5345 2017-08-11  Bruno Haible  <bruno@clisp.org>
5347         fts tests: Fix link error.
5348         Reported by Tom G. Christensen in
5349         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
5350         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
5352 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5354         fts: port recent changes to CentOS 6
5355         Problem reported by Tom G. Christensen in:
5356         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
5357         * lib/fts.c (fsword): New type.
5358         (struct dev_type, filesystem_type): Use it.
5359         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
5360         Also, check for f_type only if fstatfs and sys/vfs.h work.
5362 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5364         tempname: do not depend on secure_getenv
5365         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
5366         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
5367         * modules/tempname (Depends-on): Remove secure_getenv.
5369 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5371         extensions: add _OPENBSD_SOURCE
5372         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
5374 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
5375             Bruno Haible  <bruno@clisp.org>
5377         manywarnings: Add support for C++.
5378         * build-aux/g++-warning.spec: New file.
5379         * m4/manywarnings-c++.m4: New file.
5380         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
5381         redirects to manywarnings-c++.m4.
5382         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
5384 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5386         git-version-gen: another fix for tags with "-"
5387         * build-aux/git-version-gen: Improve fix for tags containing "-".
5388         Suggested by Markus Armbruster in:
5389         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
5391 2017-08-06  Bruno Haible  <bruno@clisp.org>
5393         warnings, manywarnings: Add support for multiple languages, not just C.
5394         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
5395         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
5396         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
5397         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
5398         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
5399         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
5400         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
5401         of the current language. If C++ is the current language, modify
5402         WARN_CXXFLAGS instead of WARN_CFLAGS.
5403         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
5404         gl_MANYWARN_ALL_GCC.
5405         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
5407 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
5409         git-version-gen: Fix for tags containing '-'
5411         Really old versions of git-describe (before v1.5.0, Feb 2007)
5412         don't have the number of commits in their long format output,
5413         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
5414         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
5415         recognizes both patterns, and normalizes the old format to the new one.
5417         Unfortunately, this normalization code gets confused when the tag
5418         contains '-'.  Reproducer:
5420             $ git-tag -m test v0.2-rc1
5421             $ build-aux/git-version-gen .tarball-version; echo
5422             build-aux/git-version-gen: WARNING: git rev-list failed
5423             UNKNOWN
5425         We take exact tag "v0.2-rc1" for the old format, extract the presumed
5426         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
5427         commits since tha tag.  Fails, because tag "v0.2" does not exist.
5429         * git-version-gen: We could perhaps drop support for versions from
5430         more than a decade ago.  But tightening the pattern match is easy
5431         enough, so do that.  Still breaks when you use version tags ending in
5432         something matching -g????, but you arguably get what you deserve then.
5434 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5436         valgrind-tests: use ls, and cache
5437         * m4/valgrind-tests.m4: Test ls, not bash.
5438         Problem reported by Reuben Thomas.
5439         Also, cache the result so that it can be overridden.
5441 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5443         manywarnings: port to 64-bit GCC builds of Emacs
5444         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
5445         object size rather than hardwiring 2147483647.  This is needed to
5446         build GNU Emacs, which has one conditional (and used
5447         only-in-theory) call to malloc with a literal greater than
5448         2147483647.
5450 2017-08-04  Bruno Haible  <bruno@clisp.org>
5452         Relax the license of some modules with no runtime code.
5453         * modules/std-gnu11 (License): Set to 'unlimited'.
5454         * modules/c99 (License): Likewise.
5455         Reported by Reuben Thomas <rrt@sc3d.org>.
5456         * modules/d-ino (License): Set to 'LGPL'.
5457         * modules/host-os (License): Likewise.
5458         * modules/longlong (License): Likewise.
5460 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5462         renameat2: port to RHEL 7 + NFS
5463         * lib/renameat2.c (renameat2) [SYS_renameat2]:
5464         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
5465         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
5467 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5469         renameat2: port to non-renameat platforms
5470         Problem reported for MSVC-2015 by Gisle Vanem in:
5471         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
5472         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
5473         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
5475 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5477         manywarnings: port to 32-bit GCC bug
5478         Problem reported by Pino Toscano in:
5479         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
5480         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
5481         not 2**63 - 1, to work around the following GCC bug:
5482         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
5484 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5486         backupfile: new function to validate backup suffix
5487         * lib/backupfile.c (set_simple_backup_suffix): New function.
5488         (backupfile_internal): Use it.
5490         canonicalize: fix EOVERFLOW commentary
5491         Problem reported by Bruno Haible in:
5492         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
5493         * lib/canonicalize.c (canonicalize_filename_mode):
5494         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
5496         Don't interpret EOVERFLOW to mean nonexistence
5497         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
5498         may be EOVERFLOW; this is likely more useful than reporting the
5499         stat errno.
5500         * lib/glob.c (link_stat): Rename from link_exists2_p and
5501         return -1/0 instead of 0/1.  Caller changed.
5502         * lib/glob.c (link_exists_p):
5503         * lib/renameat2.c (rename_noreplace, renameat2):
5504         * lib/tempname.c (try_nocreate):
5505         If errno == EOVERFLOW then the directory entry exists, so do not
5506         act as if it does not exist.
5508         backup-rename: new module
5509         It is like backupfile, except it avoids some race conditions,
5510         and it does not output to stderr or exit.
5511         * MODULES.html.sh: Add backup-rename.
5512         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
5513         * modules/backup-rename: New files.
5514         * lib/backupfile.c: Turn this into an internals file, which
5515         contains code common to backupfile and backup_rename.  Include
5516         backupfile-internal.h instead of backupfile.h.  Do not include
5517         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
5518         renameat2.h and fcntl.h.
5519         (BACKUP_NOMEM): New constant.
5520         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
5521         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
5522         (backupfile_internal): Rename from find_backup_file_name.
5523         Support new arg RENAME.
5524         (backup_args, backup_types, get_version, xget_version):
5525         Move to lib/backup-find.c.
5526         * lib/backupfile.h (backup_file_rename): New decl.
5527         * modules/backupfile (Files): Add lib/backup-internal.h,
5528         lib/backup-find.c.
5529         (Depends-on): Add dirfd, fcntl, renameat2.
5530         (lib_SOURCES): Add backup-find.c.
5532         renameat2: port better to older Solaris
5533         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
5534         Add goto to use a label, to silence picky compilers.
5536         fts-tests: port to gcc -Wwrite-strings
5537         * tests/test-fts.c (base, base_d): New static vars.
5538         (argv, remove_tree, main): Use them.
5540 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5542         relocatable-lib{,-lgpl}: improve documentation
5543         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
5544         Various other updates.
5546 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
5547             Bruno Haible  <bruno@clisp.org>
5549         relocatable-lib{,-lgpl}: add Valgrind suppressions
5550         * lib/relocatable.valgrind: New file.
5551         * modules/relocatable-lib (Files): Add relocatable.valgrind.
5552         * modules/relocatable-lib-lgpl: Likewise.
5554 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5556         relocatable: Make the license on the sources the GPL.
5557         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
5558         LGPL, which was a special case so that the relocatable source files
5559         could be used without gnulib-tool, to GPL. They can still be used under
5560         the LGPL, using the --lgpl option to gnulib-tool.
5562 2017-07-30  Bruno Haible  <bruno@clisp.org>
5564         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
5565         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
5566         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
5567         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
5568         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
5570 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5572         faccessat: document AT_SYMLINK_NOFOLLOW issue
5573         * doc/posix-functions/faccessat.texi: Modernize platform list.
5574         Document AT_SYMLINK_NOFOLLOW limitation.
5576         renameat2: port to Solaris 10
5577         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
5578         with AT_SYMLINK_NOFOLLOW (which is not portable).
5579         (renameat): Undef before using, to avoid endless recursion when
5580         the replacement renameat calls renameat2 which calls the
5581         replacement renameat.
5582         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
5583         * modules/renameat2 (Depends-on): Remove faccessat.
5584         * modules/renameat-tests (test_renameat_LDADD):
5585         * modules/renameat2-tests (test_renameat2_LDADD):
5586         Remove $(LIB_EACCESS).
5588         renameat2: new module
5589         Although the Linux syscall renameat2 is not in glibc (yet?), it is
5590         useful to have access to its RENAME_NOREPLACE flag.
5591         * MODULES.html.sh (func_all_modules): Add renameat2.
5592         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
5593         * modules/renameat2-tests, tests/test-renameat2.c: New files.
5594         * lib/renameat.c (renameat): Move most of the implementation
5595         to renameat2, and just call renameat2.
5596         * modules/renameat (Files): Remove lib/at-func2.c.
5597         (Depends-on): Depend only on renameat2.
5598         (Include): Remove <fcntl.h>.
5599         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
5600         since renameat (via renameat2) might use faccessat.
5602 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
5604         vc-list-files: Adjust the script to support git worktrees
5605         * build-aux/vc-list-files: Require existence, not directory.
5607 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5609         doc: bring MODULES.html.sh up to date
5610         Somehow a few months ago we stopped updating MODULES.html.sh.
5611         I don’t recall explicitly deciding this, so I updated it now.
5612         Alternatively I suppose we could remove it.
5613         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
5614         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
5615         truncate, utime, utime-h, windows-stat-inodes,
5616         windows-stat-override, windows-stat-timespec, year2038.  Sort.
5618 2017-07-26  Jim Meyering  <meyering@fb.com>
5620         fprintftime: fix build-break caused by recent renaming
5621         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
5622         "strftime.c".
5623         * modules/fprintftime: Depend directly on nstrftime.
5625 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5627         regex: work with GCC7's -Werror=implicit-fallthrough=
5628         * lib/regex_internal.h (FALLTHROUGH): New macro.
5629         * lib/regcomp.c (peek_token_bracket, parse_expression):
5630         * lib/regexec.c (check_node_accept): Use it.
5632 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5634         fts: simplify fts_build
5635         * lib/fts.c (fts_build): Simplify, and be lazier about
5636         calling leaf_optimization.
5638         fts: three levels of leaf optimization
5639         * lib/fts.c (enum leaf_optimization): New type with three values.
5640         (S_MAGIC_AFS): New macro.  Sort them.
5641         (leaf_optimization): Rename from leaf_optimization_applies, and
5642         return enum leaf_optimization instead of bool.  All uses changed.
5643         Add cases for unknown type and for AFS.
5644         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
5646         fts: cache dirent_inode_sort_may_be_useful too
5647         * lib/fts.c (struct dev_type): New struct.
5648         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
5649         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
5650         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
5651         Now takes FTSENT const *, not int.  All uses changed.  Use
5652         filesystem_type to cache.
5653         (link_count_optimize_ok): Remove.  Caller changed to use
5654         leaf_optimization_applies, which now uses shared cache.
5656         fts: introduce MIN_DIR_NLINK
5657         * lib/fts.c (MIN_DIR_NLINK): New constant.
5658         Use it instead of 2, whenever we are talking about link counts.
5660         fts: nlink_t signedness fixups
5661         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
5662         so that root need not be a special case later.
5663         (fts_read): Remove now-redundant test for fts_level.
5664         Do not assume that nlink_t is signed.
5665         (fts_build): Remove useless decrement of nlinks.
5666         (fts_stat): Avoid unlikely signed integer overflow later, if
5667         nlink_t is signed.
5669         fts-tests: new module
5670         * modules/fts-tests, tests/test-fts.c: New files.
5672 2017-07-23  Bruno Haible  <bruno@clisp.org>
5674         Rename module 'strftime' to 'nstrftime'.
5675         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
5676         * lib/nstrftime.c: Renamed from lib/strftime.c.
5677         * modules/nstrftime: Renamed from modules/strftime.
5678         (Files, Makefile.am): Update.
5679         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
5680         Fix comment.
5681         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
5682         (Files, Makefile.am): Update.
5683         * modules/strftime: New file, an obsolete indirection.
5684         * doc/posix-functions/strftime.texi: Update reference.
5685         * config/srclist.txt: Update info.
5686         * NEWS: Mention the change.
5688 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
5690         malloca: Silence a warning from clang's memory sanitizer.
5691         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
5692         (freea): Use it.
5694 2017-07-18  Bruno Haible  <bruno@clisp.org>
5696         host-cpu-c-abi: Fix detection of MIPS ABI.
5697         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
5698         ABI, not the CPU instruction set.
5700 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5702         explicit_bzero: new module
5703         The explicit_bzero function has been added to glibc.
5704         This module is intended to supports its use in GNU programs.
5705         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
5706         * m4/explicit_bzero.m4, modules/explicit_bzero:
5707         New files.
5708         * doc/gnulib.texi (Glibc string.h): Link to new doc.
5709         * lib/string.in.h (explicit_bzero): Declare.
5710         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
5711         * modules/string (string.h): Substitute its vars.
5713 2017-07-16  Bruno Haible  <bruno@clisp.org>
5715         threadlib: Support static linking.
5716         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
5717         set gl_cv_have_weak to 'no'.
5719 2017-07-16  Bruno Haible  <bruno@clisp.org>
5721         unicase/locale-language: Fix link dependencies.
5722         * modules/unicase/locale-language (Link): New section.
5723         * modules/unicase/locale-language-tests (Makefile.am): Link
5724         test-locale-language program with $(LIBTHREAD).
5726 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5728         sys_socket: Add support for OpenVMS.
5729         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
5730         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
5732 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5734         sys_resource: Add support for OpenVMS.
5735         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
5736         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
5738 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5739             Bruno Haible  <bruno@clisp.org>
5741         math: Add support for OpenVMS.
5742         * lib/math.in.h [__VMS]: Include <fp.h>.
5743         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5745 2017-07-15  Bruno Haible  <bruno@clisp.org>
5747         getdtablesize: Add minimal support for OpenVMS.
5748         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5749         * modules/getdtablesize (Description): Fix.
5750         * lib/getdtablesize.c: Fix comment.
5751         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5752         getdtablesize() function, even though the test fails.
5753         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5754         limitation on OpenVMS.
5756 2017-07-13  Bruno Haible  <bruno@clisp.org>
5758         Revisit cross-compilation guesses.
5759         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5761 2017-07-13  Bruno Haible  <bruno@clisp.org>
5763         Improve cross-compilation guesses for native Windows.
5764         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5765         Windows.
5766         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5767         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5768         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5769         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5770         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5771         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5772         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5773         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5774         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5775         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5776         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5777         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5778         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5779         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5780         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5781         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5782         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5783         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5784         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5785         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5786         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5787         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5788         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5789         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5790         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5791         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5792         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5793         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5794         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5795         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5796         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5797         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5798         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5799         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5800         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5801         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5802         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5803         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5804         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5805         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5806         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5807         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5808         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5809         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5810         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5811         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5812         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5813         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5814         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5815         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5816         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5817         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5818         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5819         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5820         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5821         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5822         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5823         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5824         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5825         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5826         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5827         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5828         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5829         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5830         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5832         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5833         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5834         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5835         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5836         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5837         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5838         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5839         * m4/regex.m4 (gl_REGEX): Likewise.
5840         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5841         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5842         gl_FUNC_REMAINDERF_WORKS): Likewise.
5843         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5844         gl_FUNC_REMAINDERL_WORKS): Likewise.
5845         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5846         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5847         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5848         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5849         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5850         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5851         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5852         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5853         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5854         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5855         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5856         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5857         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5858         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5859         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5860         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5861         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5862         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5863         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5864         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5865         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5866         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5867         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5868         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5869         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5870         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5871         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5872         Likewise.
5873         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5874         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5875         Windows. Enable also on Autoconf 2.70.
5876         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5877         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5878         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5879         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5880         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5881         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5882         for native Windows.
5883         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5884         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5886 2017-07-13  Bruno Haible  <bruno@clisp.org>
5888         Improve cross-compilation guesses for native Windows.
5889         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5890         Windows.
5891         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5892         memchr.m4.
5893         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5895 2017-07-13  Bruno Haible  <bruno@clisp.org>
5897         Improve cross-compilation guesses for native Windows.
5898         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5899         native Windows.
5900         (gl_FUNC_FFLUSH): Update accordingly.
5901         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5902         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5904 2017-07-11  Bruno Haible  <bruno@clisp.org>
5906         More systematic m4 quoting and indentation.
5907         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5908         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5909         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5910         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5911         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5912         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5913         gl_WINSIZE_IN_PTEM): Likewise.
5914         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5915         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5916         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5917         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5918         Correct indentation.
5919         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5920         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5921         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5922         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5923         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5924         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5926 2017-07-10  Bruno Haible  <bruno@clisp.org>
5928         round, roundf: Avoid compiler warning in configure test.
5929         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5930         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5932 2017-07-10  Bruno Haible  <bruno@clisp.org>
5934         getlogin tests: Avoid #ifdefs when sharing code between modules.
5935         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5936         * modules/getlogin-tests (Files): Likewise. Remove
5937         tests/test-getlogin_r.c.
5938         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5939         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5940         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5941         getlogin().
5943 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5945         getlogin: don’t assume one name per uid
5946         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5947         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5948         (ttyname): Remove test.
5949         * modules/getlogin_r-tests (ttyname): Remove test.
5950         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5951         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5952         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5953         getlogin rather than getlogin_r.  This avoids code duplication.
5954         (main): Use isatty and fstat rather than ttyname and stat.
5955         Use getpwnam instead of getpwuid, to be portable to test platforms
5956         that have multiple login names for the same uid.
5958 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5959             Bruno Haible  <bruno@clisp.org>
5961         glob: Fix more memory leaks.
5962         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5963         returning.
5964         Reported by Tim Rühsen.
5966 2017-07-10  Bruno Haible  <bruno@clisp.org>
5968         Make sure $host and $host_os are defined when used.
5969         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
5970         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
5971         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5972         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5973         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5974         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
5975         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5976         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
5977         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5978         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5979         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
5980         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
5981         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
5982         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
5983         m4_ifdef block.
5985 2017-07-09  Bruno Haible  <bruno@clisp.org>
5987         *printf: Fix cross-compilation guess for Solaris.
5988         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
5989         2010-12-21.
5991 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
5992             Bruno Haible  <bruno@clisp.org>
5994         vasnprintf: port to macOS 10.13
5995         Problem reported by comex in:
5996         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
5997         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
5999 2017-07-06  Bruno Haible  <bruno@clisp.org>
6001         imaxdiv tests: Fix logic.
6002         * tests/test-imaxdiv.c (main): Use == instead of =.
6003         Reported by Coverity.
6005 2017-07-06  Bruno Haible  <bruno@clisp.org>
6007         uninorm/filter: Fix use-after-free bug.
6008         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
6009         sortbuf == filter->sortbuf invariant.
6010         Reported by Coverity.
6012 2017-07-06  Bruno Haible  <bruno@clisp.org>
6014         glob: Fix more memory leaks.
6015         * lib/glob.c (glob): Free dirname before returning.
6016         Reported by Coverity and Tim Rühsen.
6018 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6020         parse-datetime: fix uninit var bug
6021         Reported by Bruno Haible in:
6022         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
6023         * lib/parse-datetime.y (parse_datetime2): Do not use
6024         uninitialized.
6026 2017-07-05  Bruno Haible  <bruno@clisp.org>
6028         doc: Update for MSVC 14.
6029         * doc/posix-headers/*.texi: Add info about MSVC 14.
6030         * doc/posix-functions/*.texi: Likewise.
6031         * doc/pastposix-functions/*.texi: Likewise.
6032         * doc/glibc-headers/*.texi: Likewise.
6033         * doc/glibc-functions/*.texi: Likewise.
6035 2017-07-05  Bruno Haible  <bruno@clisp.org>
6037         sched: Fix build failure on native Windows (regression from 2017-06-19).
6038         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
6040 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
6042         stdioext: Port to OpenVMS.
6043         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
6044         * lib/fpending.c (fpending): Remove non-working VMS specific code.
6045         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
6046         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
6047         * lib/fpurge.c (fpurge): Likewise.
6048         * lib/freadable.c (freadable): Likewise.
6049         * lib/freadahead.c (freadahead): Likewise.
6050         * lib/freading.c (freading): Likewise.
6051         * lib/freadptr.c (freadptr): Likewise.
6052         * lib/freadseek.c (freadseek): Likewise.
6053         * lib/fseeko.c (fseeko): Likewise.
6054         * lib/fseterr.c (fseterr): Likewise.
6055         * lib/fwritable.c (fwriteable): Likewise.
6056         * lib/fwriting.c (fwriting): Likewise.
6058 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
6060         glob: Declare variables at the very start of their scope.
6061         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
6062         its separate scope, so the functions will compile on Haiku.
6064 2017-07-01  Bruno Haible  <bruno@clisp.org>
6066         logbl: Work around a glibc bug on PowerPC64LE.
6067         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
6068         numbers.
6069         * doc/posix-functions/logbl.texi: Update.
6071 2017-06-29  Bruno Haible  <bruno@clisp.org>
6073         stat, fstat: Compile stat-w32.c only on platforms that need it.
6074         Suggested by Paul Eggert.
6075         * modules/stat (configure.ac): Request stat-w32.o only on native
6076         Windows.
6077         * modules/fstat (configure.ac): Likewise.
6079 2017-06-25  Bruno Haible  <bruno@clisp.org>
6081         stat: Improve last change.
6082         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
6084 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6086         stat: port to xlc 12.01
6087         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
6088         12.01 complains "Compilation unit is empty."
6090 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6092         xalloc-oversized: port to icc
6093         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
6094         __builtin_mul_overflow if ICC is defined, as this results in
6095         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
6096         20170213.
6098 2017-06-19  Bruno Haible  <bruno@clisp.org>
6100         classpath: Avoid including config.h twice, as it produces warnings.
6101         Reported by John E. Malmberg <wb8tyw@gmail.com>.
6102         * lib/classpath.h: Conditionalize the include of config.h.
6104 2017-06-19  Bruno Haible  <bruno@clisp.org>
6105             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
6107         sched: Fix compilation failure on OpenVMS.
6108         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
6109         test whether <pthread.h> exists and defines struct sched_param.
6110         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
6112 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
6114         diffseq: port to GCC 7 with --enable-gcc-warnings
6115         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
6116         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
6117         not complain about big_snake being defined but not used.
6119 2017-06-15  Bruno Haible  <bruno@clisp.org>
6121         gettext-h: Update theoretical condition for use of variable size arrays.
6122         Reported by Paul Eggert.
6123         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
6124         to include the theoretical condition for availability of variable size
6125         arrays, if we could trust the value of __STDC_VERSION__.
6127 2017-06-12  Bruno Haible  <bruno@clisp.org>
6129         Relicense some modules under LGPLv2+.
6130         Daiki Ueno's approval is in
6131         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
6132         * modules/uniwidth/base (License): Change to LGPLv2+.
6133         * modules/uniwidth/width (License): Likewise.
6135 2017-06-11  Bruno Haible  <bruno@clisp.org>
6137         localename: Fix test failure on DragonFly BSD.
6138         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
6139         like FreeBSD.
6141 2017-06-11  Bruno Haible  <bruno@clisp.org>
6143         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
6144         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
6145         * lib/float.in.h: Likewise.
6146         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
6148 2017-06-11  Bruno Haible  <bruno@clisp.org>
6150         gnulib-tool: Clean up after autotools.
6151         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
6152         useless directory left over by the Autotools.
6154 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6156         getopt-posix: port to glibc 2.25.90
6157         Problem reported by Daniel P. Berrange in:
6158         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
6159         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
6160         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
6161         #undef if __GETOPT_PREFIX is defined.
6163 2017-06-11  Bruno Haible  <bruno@clisp.org>
6165         strtod-obsolete: Fix license.
6166         * modules/strtod-obsolete (License): Change to LGPL.
6168 2017-06-10  Jim Meyering  <meyering@fb.com>
6170         maint: update to work with GCC7's -Werror=implicit-fallthrough=
6171         * lib/savewd.c (FALLTHROUGH): Define.
6172         (savewd_save, savewd_restore): Use this, rather than a comment,
6173         whenever one switch case falls through into the next.
6175 2017-06-08  Bruno Haible  <bruno@clisp.org>
6177         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
6178         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
6179         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
6180         case.
6182 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
6184         doc: remove robots, add prereqs
6185         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
6186         builds.  Simon's robot site does not seem to be up, so remove
6187         mentions of it for now.
6189 2017-06-08  Bruno Haible  <bruno@clisp.org>
6191         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
6192         * gnulib-tool (func_symlink_target): New function, extracted from
6193         func_symlink.
6194         (func_symlink, func_symlink_if_changed): Use it.
6196 2017-06-08  Bruno Haible  <bruno@clisp.org>
6198         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
6199         * gnulib-tool (func_ln_s): Determine cp_src correctly.
6201 2017-06-07  Bruno Haible  <bruno@clisp.org>
6203         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
6204         Reported by John E. Malmberg <wb8tyw@gmail.com> in
6205         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
6206         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
6207         override, pass 2 arguments to getcwd, not 3.
6209 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
6211         same-inode: port better to VMS 8.2 and later
6212         Problem reported by John E. Malmberg in:
6213         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
6214         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
6215         Use the usual POSIX definition.
6216         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
6218 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6220         error: fix POSIX violation for va_end
6221         Problem reported by Bruno Haible in:
6222         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
6223         * lib/error.c (error_tail): Do not call va_end here.
6224         (error, error_at_line): Call it here instead.
6226 2017-05-28  Bruno Haible  <bruno@clisp.org>
6228         c-strtod: Make it usable in C++ mode.
6229         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
6231 2017-05-25  Jim Meyering  <meyering@fb.com>
6233         quotearg: fix compilation failure due to FALLTHROUGH misuse
6234         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
6235         macro back to /* fall through */ comment.  The macro can apply only
6236         to a following case statement.  Reported by Assaf Gordon.
6238 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6240         intprops: port to recent icc
6241         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
6242         but does not support __builtin_add_overflow etc.
6243         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
6244         Define to 0.
6246 2017-05-23  Karl Berry  <karl@freefriends.org>
6248         * config/srclist.txt (iconv.m4): sync broken, comment out
6249         until (hopefully) the next gettext release.
6251 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
6253         Remove repeated words in comments.
6255 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
6257         fallthrough: reinstate a FALLTHROUGH instance in quotearg
6258         quotearg.c: Reinstate this instance which is significant
6259         when the if branch is not taken.
6261 2017-05-21  Bruno Haible  <bruno@clisp.org>
6263         gnulib-tool: Add options to create hard links.
6264         * gnulib-tool (func_usage): Document options --hardlink,
6265         --local-hardlink, --more-hardlinks.
6266         (func_symlink): Renamed from func_ln.
6267         (func_symlink_if_changed): Renamed from func_ln_if_changed.
6268         (func_hardlink): New function.
6269         (copymode, lcopymode): New variables.
6270         (symbolic, lsymbolic): Remove variables.
6271         (Options): Implement options --hardlink, --local-hardlink,
6272         --more-hardlinks.
6273         (func_should_link): Renamed from func_should_symlink. Set copyaction.
6274         (func_add_file, func_update_file): Update invocation of
6275         func_should_link. Invoke func_hardlink when appropriate.
6276         (func_import): Update comments.
6277         (func_create_testdir): Update invocation of func_should_link. Invoke
6278         func_hardlink when appropriate.
6279         Finally, invoke 'git update-index --refresh' to mitigate the effects of
6280         the hard links on git.
6282 2017-05-20  Bruno Haible  <bruno@clisp.org>
6284         argp: Simplify bit manipulation.
6285         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
6286         on a signed integer type.
6288 2017-05-20  Bruno Haible  <bruno@clisp.org>
6290         Avoid wrong configure results with gcc -fsanitize=address.
6291         This completes the work done on 2016-02-06 on this topic.
6292         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
6293         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6294         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6295         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6296         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
6297         returning.
6298         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
6299         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
6300         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6301         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6302         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
6303         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
6304         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
6305         free allocated memory before returning.
6306         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6307         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
6308         objects before returning.
6309         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
6310         returning.
6312 2017-05-20  Bruno Haible  <bruno@clisp.org>
6314         gnulib-tool: Don't create hard links between gnulib and its testdirs.
6315         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
6317 2017-05-20  Bruno Haible  <bruno@clisp.org>
6319         argp, tsearch tests: Fix file list.
6320         * modules/argp-tests (Files): Add tests/macros.h.
6321         * modules/tsearch-tests (Files): Likewise.
6323 2017-05-20  Bruno Haible  <bruno@clisp.org>
6325         getopt-posix tests: Remove redundant include.
6326         * tests/test-getopt.h: Don't include "macros.h". It's already included
6327         by tests/test-getopt-main.h.
6329 2017-05-19  Jim Meyering  <meyering@fb.com>
6331         dfa: two small simplifications
6332         * lib/dfa.c (build_state): Avoid repeating longer expressions.
6334 2017-05-18  Jim Meyering  <meyering@fb.com>
6336         fallthrough: update for GCC 7/8
6337         * lib/quotearg.c (FALLTHROUGH): New macro.
6338         Use it whenever one switch case falls through into the next,
6339         replacing "/* Fall through */" comments.  This exposed one
6340         instance of an unwarranted "fall through" comment: unwarranted
6341         because it preceded a "goto" label not a case statement.
6342         * lib/freopen-safer.c (freopen_safer): Likewise.
6343         * lib/fts.c (leaf_optimization_applies): Likewise.
6344         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
6345         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
6346         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
6347         tests/macros.h for the definition.
6348         * tests/test-argp.c (group1_parser): Likewise.
6349         * tests/test-getopt.h (getopt_loop): Likewise.
6351 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6353         argp: fix shift bug
6354         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
6355         behavior on shift overflow, caught by gcc -fsanitize=undefined.
6357         argp: fix pointer-subtraction bug
6358         * lib/argp-help.c (hol_append): Don’t subtract pointers to
6359         different arrays, as this can run afoul of -fcheck-pointer-bounds.
6360         See the thread containing Bruno Haible’s report in:
6361         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
6363 2017-05-19  Bruno Haible  <bruno@clisp.org>
6365         printf-posix tests: Avoid test failure with "gcc --coverage".
6366         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6367         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
6368         than 5000000.
6369         * tests/test-fprintf-posix2.c (main): Likewise.
6371 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6373         closeout: don’t close stderr when sanitizing
6374         * NEWS: Document this.
6375         * lib/closeout.c (__has_feature): New macro, if not already defined.
6376         (SANITIZE_ADDRESS): New constant.
6377         (close_stdout): Don’t close stderr if sanitizing addresses.
6379 2017-05-19  Bruno Haible  <bruno@clisp.org>
6381         get-rusage-data tests: Avoid failure on Linux/glibc.
6382         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
6383         on glibc systems.
6385 2017-05-18  Bruno Haible  <bruno@clisp.org>
6387         localename: Include necessary header files on Cygwin.
6388         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
6389         where NL_LOCALE_NAME is defined.
6391 2017-05-18  Bruno Haible  <bruno@clisp.org>
6393         gettext: Update macros from gettext git.
6394         * m4/intldir.m4: Require Autoconf >= 2.60.
6395         * m4/progtest.m4: Fix typos in copyright notice.
6397 2017-05-18  Bruno Haible  <bruno@clisp.org>
6399         copy-file tests: Fix link error (regression from 2017-05-01).
6400         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6401         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
6402         $(LIB_CLOCK_GETTIME).
6404 2017-05-18  Bruno Haible  <bruno@clisp.org>
6406         unicase/special-casing: Fix incompatibility with gperf-3.0.4
6407         (regression from 2017-02-13).
6408         * lib/unicase/special-casing.in.h: Renamed from
6409         lib/unicase/special-casing.h.
6410         * modules/unicase/special-casing (Files): Add
6411         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
6412         (Makefile.am): Add rule for generating unicase/special-casing.h.
6413         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
6414         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
6415         not "special-casing.h".
6416         * lib/unicase/u*.c: Likewise.
6418 2017-05-17  Bruno Haible  <bruno@clisp.org>
6420         README: Don't ask people to read a TeXinfo file.
6421         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6422         * README: Tell people how to read the HTML formatted manual.
6424 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
6426         parse-datetime: Fix memleak
6427         * lib/parse-datetime.y (parse_datetime2): Cleanup on
6428         localtime_rz() failure.
6430 2017-05-16  Bruno Haible  <bruno@clisp.org>
6432         javacomp: Fix handle leak.
6433         Found by Coverity.
6434         * lib/javacomp.c (get_classfile_version): Close fd before returning.
6436 2017-05-16  Bruno Haible  <bruno@clisp.org>
6438         relocate: Make it easier to reclaim allocated memory.
6439         * lib/relocatable.h (relocate2): New declaration/macro.
6440         * lib/relocatable.c (relocate2): New function.
6441         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
6442         relocate2 function.
6443         * lib/localcharset.c (relocate2): Define fallback.
6444         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
6445         allocated memory.
6446         * lib/javaversion.c (relocate2): Define fallback.
6447         (javaexec_version): Invoke relocate2 instead of relocate. Free the
6448         allocated memory.
6450 2017-05-16  Bruno Haible  <bruno@clisp.org>
6452         relocate: Simplify EMX specific code.
6453         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
6454         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
6456 2017-05-16  Bruno Haible  <bruno@clisp.org>
6458         sigpipe tests: Fix file list.
6459         * modules/sigpipe-tests (Files): Add tests/macros.h.
6461 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6463         manywarnings: update for GCC 7
6464         * build-aux/gcc-warning.spec:
6465         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6466         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
6467         requires a non-comment fallthrough attribute.  This is a bit
6468         cleaner than the comment versions.
6469         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
6470         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
6471         Use it whenever one switch case falls through into the next.
6472         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
6473         Use FALLTHROUGH macro.
6475 2017-05-15  Bruno Haible  <bruno@clisp.org>
6477         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
6478         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
6479         @ALLOCA@, not @LTALLOCA@.
6481 2017-05-15  Bruno Haible  <bruno@clisp.org>
6483         sys_select: Avoid "was expanded before it was required" warning.
6484         * modules/sys_select (configure.ac): Require, not invoke,
6485         gl_HEADER_SYS_SELECT.
6487 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6489         gnulib-tool: improve GNU Make debugging
6490         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
6491         Report autoconf diagnostics when it fails, in the output makefile.
6493 2017-05-14  Bruno Haible  <bruno@clisp.org>
6495         stat-time tests: Improve comment.
6496         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
6498 2017-05-14  Bruno Haible  <bruno@clisp.org>
6500         same-inode: Adapt for windows-stat-inodes.
6501         * lib/same-inode.h: Include <sys/types.h>.
6502         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
6503         * modules/same-inode (Depends-on): Add sys_types.
6505 2017-05-14  Bruno Haible  <bruno@clisp.org>
6507         windows-stat-inodes: New module.
6508         * m4/windows-stat-inodes.m4: New file.
6509         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
6510         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
6511         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
6512         (_GL_WINDOWS_STAT_INODES): New macro.
6513         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
6514         (GetFileInformationByHandleExFunc): New variable.
6515         (initialize): Initialize it.
6516         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
6517         st_ino appropriately.
6518         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
6519         a fallback, because it does not provide st_dev and st_ino values.
6520         * modules/fstat (Depends-on): Add 'verify'.
6521         * modules/windows-stat-inodes: New file.
6522         * doc/windows-stat-inodes.texi: New file.
6523         * doc/gnulib.texi: Include it.
6524         * doc/posix-headers/sys_stat.texi: Mention the new module.
6526 2017-05-14  Bruno Haible  <bruno@clisp.org>
6528         stat-time tests: Workaround for native Windows.
6529         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
6530         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
6531         New variables.
6532         (initialize_filenames): New function.
6533         (main): Invoke it.
6534         (cleanup, prepare_test): Update.
6536 2017-05-14  Bruno Haible  <bruno@clisp.org>
6538         stat-time: Adapt for windows-stat-timespec.
6539         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
6540         entire st_ctim field.
6542 2017-05-13  Jim Meyering  <meyering@fb.com>
6544         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
6545         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
6546         file that uses the assume macro, claiming that verify.h is unused.
6548 2017-05-13  Bruno Haible  <bruno@clisp.org>
6550         Use symbolic values for _WIN32_WINNT.
6551         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
6552         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6554 2017-05-13  Bruno Haible  <bruno@clisp.org>
6556         year2038: New module.
6557         * m4/year2038.m4: New file.
6558         * modules/year2038: New file.
6559         * doc/year2038.texi: New file.
6560         * doc/gnulib.texi: Include it.
6562 2017-05-13  Bruno Haible  <bruno@clisp.org>
6564         largefile: Simplify.
6565         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
6566         of _GL_WINDOWS_64_BIT_ST_SIZE.
6568 2017-05-13  Bruno Haible  <bruno@clisp.org>
6570         largefile: Improve and document.
6571         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
6572         the mingw headers already define 'stat' appropriately.
6573         * modules/largefile (Description): Clarify.
6574         * doc/largefile.texi: New file.
6575         * doc/gnulib.texi: Include it.
6576         * doc/posix-headers/sys_types.texi: Update.
6578 2017-05-13  Bruno Haible  <bruno@clisp.org>
6580         truncate: New module.
6581         * lib/unistd.in.h (truncate): New declaration.
6582         * lib/truncate.c: New file.
6583         * m4/truncate.m4: New file.
6584         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
6585         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
6586         REPLACE_TRUNCATE.
6587         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
6588         HAVE_TRUNCATE, REPLACE_TRUNCATE.
6589         * modules/truncate: New file.
6590         * tests/test-unistd-c++.cc (truncate): Test signature.
6591         * doc/posix-functions/truncate.texi: Mention the new module.
6593         * tests/test-truncate.c: New file.
6594         * modules/truncate-tests: New file.
6596 2017-05-13  Bruno Haible  <bruno@clisp.org>
6598         windows-stat-timespec: New module.
6599         * modules/windows-stat-timespec: New file.
6600         * m4/windows-stat-timespec.m4: New file.
6601         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
6602         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
6603         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
6604         fields st_atim, st_mtim, st_ctim.
6605         (st_atime, st_mtime, st_ctime): Define as macros.
6606         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
6607         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
6608         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
6609         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
6610         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
6611         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
6612         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6613         FILETIME to 'struct timespec', not 'time_t'.
6614         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6615         FILETIME to 'struct timespec', not 'time_t'.
6616         * lib/stat-time.h (STAT_TIMESPEC): Define also if
6617         _GL_WINDOWS_STAT_TIMESPEC.
6618         * doc/windows-stat-timespec.texi: New file.
6619         * doc/gnulib.texi: Include it.
6621 2017-05-13  Bruno Haible  <bruno@clisp.org>
6623         windows-stat-override: New module.
6624         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
6625         definition. Define GNULIB_defined_struct_stat.
6626         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
6627         link error if this symbol is used and the corresponding module is not
6628         in use.
6629         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
6630         GNULIB_OVERRIDES_STRUCT_STAT.
6631         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6632         GNULIB_OVERRIDES_STRUCT_STAT.
6633         * modules/sys_stat (Makefile.am): Substitute
6634         GNULIB_OVERRIDES_STRUCT_STAT.
6635         * modules/windows-stat-override: New file.
6637 2017-05-13  Bruno Haible  <bruno@clisp.org>
6639         fstat: Fix module dependency conditions.
6640         * modules/fstat (Depends-on): Fix typo.
6642 2017-05-13  Bruno Haible  <bruno@clisp.org>
6644         stat, fstat: Complete removal of old native Windows code.
6645         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
6646         * lib/fstat.c: Likewise.
6647         * lib/stat-w32.c: Likewise.
6649 2017-05-13  Bruno Haible  <bruno@clisp.org>
6651         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
6652         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
6654 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6656         getopt-posix: port to mingw
6657         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
6658         Problem reported by Daniel P. Berrage in:
6659         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
6661 2017-05-11  Bruno Haible  <bruno@clisp.org>
6663         gettimeofday: Increase precision on mingw.
6664         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
6665         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
6666         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
6667         GetSystemTimePreciseAsFileTime based implementation always.
6668         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
6669         mingw.
6671 2017-05-11  Bruno Haible  <bruno@clisp.org>
6673         poll: Fix confusion between SOCKETs and FDs on native Windows.
6674         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
6675         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
6677 2017-05-11  Bruno Haible  <bruno@clisp.org>
6679         doc: Clarify doc about socket functions on native Windows.
6680         This reworks doc that was added on 2008-09-29.
6681         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
6682         clearer wording.
6683         * doc/posix-functions/accept.texi: Use clearer wording.
6684         * doc/posix-functions/bind.texi: Likewise.
6685         * doc/posix-functions/connect.texi: Likewise.
6686         * doc/posix-functions/getpeername.texi: Likewise.
6687         * doc/posix-functions/getsockname.texi: Likewise.
6688         * doc/posix-functions/getsockopt.texi: Likewise.
6689         * doc/posix-functions/ioctl.texi: Likewise.
6690         * doc/posix-functions/listen.texi: Likewise.
6691         * doc/posix-functions/recv.texi: Likewise.
6692         * doc/posix-functions/recvfrom.texi: Likewise.
6693         * doc/posix-functions/send.texi: Likewise.
6694         * doc/posix-functions/sendto.texi: Likewise.
6695         * doc/posix-functions/setsockopt.texi: Likewise.
6696         * doc/posix-functions/shutdown.texi: Likewise.
6697         * doc/posix-functions/socket.texi: Likewise.
6699 2017-05-10  Bruno Haible  <bruno@clisp.org>
6701         poll: Fix link error on native Windows.
6702         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
6704 2017-05-10  Bruno Haible  <bruno@clisp.org>
6706         time: Fix missing initialization of HAVE_TIMEZONE_T.
6707         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
6708         here...
6709         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
6710         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
6711         gl_HEADER_SYS_TIME_H_DEFAULTS.
6712         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
6713         (configure.ac): Remove useless quoting.
6715 2017-05-10  Bruno Haible  <bruno@clisp.org>
6717         Implement a way to opt out from MSVC support, part 2.
6718         * modules/msvc-inval (Include): Document recommended idiom.
6719         * modules/msvc-nothrow (Include): Likewise.
6721         Implement a way to opt out from MSVC support.
6722         This is useful for Emacs.
6723         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
6724         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
6725         * lib/error.c: Likewise.
6726         * lib/fcntl.c: Likewise.
6727         * lib/flock.c: Likewise.
6728         * lib/fstat.c: Likewise.
6729         * lib/fsync.c: Likewise.
6730         * lib/ioctl.c: Likewise.
6731         * lib/isapipe.c: Likewise.
6732         * lib/lseek.c: Likewise.
6733         * lib/nonblocking.c: Likewise.
6734         * lib/poll.c: Likewise.
6735         * lib/select.c: Likewise.
6736         * lib/sockets.h: Likewise.
6737         * lib/sockets.c: Likewise.
6738         * lib/stdio-read.c: Likewise.
6739         * lib/stdio-write.c: Likewise.
6740         * lib/utimens.c: Likewise.
6741         * lib/w32sock.h: Likewise.
6742         * lib/w32spawn.h: Likewise.
6743         * tests/test-cloexec.c: Likewise.
6744         * tests/test-dup-safer.c: Likewise.
6745         * tests/test-dup2.c: Likewise.
6746         * tests/test-dup3.c: Likewise.
6747         * tests/test-fcntl.c: Likewise.
6748         * tests/test-pipe.c: Likewise.
6749         * tests/test-pipe2.c: Likewise.
6750         * lib/ftruncate.c: Likewise.
6751         (chsize_nothrow): Renamed from chsize.
6752         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6753         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6754         * lib/close.c: Likewise.
6755         * lib/dup.c: Likewise.
6756         * lib/fclose.c: Likewise.
6757         * lib/raise.c: Likewise.
6758         * tests/test-fgetc.c: Likewise.
6759         * tests/test-fputc.c: Likewise.
6760         * tests/test-fread.c: Likewise.
6761         * tests/test-fwrite.c: Likewise.
6762         * lib/getdtablesize.c: Likewise.
6763         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6764         * lib/isatty.c: Don't include msvc-inval.h if
6765         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6766         Include <io.h> as an alternative to msvc-nothrow.h.
6767         * lib/read.c: Likewise.
6768         * lib/write.c: Likewise.
6769         * lib/dup2.c: Likewise.
6770         (dup2_nothrow): New function.
6771         (ms_windows_dup2): Use it.
6772         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6773         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6774         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6775         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6776         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6777         * m4/read.m4 (gl_FUNC_READ): Likewise.
6778         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6779         * doc/windows-without-msvc.texi: New file.
6780         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6781         section.
6783 2017-05-10  Bruno Haible  <bruno@clisp.org>
6785         wait-process: Adjust native Windows support.
6786         * lib/wait-process.c: Use the usual condition for recognizing a native
6787         Windows platform.
6789 2017-05-10  Bruno Haible  <bruno@clisp.org>
6791         doc: New chapter "Native Windows Support".
6792         * doc/gnulib.texi (Native Windows Support): New chapter.
6793         * doc/windows-libtool.texi: Small wording changes.
6794         * doc/windows-sockets.texi: Small wording and formatting changes.
6796 2017-05-10  Bruno Haible  <bruno@clisp.org>
6798         doc: Move section "Library version handling".
6799         * doc/gnulib.texi: Move section "Library version handling"
6800         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6802 2017-05-10  Bruno Haible  <bruno@clisp.org>
6804         doc: Move section "Running self-tests under valgrind".
6805         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6806         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6808 2017-05-10  Bruno Haible  <bruno@clisp.org>
6810         doc: New chapter "Build Infrastructure Modules".
6811         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6813 2017-05-10  Bruno Haible  <bruno@clisp.org>
6815         Prepare for reordering sections in the manual.
6816         * doc/gnulib.texi: Move several sections to separate files. Include
6817         these files.
6818         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6819         * doc/obsolete.texi: Likewise.
6820         * doc/extra-tests.texi: Likewise.
6821         * doc/transversal.texi: Likewise.
6822         * doc/namespace.texi: Likewise.
6823         * doc/check-version.texi: Likewise.
6824         * doc/windows-sockets.texi: Likewise.
6825         * doc/windows-libtool.texi: Likewise.
6826         * doc/licenses-texi.texi: Likewise.
6827         * doc/build-automation.texi: Likewise.
6828         * doc/c-locale.texi: Likewise.
6830 2017-05-10  Bruno Haible  <bruno@clisp.org>
6832         Fix instructions how to update manual on www.gnu.org.
6833         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6835 2017-05-09  Bruno Haible  <bruno@clisp.org>
6837         tzset: Expand comment about TZ problem on native Windows.
6838         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6839         Paul Eggert.
6840         * lib/ctime.c (rpl_ctime): Likewise.
6841         * lib/localtime.c (rpl_localtime): Likewise.
6842         * lib/mktime.c (mktime): Likewise.
6843         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6844         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6846 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6848         intprops: don’t depend on ‘verify’
6849         Problem reported by Ævar Arnfjörð Bjarmason in:
6850         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6851         * lib/intprops.h: Do not include verify.h, and move compile-time
6852         checks from here ...
6853         * tests/test-intprops.c (main): ... to here, if they’re not here
6854         already.  Check widths of other standard integer types.
6855         * modules/intprops (Depends-on): Remove ‘verify’.
6857 2017-05-07  Bruno Haible  <bruno@clisp.org>
6859         utimens: On native Windows, support 100ns resolution also if fd < 0.
6860         * lib/utime.in.h: Include <time.h>.
6861         (_gl_utimens_windows): New declaration.
6862         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6863         (utime): Invoke it.
6864         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6865         instead of utime.
6866         * modules/utime (Depends-on): Add 'time'.
6868 2017-05-07  Bruno Haible  <bruno@clisp.org>
6870         utimens: Improve error code on native Windows.
6871         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6872         error code EACCES, not EINVAL.
6874 2017-05-07  Bruno Haible  <bruno@clisp.org>
6876         utime: Handle more Windows error codes.
6877         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6878         Based on explanations by Billy O'Neal.
6880 2017-05-05  Bruno Haible  <bruno@clisp.org>
6882         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6883         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6884         union.
6885         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6886         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6887         value of cipher->IV.
6889 2017-05-05  Bruno Haible  <bruno@clisp.org>
6891         wctype-h-c++-tests: Update.
6892         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6894 2017-05-05  Bruno Haible  <bruno@clisp.org>
6896         wchar-c++-tests: Update.
6897         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6899 2017-05-05  Bruno Haible  <bruno@clisp.org>
6901         utime-h-c++-tests: New module.
6902         * tests/test-utime-h-c++.cc: New file.
6903         (utime): Declare, missing since 2017-04-30.
6904         * modules/utime-h-c++-tests: New file.
6906 2017-05-05  Bruno Haible  <bruno@clisp.org>
6908         unistd-c++-tests: Update.
6909         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6910         (read): Declare, missing since 2011-04-15.
6911         (sethostname): Declare, missing since 2011-12-03.
6913 2017-05-05  Bruno Haible  <bruno@clisp.org>
6915         time-c++-tests: Update.
6916         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6917         (localtime, gmtime): Declare, missing since 2017-04-30.
6918         (ctime): Declare, missing since 2017-04-30.
6919         (strftime): Declare, missing since 2017-04-30.
6920         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6921         2015-07-24.
6923 2017-05-05  Bruno Haible  <bruno@clisp.org>
6925         sys_resource-c++-tests: New module.
6926         * tests/test-sys_resource-c++.cc: New file.
6927         (getrusage): Declare, missing since 2012-04-13.
6928         * modules/sys_resource-c++-tests: New file.
6930 2017-05-05  Bruno Haible  <bruno@clisp.org>
6932         strings-c++-tests: New module.
6933         * tests/test-strings-c++.cc: New file.
6934         (ffs): Declare, missing since 2011-07-12.
6935         * modules/strings-c++-tests: New file.
6937 2017-05-05  Bruno Haible  <bruno@clisp.org>
6939         string-c++-tests: Update.
6940         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6941         (ffsll): Declare, missing since 2011-07-15.
6943 2017-05-05  Bruno Haible  <bruno@clisp.org>
6945         stdlib-c++-tests: Update.
6946         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6947         2011-10-18.
6948         (ptsname_r): Declare, missing since 2011-11-07.
6949         (qsort_r): Declare, missing since 2014-08-29.
6950         (random, srandom, initstate, setstate): Declare, missing since
6951         2012-01-14.
6952         (secure_getenv): Declare, missing since 2013-02-05.
6954 2017-05-05  Bruno Haible  <bruno@clisp.org>
6956         stdio-c++-tests: Update.
6957         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6959 2017-05-05  Bruno Haible  <bruno@clisp.org>
6961         signal-h-c++-tests: Update.
6962         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6964 2017-05-05  Bruno Haible  <bruno@clisp.org>
6966         math-c++-tests: Update.
6967         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
6968         (fma): Declare, missing since 2011-10-17.
6969         (fmal): Declare, missing since 2011-10-17.
6971 2017-05-05  Bruno Haible  <bruno@clisp.org>
6973         locale-c++-tests: Update.
6974         * tests/test-locale-c++.cc (localeconv): Declare, missing since
6975         2012-03-25.
6977 2017-05-05  Bruno Haible  <bruno@clisp.org>
6979         inttypes-c++-tests: New module.
6980         * tests/test-inttypes-c++.cc: New file.
6981         (strtoimax): Declare, missing since 2012-01-05.
6982         (strtoumax): Declare, missing since 2012-01-05.
6983         * modules/inttypes-c++-tests: New file.
6985 2017-05-05  Bruno Haible  <bruno@clisp.org>
6987         dirent-c++-tests: Update.
6988         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
6989         (rewinddir): Declare, missing since 2011-09-13.
6990         (dirfd): Declare, missing since 2010-03-08.
6992 2017-05-04  Bruno Haible  <bruno@clisp.org>
6994         argp: Fix mistake in 2017-04-23 commit.
6995         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
6996         assume that strerror_r returns 'int', not 'char *'.
6998 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
7000         argp: Fix typo.
7001         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
7003 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7005         utimens: port to Emacs + MS-Windows
7006         Skip the new MS-Windows-specific code if Emacs.
7007         * lib/utimens.c [EMACS_CONFIGUATION]:
7008         Avoid new MS-Windows-specific code.
7009         (USE_SETFILETIME): New macro.
7010         (fdutimens): Use it.
7012 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7014         tzset: update doc for TZ problems on MS-Windows
7015         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
7016         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
7017         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
7018         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
7019         * doc/posix-functions/wcsftime.texi:
7020         Mention some issues with TZ under MS-Windows.
7022 2017-05-01  Bruno Haible  <bruno@clisp.org>
7024         copy-file: Fix build error on mingw.
7025         * modules/copy-file (Depends-on): Add 'close'.
7027 2017-05-01  Bruno Haible  <bruno@clisp.org>
7029         tzset: Work around TZ problem on native Windows.
7030         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
7031         Windows, set REPLACE_TZSET to 1.
7032         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
7033         invoke '_tzset' instead of 'tzset'.
7034         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
7036         * modules/time_rz (Depends-on): Add tzset.
7037         * lib/time_rz.c (tzset): Remove fallback definition.
7038         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
7040 2017-05-01  Bruno Haible  <bruno@clisp.org>
7042         mktime: Fix dependencies.
7043         * modules/mktime (Depends-on): Add 'time'.
7045 2017-05-01  Bruno Haible  <bruno@clisp.org>
7047         New module 'localtime-buffer', split off from module 'gettimeofday'.
7048         * lib/localtime-buffer.h: New file.
7049         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
7050         * lib/time.in.h (tzset): New declaration.
7051         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
7052         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
7053         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
7054         moved to lib/localtime-buffer.c or lib/tzset.c.
7055         * m4/localtime-buffer.m4: New file.
7056         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
7057         HAVE_TZSET, REPLACE_TZSET.
7058         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
7059         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
7060         gl_LOCALTIME_BUFFER_NEEDED.
7061         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
7062         since 2007-01-18.
7063         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
7064         tzset.
7065         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
7066         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
7067         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
7068         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
7069         * modules/localtime-buffer: New file.
7070         * modules/time (Depends-on): Remove 'gettimeofday'.
7071         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
7072         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
7073         * modules/tzset (Description): Enable hyperlink to POSIX spec.
7074         (Files): Add lib/tzset.c.
7075         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
7076         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
7077         gl_TIME_MODULE_INDICATOR.
7078         * modules/gettimeofday (Depends-on): Add localtime-buffer.
7080 2017-05-01  Bruno Haible  <bruno@clisp.org>
7082         copy-file: Preserve sub-second time stamps.
7083         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
7084         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
7085         transport the time stamps from the original file to the destination
7086         file.
7087         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
7088         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
7089         utime-h.
7091 2017-05-01  Bruno Haible  <bruno@clisp.org>
7093         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
7094         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
7095         also on MSVC.
7096         Reported by Eli Zaretskii <eliz@gnu.org>.
7098 2017-05-01  Bruno Haible  <bruno@clisp.org>
7100         wchar: Fix compilation error with the original mingw.org mingw.
7101         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7102         <stddef.h> instead.
7103         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
7104         gl_WCTYPE_H.
7105         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
7106         gl_TYPE_WINT_T_PREREQ instead.
7107         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
7108         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
7109         Reported by Eli Zaretskii <eliz@gnu.org>.
7111 2017-04-30  Bruno Haible  <bruno@clisp.org>
7113         utimecmp: Add support for native Windows.
7114         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
7116 2017-04-30  Bruno Haible  <bruno@clisp.org>
7118         utimens: Add support for native Windows.
7119         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
7120         (fdutimens): Provide a native Windows implementation, like utime.c with
7121         added tv_nsec support.
7122         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
7123         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
7125 2017-04-30  Bruno Haible  <bruno@clisp.org>
7127         wcsftime: New module.
7128         * lib/wchar.in.h (wcsftime): New declaration.
7129         * lib/wcsftime.c: New file.
7130         * m4/wcsftime.m4: New file.
7131         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
7132         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
7133         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7134         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
7135         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7136         * modules/wcsftime: New file.
7137         * doc/posix-functions/wcsftime.texi: Mention the new module.
7139 2017-04-30  Bruno Haible  <bruno@clisp.org>
7141         strftime-fixes: New module.
7142         * lib/time.in.h (strftime): New declaration.
7143         * lib/strftime-fixes.c: New file.
7144         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
7145         (gl_FUNC_STRFTIME): Remove macro.
7146         * m4/strftime-fixes.m4: New file.
7147         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
7148         REPLACE_STRFTIME.
7149         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
7150         REPLACE_STRFTIME.
7151         * modules/strftime-fixes: New file.
7152         * doc/posix-functions/strftime.texi: Mention the new module.
7154 2017-04-30  Bruno Haible  <bruno@clisp.org>
7156         mktime: Work around TZ problem on native Windows.
7157         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
7158         from the native Windows workaround.
7159         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
7160         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
7161         'guessing no'.
7162         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
7163         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
7164         NEED_MKTIME_WINDOWS.
7165         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
7166         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
7167         NEED_MKTIME_INTERNAL.
7168         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
7169         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
7170         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
7171         not REPLACE_MKTIME.
7172         * doc/posix-functions/mktime.texi: Mention the native Windows
7173         workaround.
7175 2017-04-30  Bruno Haible  <bruno@clisp.org>
7177         localtime: New module.
7178         * lib/time.in.h (localtime): Declare also if requested by module
7179         'localtime'.
7180         * lib/localtime.c: New file.
7181         * m4/localtime.m4: New file.
7182         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
7183         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
7184         * modules/localtime: New file.
7185         * doc/posix-functions/localtime.texi: Mention the new module.
7187 2017-04-30  Bruno Haible  <bruno@clisp.org>
7189         ctime: New module.
7190         * lib/time.in.h (ctime): New declaration.
7191         * lib/ctime.c: New file.
7192         * m4/ctime.m4: New file.
7193         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
7194         REPLACE_CTIME.
7195         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
7196         * modules/ctime: New file.
7197         * doc/posix-functions/ctime.texi: Mention the new module.
7199 2017-04-30  Bruno Haible  <bruno@clisp.org>
7201         gettimeofday: Provide higher resolution on native Windows.
7202         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
7203         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
7204         (initialize): Initialize it.
7205         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
7206         'struct timeval'. Don't use _ftime().
7207         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
7208         <sys/timeb.h> and _ftime.
7210 2017-04-30  Bruno Haible  <bruno@clisp.org>
7212         Document the problem with the Cygwin environment variable TZ.
7213         * doc/posix-functions/tzset.texi: Add note about TZ.
7214         * doc/posix-functions/ctime.texi: Likewise.
7215         * doc/posix-functions/localtime.texi: Likewise.
7216         * doc/posix-functions/mktime.texi: Likewise.
7217         * doc/posix-functions/strftime.texi: Likewise.
7218         * doc/posix-functions/wcsftime.texi: Likewise.
7219         * doc/pastposix-functions/ftime.texi: Likewise.
7221 2017-04-30  Bruno Haible  <bruno@clisp.org>
7223         utime-tests: New module.
7224         * tests/test-utime.c: New file, based on tests/test-utimens.h.
7225         * tests/test-utimens-common.h: Include <sys/stat.h>.
7226         * modules/utime-tests: New file.
7228 2017-04-29  Bruno Haible  <bruno@clisp.org>
7230         utime: New module.
7231         * lib/utime.in.h: Add comment for snippets.
7232         (utime): New declaration.
7233         * lib/utime.c: New file.
7234         * m4/utime.m4: New file.
7235         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
7236         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
7237         REPLACE_UTIME.
7238         * modules/utime-h (Depends-on): Add snippets.
7239         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
7240         Insert snippets.
7241         * modules/utime: New file.
7242         * doc/posix-functions/utime.texi: Mention the new module.
7244 2017-04-29  Bruno Haible  <bruno@clisp.org>
7246         utime-h: Modernize handling of 'struct utimbuf'.
7247         * lib/utime.in.h: Include next <utime.h> if it exists.
7248         (utimbuf): Define to _utimbuf on native Windows.
7249         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
7250         Set UTIME_H on native Windows.
7251         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
7252         * modules/utime-h (Depends-on): Add include_next.
7253         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
7254         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
7256         * lib/utimens.c (utimbuf): Remove fallback definition.
7257         * m4/utimens.m4 (gl_UTIMENS): Don't require
7258         gl_CHECK_TYPE_STRUCT_UTIMBUF.
7259         * m4/utimbuf.m4: Remove file.
7260         * modules/utimens (Files): Remove m4/utimbuf.m4.
7262 2017-04-29  Bruno Haible  <bruno@clisp.org>
7264         Make use of module 'utime-h'.
7265         * modules/copy-file (Depends-on): Add utime-h.
7266         * lib/copy-file.c: Assume that <utime.h> exists.
7267         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
7269         * modules/utimens (Depends-on): Add utime-h.
7270         * lib/utimens.c: Assume that <utime.h> exists.
7272 2017-04-29  Bruno Haible  <bruno@clisp.org>
7274         utime-h: New module.
7275         * m4/utime_h.m4: New file.
7276         * lib/utime.in.h: New file.
7277         * modules/utime-h: New file.
7278         * doc/posix-headers/utime.texi: Mention the new module.
7280         * tests/test-utime-h.c: New file.
7281         * modules/utime-h-tests: New file.
7283 2017-04-30  Bruno Haible  <bruno@clisp.org>
7285         Fix a few typos.
7286         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
7287         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
7288         * doc/posix-functions/fstat.texi: Fix a plural typo.
7289         * doc/posix-functions/stat.texi: Likewise.
7290         * m4/include_next.m4: Update comments.
7292 2017-04-29  Bruno Haible  <bruno@clisp.org>
7294         error: Fix mistake in 2017-04-23 commit.
7295         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
7296         assume that strerror_r returns 'int', not 'char *'.
7298 2017-04-29  Bruno Haible  <bruno@clisp.org>
7300         stat: Fix time_t values and other problems on native Windows platforms.
7301         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
7302         implementations of stat().
7303         * lib/stat.c: Include filename.h instead of dosname.h. Include
7304         malloca.h, stat-w32.h.
7305         (is_unc_root): New function.
7306         (rpl_stat): New implementation for native Windows. Remove
7307         REPLACE_FUNC_STAT_DIR code.
7308         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
7309         Don't define REPLACE_FUNC_STAT_DIR.
7310         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
7311         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7312         (Depends-on): Remove dosname. Add filename, malloca.
7313         (configure.ac): Also compile lib/stat-w32.c.
7315 2017-04-29  Bruno Haible  <bruno@clisp.org>
7317         fstat: Fix time_t values on native Windows platforms.
7318         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
7319         * lib/stat-w32.h: New file.
7320         * lib/stat-w32.c: New file.
7321         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
7322         stat-w32.h instead.
7323         (fstat_nothrow): Remove function.
7324         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
7325         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
7326         always.
7327         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
7328         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7329         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
7330         (configure.ac): Also compile lib/stat-w32.c.
7332 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7334         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
7335         Problem reported by Assaf Gordon and Gavin Smith in:
7336         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
7337         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
7338         #define this, too.
7340 2017-04-29  Bruno Haible  <bruno@clisp.org>
7342         strerror_r-posix: Fixes for MSVC 14.
7343         * lib/strerror_r.c: Include <stdarg.h>.
7344         (strerror_r): Provide error messages for errno values 100...140.
7345         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
7347 2017-04-28  Bruno Haible  <bruno@clisp.org>
7349         noreturn: New module.
7350         * lib/noreturn.h: New file.
7351         * modules/noreturn: New file.
7352         * tests/test-noreturn.c: New file.
7353         * modules/noreturn-tests: New file.
7354         * tests/test-noreturn-c++.cc: New file.
7355         * modules/noreturn-c++-tests: New file.
7357 2017-04-27  Bruno Haible  <bruno@clisp.org>
7359         wctype-h: Fix compilation error with the original mingw.org mingw.
7360         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
7361         HAVE_CRTDEFS_H.
7362         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
7363         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7364         <stddef.h> instead.
7365         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
7367 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7369         nap.h: Fix compilation on non windows platforms
7370         * tests/nap.h: Move misplaced endif.
7372 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7373         and Paul Eggert  <eggert@cs.ucla.edu>
7375         time_rz: fix heap buffer overflow vulnerability
7376         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
7377         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
7378         whether there is enough buffer space available, thus avoiding
7379         the problematic promotion of signed to unsigned causing an invalid
7380         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
7381         the start of the buffer.
7382         * tests/test-parse-datetime.c (main): Add a test case written by
7383         Paul Eggert, which overwrites enough of the heap so that
7384         standard glibc will fail with "free(): invalid pointer"
7385         without the patch applied.
7387 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7389         xalloc: add missing integer overflow check
7390         * lib/xalloc.h (x2nrealloc): Also check for multiplication
7391         overflow when P is null.
7393 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7395         parse-datetime: make it standalone
7396         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
7397         (_GL_ATTRIBUTE_FORMAT): New macro.
7398         These are needed to get './gnulib-tool --test parse-datetime' to work.
7400 2017-04-23  Bruno Haible  <bruno@clisp.org>
7402         nap.h: Port to native Windows.
7403         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
7404         use nap_fd instead. On native Windows, close and reopen nap_fd.
7405         (nap_works): Don't compare the ctimes, because on native Windows, these
7406         are the creation times.
7407         (nap): Update.
7409 2017-04-23  Bruno Haible  <bruno@clisp.org>
7411         nap.h: Fix logic.
7412         * tests/nap.h (nap): Avoid signed integer overflow in loop.
7414 2017-04-23  Bruno Haible  <bruno@clisp.org>
7416         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
7417         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
7418         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
7419         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
7420         * lib/argp-help.c (__argp_failure): Likewise.
7422 2017-04-23  Bruno Haible  <bruno@clisp.org>
7424         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
7425         * m4/strerror_r.m4: Revert changes since 2016-10-16.
7426         * lib/strerror_r.c: Likewise.
7428 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
7430         Target a C99 subset, not a C89 subset
7431         For many years Gnulib has targeted C89 and has resisted using C99
7432         features, as some Gnulib-using programs still wanted to target
7433         C89.  As this no longer seems to be the case, relax the porting
7434         requirements to allow some C99 features.  This is merely a change
7435         to the documentation, to give other Gnulib developers a chance to
7436         weigh in on the topic.
7437         * doc/extern-inline.texi (extern inline):
7438         * doc/gnulib-readme.texi (Portability guidelines):
7439         * doc/gnulib-tool.texi (Initial import):
7440         * doc/gnulib.texi (Header files):
7441         Modernize to talk about C99 and C11 instead of C89 and C99.
7442         * doc/gnulib-readme.texi (Portability guidelines):
7443         Now a section, not merely a subsection, so that it
7444         can be split up.  Modernize a bit.
7445         (C language versions, C99 features assumed)
7446         (C99 features avoided):
7447         New sections.
7449 2017-04-23  Bruno Haible  <bruno@clisp.org>
7451         doc: New section "Modules that modify the way other modules work".
7452         * doc/gnulib.texi (Modules that modify the way other modules work): New
7453         section.
7455 2017-04-23  Bruno Haible  <bruno@clisp.org>
7457         stat-time: Update comments.
7458         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
7459         * tests/test-utimens-common.h: Add reference regarding st_ctime on
7460         Windows.
7462 2017-04-01  Bruno Haible  <bruno@clisp.org>
7464         glob: Fix more memory leaks.
7465         * lib/glob.c (glob): Free allocated memory before returning.
7466         Reported by Coverity via Tim Rühsen.
7468 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7470         poll: improve fast check for out-of-range NFD
7471         * lib/poll.c: Do not include intprops.h.
7472         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
7473         * modules/poll (Depends-on): Remove intprops.
7475         ftoastr: cite a newer paper
7476         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
7477         instead of Loitsch 2010.
7479 2017-04-22  Bruno Haible  <bruno@clisp.org>
7481         poll: Enable argument check also in the Windows implementation.
7482         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
7483         Reported by Paul Eggert.
7485 2017-04-22  Bruno Haible  <bruno@clisp.org>
7487         getlogin_r: Work around bug in Mac OS X 10.12.
7488         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
7489         bug.
7490         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
7491         given size minus 1, call getlogin_r a second time, on a larger buffer.
7492         * modules/getlogin_r (Depends-on): Add malloca.
7493         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
7495 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7497         parse-datetime: fix %z and prefer signed int
7498         %z problem reported by Pádraig Brady in:
7499         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
7500         While fixing it, I decided to prefer signed ints to size_t, as
7501         they are less error-prone (e.g., ubsan catches overflow).
7502         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
7503         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
7504         counts, since signed integers make for better debugging.
7505         (date): Don’t assume %z works in printf formats.
7506         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
7507         sizes of buffers known to be small, e.g., because we’re using snprintf.
7508         (parse_datetime2): Simplify call to debug_mktime_not_ok.
7510 2017-04-22  Bruno Haible  <bruno@clisp.org>
7512         *printf: Work around rounding bug on Mac OS X.
7513         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
7514         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
7515         Mac OS X and FreeBSD.
7516         * doc/glibc-functions/*printf.texi: Likewise.
7518 2017-04-22  Bruno Haible  <bruno@clisp.org>
7520         vasnprintf tests: Avoid warnings.
7521         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
7522         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
7523         test.
7525 2017-04-22  Bruno Haible  <bruno@clisp.org>
7527         sys_file tests: Avoid warning.
7528         * tests/test-sys_file.c (main): Add a default clause to the switch
7529         statement.
7531 2017-04-22  Bruno Haible  <bruno@clisp.org>
7533         sethostname: Update doc.
7534         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
7535         Mac OS X.
7537 2017-04-22  Bruno Haible  <bruno@clisp.org>
7539         quotearg tests: Avoid warnings.
7540         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
7541         false.
7543 2017-04-22  Bruno Haible  <bruno@clisp.org>
7545         poll: Enable argument check.
7546         * lib/poll.c: Include intprops.h.
7547         (poll): Check value of nfd correctly.
7548         * modules/poll (Depends-on): Add intprops.
7550 2017-04-22  Bruno Haible  <bruno@clisp.org>
7552         get-rusage-data: Avoid warnings on Mac OS X.
7553         * lib/get-rusage-data.c: On Mac OS X, don't define
7554         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
7555         (get_rusage_data) [Mac OS X]: Just return 0.
7557 2017-04-22  Bruno Haible  <bruno@clisp.org>
7559         xbinary-io: Fix build error.
7560         * modules/xbinary-io (Depends-on): Add gettext-h.
7561         * lib/xbinary-io.c: Include gettext.h and define _().
7562         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7563         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
7565 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7567         parse-datetime: overflow and debug cleanups
7568         This long patch was triggered by this bug report from Ruediger Meier:
7569         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
7570         I fixed the bug he noted, then found some others nearby, and then
7571         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
7572         up some of the code to follow GNU standards while I was at it.
7573         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
7574         use c_isdigit.
7575         (EPOCH_YEAR): Remove; unused.
7576         (TM_YEAR_BASE): Now an enum rather than a macro.
7577         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
7578         time zone offset, since timezones now are in terms of seconds and
7579         not minutes.
7580         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
7581         appropriate.  Verify that intmax_t is wide enough.
7582         (time_overflow, time_zone_str): New functions, used to deal
7583         more reliably with overflow.
7584         (dbg_printf): Add printf attribute, to help catch integer width errors.
7585         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
7586         (%union, to_hour, yylex, parse_datetime2):
7587         Use intmax_t instead of long int and/or long_time_t.
7588         All uses changed.
7589         (DBGBUFSIZE): Move earlier.
7590         (relative_time, set_hhmmss, parser_control):
7591         Just use int for nanoseconds and for time zones; that’s wide enough.
7592         (parser_control): Use bool for members like year_seen that can
7593         be booleans instead of counters.  All uses changed.
7594         Remove debug_default_input_timezone; no longer needed.
7595         All uses removed.
7596         (apply_relative_time): Return a bool overflow flag.
7597         All uses changed to check for overflow.
7598         (apply_relative_time, zone, date, relunit, relunit_snumber)
7599         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
7600         Check for integer overflow portably.
7601         (str_days): Use just int for N, as it’s wide enough.
7602         Prefer 2D char arrays to arrays of char * when it looks like
7603         2D is a win on typical platforms.
7604         Prefer snprintf to strncpy/strncat, for simplicity;
7605         all buffers are smaller than INT_MAX so this is safe.
7606         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
7607         (debug_print_current_time): Don’t assume tv_nsec is of type long,
7608         as this is not true on x32.  Output "." before any nanoseconds.
7609         (debug_print_current_time, parse_datetime2):
7610         Output local zones using a more-consistent format.
7611         (debug_print_current_time, date, parse_datetime2):
7612         (main) [TEST]:
7613         Don’t assume time_t is the same width as long.
7614         (print_rel_part): New function, replacing ...
7615         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
7616         (debug_print_relative_time): Use bool for boolean.
7617         (local_zone): dsts_seen now counts only tDST instances.
7618         (date): Fix printf of size_t to use %z.  Do not assume numeric
7619         tokens have negative values merely because the context suggests
7620         a syntax with "-" separating tokens.
7621         (time_zone_hhmm): Return bool success indicator, which checks for
7622         overflow.  Store result into PC->time_zone instead.  All callers
7623         changed.
7624         (tm_year_str): New function.  Return a bool success indicator and
7625         store the result into a buffer.  All callers changed.  Output the
7626         numerically correct string even if adding 1900 to the year would
7627         overflow.
7628         (to_tm_year): New function, replacing the old to_year.  All
7629         callers changed.
7630         (tm_diff): Sync with glibc.
7631         (lookup_word): Use to_uchar instead of doing it by hand.
7632         (TZBUFSIZE): Now local to the only function that needs it.
7633         (debug_strfdatetime): Simplify now that time zones are int seconds.
7634         (debug_strfdate): Work even if tm_year + 1900 would overflow.
7635         (get_effective_timezone): Remove.  All uses removed.
7636         (parse_datetime2): Use fprintf in pieces instead of snprintfing
7637         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
7638         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
7639         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
7640         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
7641         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
7642         * modules/parse-datetime (Depends-on): Add inttypes.
7644 2017-04-21  Bruno Haible  <bruno@clisp.org>
7646         gettext-h: Avoid -Wundef warning.
7647         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
7648         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7649         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
7651 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
7653         error: Avoid "function declaration isn't a prototype" warning.
7654         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
7656 2017-04-21  Bruno Haible  <bruno@clisp.org>
7658         vasnprintf: Fix for MSVC 14.
7659         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
7660         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
7661         of !HAVE_SNPRINTF_RETVAL_C99.
7663 2017-04-21  Bruno Haible  <bruno@clisp.org>
7665         mbrtowc tests: Fix test failures on MSVC 14.
7666         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
7667         behaviour for invalid input.
7669 2017-04-21  Bruno Haible  <bruno@clisp.org>
7671         mbsinit: Fix for MSVC 14.
7672         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
7673         implementation that is in sync with mbrtowc.c. On other platforms, use
7674         an adequate ad-hoc implementation.
7676 2017-04-21  Bruno Haible  <bruno@clisp.org>
7678         Fix test-mbrtowc5.sh failure on native Windows.
7679         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
7680         "C".
7682 2017-04-21  Bruno Haible  <bruno@clisp.org>
7684         Avoid accidental use of native Windows APIs on Cygwin.
7685         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
7686         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
7687         * lib/localename.c (WINDOWS_NATIVE): Likewise.
7689 2017-04-20  Bruno Haible  <bruno@clisp.org>
7691         Remove red warnings from the generated MODULES.html.
7692         * modules/fcntl (Description): Disambiguate function references.
7693         * modules/getcwd-lgpl (Description): Likewise.
7694         * modules/hostent (Description): Likewise.
7695         * modules/servent (Description): Likewise.
7696         * modules/tempname (Description): Likewise.
7698 2017-04-20  Bruno Haible  <bruno@clisp.org>
7700         verify tests: Fix spurious failure with parallel make.
7701         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
7702         EXTRA_PROGRAMS.
7703         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
7704         * tests/test-verify-try.c: New file.
7705         * modules/verify-tests (Files): Add it.
7706         (EXTRA_PROGRAMS): Add test-verify-try.
7707         (MOSTLYCLEANFILES): Update accordingly.
7708         Reported by Adam James Stewart <ajstewart@anl.gov>.
7710 2017-04-18  Bruno Haible  <bruno@clisp.org>
7712         vma-iter: Fix compilation error on Solaris 7.
7713         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
7714         like on IRIX, OSF/1.
7715         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7717 2017-04-18  Bruno Haible  <bruno@clisp.org>
7719         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
7720         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
7721         included.
7722         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
7723         <sys/procfs.h>.
7724         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
7725         <sys/procfs.h> cannot be included.
7726         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7728 2017-04-18  Bruno Haible  <bruno@clisp.org>
7730         getopt-gnu: Add comments.
7731         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
7732         * modules/getopt-gnu (configure.ac): Likewise.
7734 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7736         regex: port better to Solaris 10
7737         Solaris 10 <locale.h> includes <libintl.h>, which #defines
7738         gettext, and this causes a double #define.
7739         Problem reported by Gavin Smith in:
7740         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7741         * lib/regex_internal.h (gettext): #undef before #defining.
7743 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7745         intprops: improve comments
7746         * lib/intprops.h: Improve and shorten commentary.
7747         For the record, if we ever run into a pedantic compiler that
7748         behaves differently from GCC when converting an out-of-range value
7749         to a signed integer, we can work around the problem with something
7750         like the following code, where UCT is the signed counterpart of T
7751         (UCT is sometimes narrower than UT) and all callers are changed
7752         accordingly:
7753         #if __SUNPRO_C <= 0x5120
7754         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7755            ((t) ((ut) (a) op (ut) (b)))
7756         #else
7757         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7758            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7759             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7760                + TYPE_MINIMUM (t)) \
7761             : (t) (uct) ((ut) (a) op (ut) (b)))
7762         #endif
7764 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7766         intprops: try to avoid tickling similar bugs
7767         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7768         needs to be the same width as T; it can be wider.
7769         Change callers so that UT is at least as wide as unsigned int,
7770         as I suspect that this is less likely to run into compiler bugs.
7772         intprops: port to Oracle Studio 12.3 x86
7773         Problem reported by Gavin Smith in:
7774         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7775         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7776         Convert unsigned to signed via the usual rather than the standard way,
7777         to avoid a compiler bug in Oracle Studio 12.3 x86.
7779 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7781         getopt: prefer - to _ in new file names
7782         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7783         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7784         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7785         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7786         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7787         All uses changed.
7789         getopt: port recent getopt changes to macOS
7790         Problem reported by Harald Maier (Bug#26398).
7791         The macOS C compiler uses __nonnull for its own purposes and that
7792         clashes with glibc's __nonnull.
7793         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7794         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7795         * lib/getopt_core.h (getopt):
7796         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7797         Use _GL_ARG_NONNULL, not __nonnull.
7798         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7799         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7800         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7801         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7803 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7805         getopt-gnu: omit some duplicate code
7806         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7807         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7808         gnulib-tool already does this.
7809         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7810         getopt-posix, which we depend on.
7812         getopt-posix: use angle-bracket include
7813         * lib/getopt1.c: Include <config.h>, not "config.h".
7815 2017-04-06  Zack Weinberg  <zackw@panix.com>
7817         getopt: annotate files with relationship to glibc
7819         As the final act in this patchset, adjust the message at the top of
7820         each file to indicate which files are synced with glibc.  (This has
7821         already been done for most of the headers.)
7823         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7824         Mention in top-of-file boilerplate that these files are shared
7825         between glibc and gnulib.
7828         getopt: split up getopt.in.h and eliminate __need_getopt
7830         Over in glibc, all of the __need macros are being phased out in favor
7831         of small headers that declare only the necessary components, as this
7832         is much simpler and less prone to bugs.  As getopt is shared with
7833         glibc, gnulib needs to do the same for __need_getopt.
7835         __need_getopt is misnamed; what it really means is "we want only the
7836         getopt features specified in POSIX, not the GNU extensions".  glibc
7837         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7838         these files can be shared verbatim with gnulib.  The portability
7839         wrapper, on the other hand, they have renounced altogether; glibc's
7840         getopt.h will no longer be shared with gnulib at all.  In exchange,
7841         certain glibc-specific quirks (having to do with __posix_getopt) no
7842         longer need appear in gnulib's headers at all.
7844         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7845         splits up the current gnulib-side portability wrapper into three
7846         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7847         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7848         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7849         unistd.in.h just use them.  All new files are clearly marked with
7850         whether they are shared with glibc.
7852         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7853         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7854         with glibc, and ...
7855         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7856         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7857         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7858         instead of defining __need_getopt and including the full getopt.h.
7860         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7861         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7862         * modules/getopt-posix (Files): Add new headers and sort list.
7863         (Depends-on): No longer need snippet/arg-nonnull.
7864         (Makefile.am): Generate getopt_cdefs.h.
7867         getopt: better handling of ambiguous options
7869         glibc's getopt uses alloca to construct a linked list of possibilities
7870         for an "ambiguous" long option.  In gnulib, malloc should be used
7871         instead.  Providing for both cases complicates things a fair bit.
7873         This patch rewrites ambiguous-option handling to use a boolean vector
7874         instead of a linked list.  There is then only one allocation that
7875         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7876         and in gnulib we define __libc_use_alloca to always be false, so we
7877         don't need ifdefs in the middle of the function.  This should also be
7878         slightly more efficient in the normal case of long options being fully
7879         spelled out -- I think most people aren't even aware they _can_
7880         sometimes abbreviate long options.
7882         One interesting consequence is that the list of possibilities is now
7883         printed in exactly the order they appear in the list of long options,
7884         instead of the first possibility being shuffled to the end.
7886         (The patch looks bigger than it really is because there's a fair bit
7887         of reindentation and code rearrangement.)
7889         * lib/getopt.c: When used standalone, define __libc_use_alloca
7890         as always false and alloca to abort if called.
7891         (process_long_option): Rewrite handling of ambiguous long options
7892         to use a single boolean vector, not a linked list; use
7893         __libc_use_alloca to decide whether to allocate this using alloca.
7896         getopt: refactor long-option handling
7898         There were two copies of the bulk of the code to handle long options.
7899         Now there is only one.
7901         This change temporarily removes the logic to avoid using alloca when
7902         standalone; the next patch in the series will restore it.
7904         * lib/getopt.c (process_long_option): New function split out
7905         from _getopt_internal_r.
7906         (_getopt_internal_r): Replace both copies of the long-option
7907         processing code with calls to process_long_option.
7910         getopt: tidy up _getopt_initialize a bit
7912         _getopt_data.__posixly_correct is completely redundant to
7913         _getopt_data.__ordering, and some work that logically belongs in
7914         _getopt_initialize was being done by _getopt_internal_r, making the
7915         code harder to understand.
7917         As a side effect, getenv will no longer be called if the first
7918         character of the options string is '+' or '-', which is probably a
7919         Good Thing.  (Perhaps we should have a flag character that
7920         specifically asks for the permutation behavior?)
7922         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7923         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7924         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7927         getopt: merge from glibc: repetition reduction
7929         The definitions of the entry point functions 'getopt' and
7930         '__posix_getopt' can be made substantially less repetitive with a
7931         helper macro.
7933         While I was merging the const-correctness changes from gnulib into
7934         glibc I noticed there are still some unnecessary casts in
7935         _getopt_internal_r.
7937         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7938         a macro.  Consistently cast 'argv' to 'char **' when calling
7939         _getopt_internal.
7940         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7943         getopt: clean up error reporting
7945         getopt can print a whole bunch of error messages, and when used
7946         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7947         cancellation point and getopt isn't, and also applying fprintf to a
7948         stream in wide-character mode is not allowed.  So every single error
7949         reporting case has an #ifdef _LIBC block in which it calls internal
7950         libc functions instead.  The counterpart patch series in glibc makes
7951         it possible to simplify all of that down to a set of #defines at the
7952         top of the file; core code is written as if it is safe to just call
7953         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7954         call any *other* stdio functions.)
7956         * lib/getopt.c: When _LIBC is defined, define fprintf to
7957         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7958         to _IO_funlockfile.  When neither _LIBC nor
7959         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7960         funlockfile as no-ops.
7961         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7962         standalone error-printing code can now be used for libc as well.
7963         Add an flockfile/funlockfile pair around one case where the error
7964         message is printed in several chunks.  Don't use fputc.
7967         getopt: fix fencepost error in ambiguous-W-option handling
7969         getopt_long contains an undocumented (AFAICT) feature in which, if you
7970         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
7971         treated as equivalent to '--foo'.  This is implemented with a partial
7972         second copy of the code for handling long options, and that code
7973         increments optind one too many times when recovering from an ambiguous
7974         abbreviated option, which can cause the main loop to walk past the end
7975         of argv and crash.
7977         I discovered this while writing a test case that tries to exercise all
7978         of getopt's error reporting paths; I wouldn't be surprised to learn
7979         that this feature is never used by real applications.
7981         * lib/getopt.c (_getopt_internal_r): Don't increment
7982         d->optind a second time when reporting ambiguous -W options.
7985         getopt: clean up getopt.c and getopt1.c file headers
7987         In getopt.c, there is no need to include wchar.h at all, and it is
7988         safe nowadays to assume that stdlib.h does declare getenv (several
7989         other gnulib modules make this assumption).
7991         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
7992         by using "" inclusions consistently, and there is no actual need to
7993         include stdlib.h (except in the #ifdef TEST block, where it should be
7994         unconditional), nor to provide a backup definition of NULL at all.
7996         * lib/getopt1.c: Simplify #ifdeffage at top of file.
7997         Move inclusion of stdlib.h to #ifdef TEST block and make
7998         unconditional.  Do not define NULL.
7999         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
8000         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
8001         * modules/getopt-gnu, modules/getopt-posix: Don't call
8002         gl_PREREQ_GETENV.
8005         getopt: harmonize comments with glibc
8007         The comments explaining how the behavior of 'getopt' varies depending
8008         on whether it's the standalone version and whether there are special
8009         characters at the beginning of the options string were inconsistent
8010         between gnulib and glibc, and also out of sync with the code.
8012         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
8015         getopt: remove USE_NONOPTION_FLAGS
8017         getopt includes code to parse an environment variable named
8018         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
8019         in decimal); but all of it has been #ifdefed out since 2001, with no
8020         official way to turn it back on.
8022         According to commentary in glibc's config.h.in, bash version 2.0
8023         set this environment variable to indicate argv elements that were
8024         the result of glob expansion and therefore should not be treated
8025         as options, but the feature was "disabled later" because "it
8026         caused problems".  According to bash's CHANGES file, "later" was
8027         release 2.01; it gives no more detail about what the problems
8028         were.
8030         Version 2.0 of bash was released on the last day of 1996, and version
8031         2.01 in June of 1997.  Twenty years later, I think it is safe to
8032         assume that this environment variable isn't coming back.
8034         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
8035         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
8036         __libc_argc and __libc_argv externs, which were only used by
8037         #ifdef USE_NONOPTION_FLAGS blocks.
8040         getopt: tabify, in preparation for merge with glibc
8042         glibc sticks to the GNU default of indenting with a mix of
8043         8-column tabs and spaces; make the gnulib copy match.
8045         getopt.h is not included because it is *not* going to be merged in its
8046         present form.
8048         * getopt.c, getopt1.c, getopt_int.h: Tabify.
8050 2017-04-02  Bruno Haible  <bruno@clisp.org>
8052         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
8053         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
8054         like it was done in modules/relocatable-lib on 2011-05-21 and in
8055         modules/relocatable-prog on 2011-08-15.
8056         Reported by Reuben Thomas <rrt@sc3d.org>.
8058 2017-03-31  Bruno Haible  <bruno@clisp.org>
8060         glob: Fix invalid free() call.
8061         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
8062         static storage to home_dir.
8063         Reported by Coverity via Tim Rühsen.
8065 2017-03-31  Bruno Haible  <bruno@clisp.org>
8067         glob: Fix memory leaks.
8068         * lib/glob.c (glob): Free allocated memory before returning.
8069         Reported by Coverity via Tim Rühsen.
8071 2017-03-31  Bruno Haible  <bruno@clisp.org>
8073         md5, sha1, sha256, sha512: Add comments regarding correctness.
8074         * lib/md5.h (buflen): Add comments regarding range.
8075         * lib/sha1.h (buflen): Likewise.
8076         * lib/sha256.h (buflen): Likewise.
8077         * lib/sha512.h (buflen): Likewise.
8078         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
8079         * lib/sha1.c (sha1_process_bytes): Likewise.
8080         * lib/sha256.c (sha256_process_bytes): Likewise.
8081         * lib/sha512.c (sha512_process_bytes): Likewise.
8082         Reported by Coverity via Tim Rühsen.
8084 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
8086         getopt: merge from glibc
8087         This does not change anything substantial; it merely simplifies
8088         hypothetical merges back to glibc.
8089         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
8090         Change copyright notice to match what is in glibc.
8091         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
8092         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
8093         __open_memstream rather than open_memstream and __glibc_likely
8094         instead of __builtin_expect.
8095         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
8097 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8099         dfa: make [0-9] faster in non-C locales
8100         Problem reported by John P. Linderman (Bug#26193).
8101         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
8102         If both ends of the range are ASCII digits, do not worry about
8103         multi-character collating sequences and the like.  Be consistent
8104         about using isalpha as a precondition for setbit_case_fold_c.
8106 2017-03-19  Bruno Haible  <bruno@clisp.org>
8108         lock: Fix compilation error with HP-UX IA64 cc.
8109         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
8110         weak on non-glibc platforms.
8112 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8114         stdalign: tweak version# and test for HP-UX IA64
8115         Problems reported by Bruno Haible in:
8116         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
8117         * lib/stdalign.in.h (_Alignas):
8118         * m4/stdalign.m4 (gl_STDALIGN_H):
8119         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
8120         used octal (as that is how they document it), but it is decimal in
8121         practice now and the ancient implementations no longer matter.
8122         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
8124 2017-03-19  Bruno Haible  <bruno@clisp.org>
8126         vma-iter: Add support for Solaris.
8127         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
8128         approach.
8129         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
8130         * lib/get-rusage-as.c: Update comment about Solaris.
8131         * lib/get-rusage-data.c: Likewise.
8133 2017-03-19  Bruno Haible  <bruno@clisp.org>
8135         vma-iter: Prefer HP-UX specific API on HP-UX.
8136         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
8137         * lib/vma-iter.h: Update.
8138         Just in case HP-UX ever implements mquery().
8140 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
8142         stdalign: restore previous behavior for HP-UX IA64
8143         See Bruno Haible's email in:
8144         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8145         which cites p 150 of a manual saying that 'aligned' works on Itanium.
8146         * lib/stdalign.in.h (_Alignas):
8147         Assume the '061200' applies to Itanium, not to PA-RISC.
8148         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
8150 2017-03-17  Bruno Haible  <bruno@clisp.org>
8152         stat-time, timespec: Support use of the header files in C++ mode.
8153         * lib/stat-time.h: Add "C" linkage declaration.
8154         * lib/timespec.h: Likewise.
8156 2017-03-17  Bruno Haible  <bruno@clisp.org>
8158         stdalign: Make it work with HP-UX cc.
8159         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
8160         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
8161         for HP-UX cc.
8163 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
8165         flexmember: try to detect HP-UX 11.31 cc bug
8166         Problem reported by Bruno Haible in:
8167         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8168         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8169         Attempt to detect bug in HP-UX 11.31 cc.
8171 2017-03-16  Bruno Haible  <bruno@clisp.org>
8173         stdint: Fix test compilation failure with HP-UX 11 cc.
8174         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
8175         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
8176         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
8177         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
8179 2017-03-14  Bruno Haible  <bruno@clisp.org>
8181         gnulib-tool: Don't produce a tests directory with only snippet .h files.
8182         * gnulib-tool (func_modules_transitive_closure_separately): If
8183         testsrelated_modules ends up with no "real" modules, aside from
8184         modules with applicability 'all', set it to empty.
8186 2017-03-14  Bruno Haible  <bruno@clisp.org>
8188         vma-iter: Add support for HP-UX.
8189         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
8190         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
8191         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
8192         * lib/get-rusage-as.c: Update comment about HP-UX.
8193         * lib/get-rusage-data.c: Likewise.
8194         (get_rusage_data): Use get_rusage_data_via_setrlimit.
8196 2017-03-14  Bruno Haible  <bruno@clisp.org>
8198         limits-h: Make it work with HP-UX cc.
8199         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
8200         defined.
8202 2017-03-14  Bruno Haible  <bruno@clisp.org>
8204         Fix test failures on DragonFlyBSD.
8205         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
8206         * tests/test-select.h (test_bad_fd): Likewise.
8207         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
8209 2017-03-14  Bruno Haible  <bruno@clisp.org>
8211         freadahead: Silence warning on DragonFlyBSD.
8212         * lib/freadahead.c (__sreadahead): Declare ourselves.
8214 2017-03-14  Bruno Haible  <bruno@clisp.org>
8216         vma-iter: Add comment about AIX.
8217         * lib/vma-iter.c: Add comment about why this module is not implemented
8218         on AIX.
8220 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8222         snippets: move unadjusted snippet sources to lib
8223         Problem reported by Michal Privoznik in:
8224         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
8225         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
8226         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
8227         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
8228         * lib/unused-parameter.h: Rename from
8229         build-aux/snippet/unused-parameter.h.
8230         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
8231         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
8232         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
8233         * modules/snippet/c++defs (Files:, CXXDEFS_H):
8234         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
8235         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
8236         Adjust to file renamings.
8238 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
8240         gnulib-tool: don't automatically distribute files from top/
8241         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
8242         not distribute top/README-release by default, don't distribute files
8243         from top/ unconditionally.
8244         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
8245         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
8247 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8249         gnulib-tool: fix typo in comment output
8250         * gnulib-tool (func_import): Fix typo with previous change.
8252         snippets: work around GNU Make 3.82 VPATH
8253         When using 'gnulib-tool --gnu-make' on Emacs, and building
8254         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
8255         an out-of-source (VPATH) build failed because the sans-copyright
8256         snippet file was not built before the file that used it.
8257         Presumably this is some sort of VPATH thing.  Work around the
8258         problem by using the original snippet, i.e., don’t bother to
8259         remove its copyright notice.
8260         * modules/snippet/_Noreturn, modules/snippet/link-warning:
8261         Don’t assume Automake in comments.  Omit long-incorrect comment.
8262         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
8263         (MOSTLYCLEANFILES):
8264         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
8265         (MOSTLYCLEANFILES):
8266         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
8267         (MOSTLYCLEANFILES):
8268         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
8269         (MOSTLYCLEANFILES):
8270         Remove.
8271         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
8272         * modules/snippet/c++defs (CXXDEFS_H):
8273         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
8274         * modules/snippet/warn-on-use (WARN_ON_USE_H):
8275         Don’t bother to remove the copyright notice; just use the
8276         original snippet as-is.
8278 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
8280         gnulib-tool: minor --gnu-make fixups
8281         * gnulib-tool (func_emit_lib_Makefile_am):
8282         Remove useless code that was a blind alley during implementation.
8283         Problem reported by Thien-Thi Nguyen in:
8284         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
8285         (func_import): Note the "--gnu-make" option in the output comment.
8287 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
8289         gnulib-tool: new option --gnu-make
8290         This is for applications like GNU Emacs that use GNU Make
8291         features instead of Automake.
8292         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
8293         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
8294         Do not assume Automake.
8295         * gnulib-tool (func_determine_path_separator)
8296         (func_modules_transitive_closure, func_update_file)
8297         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
8298         (func_import): Add support for --gnu-make.
8300 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8302         gnulib-common.m4: avoid aclocal.m4 bloat
8303         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
8304         Hide AM_PROG_AR from aclocal, so that aclocal does not
8305         install irrelevant macro definitions into aclocal.m4.
8307 2017-03-10  Bruno Haible  <bruno@clisp.org>
8309         vma-iter: Let callers know about error.
8310         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
8311         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
8313 2017-03-05  Bruno Haible  <bruno@clisp.org>
8315         Fix value of LD for 64-bit compilers on AIX.
8316         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
8317         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
8319 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
8321         dtotimespec: simplify
8322         * lib/dtotimespec.c (dtotimespec): Simplify.
8324 2017-03-04  Bruno Haible  <bruno@clisp.org>
8326         test-calloc-gnu: Reenable test also for GCC 7.
8327         * tests/test-calloc-gnu.c (eight): New function.
8328         (main): Don't skip test; use eight() instead.
8330 2017-03-04  Jim Meyering  <meyering@fb.com>
8332         test-calloc-gnu: port to GCC7
8333         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
8334         that attempts to calloc more than SIZE_MAX bytes, because GCC7
8335         and newer would detect that at compilation time.
8337 2017-03-04  Bruno Haible  <bruno@clisp.org>
8339         tests: Avoid compiler warning about uses of null_ptr.
8340         * tests/null-ptr.h: New file.
8341         * tests/test-canonicalize.c: Include null-ptr.h.
8342         (null_ptr): Remove function.
8343         * tests/test-canonicalize-lgpl.c: Likewise.
8344         * tests/test-memmem.c: Likewise.
8345         * tests/test-ptsname_r.c: Likewise.
8346         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
8347         * modules/canonicalize-lgpl-tests: Likewise.
8348         * modules/memmem-tests: Likewise.
8349         * modules/ptsname_r-tests: Likewise.
8350         Reported by Jim Meyering.
8352 2017-03-03  Bruno Haible  <bruno@clisp.org>
8354         doc: Mention Mac OS X deficiencies regarding semaphores.
8355         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
8356         * doc/posix-functions/sem_destroy.texi: Likewise.
8357         * doc/posix-functions/sem_getvalue.texi: Likewise.
8359 2017-03-03  Bruno Haible  <bruno@clisp.org>
8361         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
8362         Reported by Assaf Gordon <assafgordon@gmail.com> via
8363         Pádraig Brady <P@draigBrady.com>.
8364         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
8365         semaphores.
8366         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
8367         (atomic_int_semaphore): New macro.
8369 2017-02-28  Bruno Haible  <bruno@clisp.org>
8371         perror tests: Tweak for z/OS.
8372         Reported by Daniel Richard G. <skunk@iskunk.org>.
8373         * tests/test-perror.sh: Don't fail z/OS style perror output.
8375 2017-02-26  Bruno Haible  <bruno@clisp.org>
8377         nproc: Refactor large function.
8378         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
8379         from num_processors.
8380         (num_processors): In this function, only deal with OMP.
8382 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8384         nproc: adjust handling of OpenMP environment variables
8385         to match the return value from omp_get_num_threads(), i.e.:
8386          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
8387          - Treat 0 as an invalid value and ignore
8388         Also remove the call to omp_get_num_threads() because
8389         it's ineffective without the omp pragmas in place.
8390         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
8391         so that it can be ignored.
8392         (num_processors): Honor OMP_THREAD_LIMIT even without
8393         OMP_NUM_THREADS being set.  Also fix a typo in the environment
8394         variable being checked, from the previous recent commit.
8396 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8398         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
8399         * lib/nproc.c (parse_omp_threads): A new function refactored
8400         from num_processors() to support parsing both of the
8401         above environment variables.
8402         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
8403         to accurately reflect the current OpenMP nesting level.
8404         Also support the OMP_THREAD_LIMIT environment variable
8405         to limit the max value determined from OMP_NUM_THREADS.
8406         * modules/nproc: Depend on minmax header.
8407         Suggested by Oliver Heimlich.
8409 2017-02-25  Bruno Haible  <bruno@clisp.org>
8411         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
8412         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
8414 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8416         ftoastr: port to -Wdouble-promotion
8417         Work around -Wdouble-promotion false alarm in recent GCCs.
8418         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
8419         (ftoastr_snprintf, FTOASTR): Use it.
8421 2017-02-21  Bruno Haible  <bruno@clisp.org>
8423         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
8424         Reported by Rene Saavedra <rennes@openmailbox.org> in
8425         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
8426         * lib/glthread/lock.h: On glibc systems without
8427         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
8428         implementation of rwlocks.
8429         * lib/glthread/lock.c: Likewise.
8431 2017-02-20  Bruno Haible  <bruno@clisp.org>
8433         lock tests: Fix build failure on z/OS.
8434         Reported by Daniel Richard G. <skunk@iskunk.org>.
8435         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
8436         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
8437         exist.
8439 2017-02-19  Bruno Haible  <bruno@clisp.org>
8441         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
8442         This helps when CC=clang.
8443         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
8444         of /usr/bin/gcc.
8446         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
8447         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
8449 2017-02-19  Bruno Haible  <bruno@clisp.org>
8451         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
8452         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
8453         --with-tests --single-configure is specified.
8455 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
8457         users.txt: Update links, use HTTPS where possible
8458         * users.txt: Updated to HTTPS where possible,
8459         fixed some links to new locations.
8461 2017-02-16  Bruno Haible  <bruno@clisp.org>
8463         xbinary-io: Fix inlining.
8464         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
8466 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8468         xbinary-io: rename from xsetmode
8469         This patch is taken from suggestions by Bruno Haible in:
8470         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
8471         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
8472         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
8473         not ENOTTY, when it is an inappropriate device.
8474         * lib/binary-io.h (SET_BINARY): Resurrect.
8475         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
8476         (xset_binary_mode_error): Rename from xsetmode_error.
8477         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
8478         (xset_binary_mode): Rename from xsetmode.
8479         All uses changed.
8480         * modules/xbinary-io: Rename from modules/xsetmode.
8481         Update file names.
8482         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
8483         * NEWS: Update to match revised behavior.
8485 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8487         tests: Adjust to recent SET_BINARY change
8488         * tests/test-binary-io.c (main):
8489         * tests/test-binary-io.sh: Remove test for SET_BINARY.
8490         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
8491         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
8492         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
8494         xsetmode: new module
8495         This is to fix a problem noted by Eric Blake.
8496         Code was using xfreopen to change files to binary mode, but this
8497         fails for stdout when in append mode.  Such code should use
8498         xsetmode instead.
8499         * NEWS: Document incompatible changes to binary-io module.
8500         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
8501         New function.
8502         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
8503         (set_binary_mode): New function, which also checks for tty.
8504         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
8506 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8508         headers: fix begin-end typos
8509         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
8510         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
8512         selinux-h: port to PGI 16.10
8513         * lib/se-selinux.in.h: Don't assume that include_next skips over
8514         duplicate -I DIR options.
8516         argp: port to PGI 16.10
8517         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
8519 2017-02-13  Darshit Shah  <darnir@gnu.org>
8521         unicase: Update function protoype to match definition.
8522         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
8523         uses 'size_t' as the datatype for the 'len' parameter in the functions
8524         it generates. Update the prototype specified here to match the newly
8525         generated function.
8527 2017-02-12  Bruno Haible  <bruno@clisp.org>
8529         times test: Avoid gcc warnings on Linux/x32.
8530         * tests/test-times.c (main): Really cast printf arguments from clock_t
8531         to 'long int'.
8533 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8535         glob: port better to emscripten
8536         Problem reported by Bruno Haible in:
8537         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
8538         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
8540 2017-02-11  Bruno Haible  <bruno@clisp.org>
8542         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
8543         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
8544         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
8545         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
8546         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
8547         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
8548         Distinguish hppa64 from hppa.
8550 2017-02-10  Bruno Haible  <bruno@clisp.org>
8552         search: Don't assume that tsearch() exists if 'VISIT' is defined.
8553         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
8554         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
8555         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
8557 2017-02-09  Bruno Haible  <bruno@clisp.org>
8559         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
8560         * doc/gnulib.texi (Libtool and Windows): Recommend
8561         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
8562         Reported by Reuben Thomas <rrt@sc3d.org>.
8564 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8566         stddef-tests: port to SIZE_MAX <= INT_MAX
8567         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
8568         Do not assume that INT_MAX < SIZE_MAX.
8570 2017-02-01  Bruno Haible  <bruno@clisp.org>
8572         lock tests: Fix link error.
8573         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
8574         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8576 2017-01-31  Bruno Haible  <bruno@clisp.org>
8578         lock: Fix link error (regression from 2017-01-05).
8579         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
8580         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
8581         pthread_rwlockattr_destroy weak.
8582         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8584 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8586         Port to PGI 16.10 x86-64
8587         This patch fixes one real bug in gl_anylinked_list2.h, along with
8588         some minor glitches that are not bugs.  It does not silence PGI’s
8589         thousands of bogus warnings when compiling test-intprops.c.
8590         Fortunately, the warnings do not cause a failure.
8591         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
8592         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
8593         My goodness, PGI goes back a long ways - this predates C89!
8594         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
8595         For example, ASYNCSAFE (const void *) should expand to
8596         ‘const void *volatile’, not to ‘volatile const void *’.
8597         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
8598         * lib/verify.h (verify) [!__GNUC__]:
8599         Use shorter albeit meaningless string to bypass silly compiler limits.
8600         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
8601         * tests/nan.h (NaNf, NaNd, NaNl):
8602         Use static functions to avoid misguided compiler diagnostics.
8603         Is there some reason we don’t use static functions on all platforms?
8605 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8607         parse-datetime: handle timezones reentrantly
8608         This API change was prompted by a report by Pádraig Brady in:
8609         https://bug.debian.org/851934#10
8610         To help fix the bug, make parse_datetime2 more reentrant.
8611         * NEWS: Document this incompatible change.
8612         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
8613         Add two arguments, the timezone and the timezone name.
8614         All callers changed.  If TZ="..." is specified, use it for
8615         calculating defaults.
8616         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
8617         this code should be usable in a library.
8618         (mktime_ok, get_effective_timezone):
8619         Accept timezone arg too.  All callers changed.
8620         (get_tz): Remove.
8621         (get_effective_timezone): Check for failures.
8623 2017-01-20  Eric Blake  <eblake@redhat.com>
8625         localename: port to cygwin 2.6
8626         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
8627         Cygwin.
8628         * modules/localename (Depends-on): Add extensions, since
8629         NL_LOCALE_NAME() is not visible without it.
8631 2017-01-17  Pádraig Brady  <P@draigBrady.com>
8633         parse-datetime: fix dependence on AC_PROG_SED
8634         * modules/parse-datetime: Use `sed` directly like all other modules.
8635         Reported by J William Piggott
8637 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8639         intprops: update doc URLs
8640         * doc/intprops.texi (Integer Range Overflow): Update URLs.
8642 2017-01-16  Bruno Haible  <bruno@clisp.org>
8644         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
8645         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
8646         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
8647         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
8648         distinguish s390 and s390x.
8649         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
8650         * NEWS: Mention the change regarding 'armel'.
8652 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8654         localeinfo: case_folded_counterparts and WEOF
8655         * NEWS: Document this.
8656         * lib/localeinfo.c (case_folded_counterparts):
8657         First arg is now wint_t, not wchar_t.  This generalizes the
8658         function to also work on WEOF, where it returns 0.
8660         dfa: port to gcc -fsanitize=undefined
8661         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
8662         as this runs afoul of gcc -fsanitize=undefined.
8664 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
8666         strftime: %z is -00 if unknown
8667         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
8668         the caller's responsibility to set 'negative_number'.  All uses changed.
8669         (__strftime_internal): Put '-' before a zero UTC offset if the time
8670         zone abbreviation starts with "-", which is the recently-introduced
8671         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
8672         * tests/test-strftime.c: Test for this.
8674 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8676         dfa: port to older GCC
8677         Problem reported by Assaf Gordon in:
8678         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
8679         * modules/c99: New module.  This merely attempts to use the latest
8680         C version, which should be enough to solve this particular problem.
8681         The idea is to document which Gnulib modules assume C99 or later.
8682         * modules/dfa (Depends-on): Add it.
8684 2017-01-10  Bruno Haible  <bruno@clisp.org>
8686         Update DEPENDENCIES.
8687         * DEPENDENCIES: List only https URLs. Update recommended version for
8688         autoconf, automake, gperf.
8690 2017-01-10  Jim Meyering  <meyering@fb.com>
8692         maint.mk: enforce spelling of "timestamp" (i.e., no space)
8693         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
8694         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
8696 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8698         dfa: minor simplification with emptyset
8699         * lib/dfa.c (build_state): Simplify by using emptyset.
8701 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8703         dfa: shrink constraints from 4 bits to 3
8704         * lib/dfa.c (newline_constraint, letter_constraint)
8705         (other_constraint, prev_newline_dependent)
8706         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
8707         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
8708         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
8709         Constraints need only 3 bits, not 4.  Using smaller integers
8710         shrinks the code a bit and makes grep a tad faster on x86-64.
8712         dfa: omit unnecessary ptrdiff_t check
8713         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
8714         overflow, since xnmalloc does that now.
8716         dfa: omit unnecessary allocation
8717         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
8718         an all-zero follow set works just fine.
8720         dfa: omit unused local
8721         * lib/dfa.c (build_state): Fix up recent change.
8723         maint: remove stray .texi files
8724         Although these were superseded by other files like
8725         doc/posix-functions/ctime.texi, the old files were not removed.
8726         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
8728 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8730         getprogname: fix port to IRIX
8731         * lib/getprogname.c (getprogname) [__sgi]:
8732         Don't dump core if malloc returns NULL.
8734         dfa: fix reallocation bug when matching newlines
8735         Problem reported for sed by S. Gilles (Bug#25390).
8736         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
8737         (dfastate): Reallocate before moving any newline transition ...
8738         (build_state): ... instead of reallocating here, where it is too late.
8740 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8742         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8743         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8745 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8747         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8748         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8750 2017-01-07  Bruno Haible  <bruno@clisp.org>
8752         stdioext: Port to Minix 3.2 and newer.
8753         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8754         * lib/fseeko.c (fseeko): Likewise.
8755         Reported by Nelson Beebe via Paul Eggert.
8757 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8759         getprogname: port to IRIX
8760         * lib/getprogname.c (getprogname): Port to IRIX.
8761         Based on an idea by Bastien Roucariès at:
8762         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8763         via code from Bruno Haible at:
8764         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8766         localename-tests: port to NetBSD 7
8767         Problem reported by Nelson H. F. Beebe.
8768         * tests/test-localename.c:
8769         Test newlocale and uselocale only if both exist.
8771         glob, intprops, xalloc: work around Clang bug
8772         Work around LLVM bug 16404, which is still not fixed.
8773         https://llvm.org/bugs/show_bug.cgi?id=16404
8774         Problem reported by Nelson H. F. Beebe.
8775         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8776         Remove.
8777         * lib/glob.c (size_add_wrapv):
8778         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8779         * lib/xalloc-oversized.h (xalloc_oversized):
8780         Do not use overflow builtins if Clang.
8782         dfa: fix 'return' typo
8783         Problem reported by Nelson H. F. Beebe.
8784         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8786 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8788         parse-datetime: fix generated paths for coverage files
8789         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8790         within parse-datetime.c, so that gcc generates appropriate .gcno
8791         files, allowing lcov to proceed without error.  Previously it
8792         would error trying to find "lib/lib/parse-datetime.y".
8794 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8796         maint.mk: support parallel execution of coverage
8797         * top/maint.mk (coverage): Run dependencies serially,
8798         thus supporting parallel processing of each one,
8799         particularly build-coverage, which builds and runs tests.
8801 2017-01-05  Bruno Haible  <bruno@clisp.org>
8803         lock tests: Prefer semaphore over mutex.
8804         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8805         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8806         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8807         Suggested by Torvald Riegel <triegel@redhat.com>.
8809 2017-01-05  Bruno Haible  <bruno@clisp.org>
8811         lock: Provide guarantee to avoid writer starvation for rwlocks.
8812         The rationale is: 1) Read-preferring read-write locks are prone to
8813         writer starvation if the number of reader threads multiplied by the
8814         percentage of time they have the lock held is too high. 2) Write-
8815         preferring read-write locks are the only reliable way to avoid this.
8816         3) There have been reports of 'test-lock' hanging on glibc systems
8817         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8818         and glibc indeed implements read-preferring rwlocks by default, see
8819         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8820         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8821         * m4/pthread_rwlock_rdlock.m4: New file.
8822         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8823         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8824         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8825         of rwlock initialization on glibc systems without
8826         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8827         of rwlocks altogether on non-glibc systems without
8828         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8829         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8830         * lib/glthread/lock.c [USE_POSIX_THREADS]
8831         (glthread_rwlock_init_for_glibc): New function.
8832         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8833         comment.
8834         [USE_PTH_THREADS]: New implementation of rwlocks.
8835         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8836         readers.
8837         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8838         (Depends-on): Add 'extensions'.
8839         * tests/test-rwlock1.c: New file.
8840         * lock-tests (Files): Add it.
8841         (Depends-on): Add usleep.
8842         (Makefile.am): Add test-rwlock1 to the tests.
8844 2017-01-05  Bruno Haible  <bruno@clisp.org>
8846         thread: Fix pth port.
8847         * lib/glthread/thread.h (pth_init): Declare weak.
8848         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8849         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8850         function.
8852 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8854         parse-datetime: fix debug message on lone year number
8855         Input dates such as
8856           date -d "Apr 11 22:59:00 2011"
8857         are parsed as date (Apr 11, with default year 2016), then time, then a
8858         number (2011). Based on the combination of previously seen tokens,
8859         'digits_to_date_time' determines 2011 to be a year value.
8860         This fixes the debug messages to correctly show the updated year.
8861         Before:
8862             $ date --debug -d 'Apr 11 22:59:00 2011'
8863             date: parsed date part: (Y-M-D) 2016-04-11
8864             date: parsed time part: 22:59:00
8865             date: parsed number part: today/this/now
8866         After:
8867             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8868             date: parsed date part: (Y-M-D) 2016-04-11
8869             date: parsed time part: 22:59:00
8870             date: parsed number part: year: 2011
8871         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8872         'debug_year_seen' member fields.
8873         (digits_to_date_time): Update 'year_seen' as needed.
8874         (debug_print_current_time): Inform about year updates.
8875         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8877         parse-datetime: fix local timezone debug messages
8878         "Local timezones" are strings that affect only DST relative to the
8879         default timezone. The debug messages in parse-datetime.y printed
8880         wrong information when encountering local timezones.
8881         Examples:
8882         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8883              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8884              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8885         When the default timezone relates to the zone strings, EET/EEST are
8886         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8887         value (0/1, respectively):
8888              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8889              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8890         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8891         was seen, inform about DST change, don't print actual timezone.
8892         (debug_strfdatetime): If local timezone was seen, use default timezone
8893         (and adjust as needed) instead of using incorrect timezone.
8894         (parse_datetime2): Use correct time-zone source string, and adjust
8895         default timezone as needed.
8897         parse-datetime: add debug warning about DST changes
8898         Incorrect date arithmetic due to daylight saving time (DST) are a
8899         common (false) bug report in coreutils.
8900         Detect two such cases and print a warning:
8901         1. year/month/day adjustments (performed on 'struct tm'),
8902            where 'mktime' returns a different isdst value.
8903         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8904            where the result of 'localtime(3)' on the value will return a
8905            different isdst value.
8906         Note: DST changes could be harmless or unnoticeable.
8907         Examples (with 'TZ=America/New_York'):
8908         Unnoticeable: result is 2016-Dec-14
8909            $ date -d '2016-06-15 EDT + 6 months' +%b
8910            Dec
8911         Unnoticeable: result is 2016-Dec-15 11:00:00
8912            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8913            2016-12-15
8914         This is unexpected:
8915            $ date -d '2016-06-01 EDT + 6 months' +%F
8916            2016-11-30
8917         The new debug warnings will show:
8918            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8919            ...
8920            date: warning: daylight saving time changed after date adjustment
8921            ...
8922         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8923         print an appropriate warning message.
8925         parse-datetime: add debug warning about date arithmetic
8926         Date arithmetic are done directly on the fields of 'struct tm',
8927         which can result in invalid dates. Normalization with 'mktime(3)'
8928         will then produce a different date - which might cause unexpected
8929         results.
8930         Examples:
8931           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8932           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8933         Note that date normalization is not inherently wrong and not rejected,
8934         as it has legitimate uses:
8935           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8936         If the user asked to adjust months but 'mday' changed,
8937         or user asked to adjust years but 'month' changed - warn about it.
8938             $ ./src/date --debug -d '2016-10-31 - 1 month'
8939             ...
8940             date: warning: when adding relative months/years, \
8941                            it is recommended to specify the 15th of the month
8942             ...
8943             date: warning: month/year adjustment resulted in shifted dates:
8944             date:      adjusted Y M D: 2016 09 31
8945             date:    normalized Y M D: 2010 10 01
8946             ...
8947         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8948         a warning message. Improve recommendation of when to use 15 of the
8949         month or noon for date arithmetic.
8951         parse-datetime: fix debug message of relative part after timezone
8952         Relative part (e.g '+8 days') after a timezone string was not
8953         reported (was only reported after a timezone number). Due to the
8954         parser's structure, timezone strings with numbers were handled
8955         separately.
8956         before:
8957              # Timezone number + relative part: OK
8958              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8959              ...
8960              date: parsed relative part: -8 day(s)
8961              # Timezone string + relative part: missing
8962              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8963              [ missing message ]
8964         After: messages are printed in both cases.
8965         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
8967         parse-datetime: fix incorrect debug message on lone number
8968         A lone number is an absolute value, not a relative time part.
8969         before:
8970            $ date --debug -d '20130101'
8971            date: parsed number part: today/this/now
8972         After:
8973            $ ./src/date --debug -d '20130101'
8974            date: parsed number part: (Y-M-D) 2013-01-01
8975         * lib/parse-datetime.y ('item'/'number' tokens): Call
8976         'debug_print_current_time' instead of 'debug_print_relative_time'.
8978 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8980         doc: modernize for C11 etc.
8981         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
8982         for C11, MinGW, etc.  This responds to Paul Smith's question in:
8983         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
8985         dfa: prefer functions to FETCH_WC macro
8986         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
8987         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
8988         wint_t result into DFA->lex.wctok instead of to a separate arg.
8989         All callers changed.  Move more local decls closer to where
8990         they're used.
8992         dfa: narrow more local var scopes
8993         * lib/dfa.c: Move more local decls to be more local.
8995         dfa: remove duplicate assignment
8996         Problem reported by Bruno Haible in:
8997         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
8998         * lib/dfa.c (parse_bracket_exp): Simplify.
9000 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9002         dfa: simplify constraint-dependency checking
9003         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
9004         (prev_other_constraint): Remove.
9005         (prev_newline_dependent, prev_letter_dependent):
9006         Simplify, to avoid an unnecessary bitwise AND operation.
9008         dfa: prefer functions and constants to macros
9009         * lib/dfa.c: Prefer constants to macros where either will do.
9010         (streq, isasciidigit, newline_constraint)
9011         (letter_constraint, other_constraint, succeeds_in_context)
9012         (prev_newline_constraint, prev_letter_constraint)
9013         (prev_other_constraint, prev_newline_dependent)
9014         (prev_letter_dependent, accepting, accepts_in_context):
9015         Now static functions instead of function-like macros.
9016         Use lower-case names accordingly.  All uses changed.
9018         dfa: narrow more local var scopes
9019         * lib/dfa.c: Move some more local decls down to nearer where
9020         they're needed.
9022 2016-12-31  Jim Meyering  <meyering@fb.com>
9024         dfa: narrow the scope of many local variables
9025         * lib/dfa.c: Now that we are no longer constrained to c89, move
9026         declarations of many variables (often indices) "down" into the
9027         scope(s) where used or to the point of definition.  This is a
9028         no-semantic-change diff.
9030 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9032         version-etc: new year
9033         * build-aux/gendocs.sh (version):
9034         * doc/gendocs_template:
9035         * doc/gendocs_template_min:
9036         * doc/gnulib.texi:
9037         * lib/version-etc.c (COPYRIGHT_YEAR):
9038         Update copyright dates by hand in templates and the like.
9039         * all files: Run 'make update-copyright'.
9041 2016-12-31  Eric Blake  <eblake@redhat.com>
9043         do-release-commit-and-tag: avoid shell syntax error
9044         * build-aux/do-release-commit-and-tag (curr_br): $branch can
9045         contain spaces when rebasing.
9047         maint.mk: hoist gnulib_dir definition earlier
9048         * top/maint.mk (gnulib_dir): Move near top of file.
9050 2016-12-31  Jim Meyering  <meyering@fb.com>
9052         maint.mk: do not always evaluate intprops-related shell
9053         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
9054         using gnulib_dir undefined (gnulib_dir is defined later in the
9055         file, which will be fixed separately), and besides, there is no
9056         need to incur the cost of this shell invocation for every single
9057         use of this .mk file.  Reported by Eric Blake in
9058         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
9060 2016-12-30  Jim Meyering  <meyering@fb.com>
9062         maint.mk: improve sc_prohibit_intprops_without_use
9063         * top/maint.mk (_intprops_names): Don't hard-code the list of
9064         symbol names.  Instead, derive it on the fly.
9066 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9068         dfa: shorten sbit, success
9069         * lib/dfa.c (struct regex_syntax.sbit):
9070         (struct dfa.success): Use char, not int, for array elements, since
9071         they are all in the range 0..7.
9073         dfa: simplify multibyte_prop etc.
9074         This follows up on a change made when dfa.c was in grep, namely grep
9075         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
9076         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
9077         That earlier simplification allows for some more simplification
9078         and trimming down here.
9079         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
9080         (struct lexer_state): New mamber brack.
9081         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
9082         since they must be in the range 0..3 now.
9083         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
9084         the brack member now supersedes them.
9085         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
9086         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
9087         (dfaparse): Remove unnecessary initializations of already-0 storage.
9088         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
9089         (dfassbuild): No need to clear sup->mbcsets.
9091         dfa: minor performance tweak
9092         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
9094         dfa: wrap charclass inside a struct
9095         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
9096         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
9097         about 5% faster, where list.txt is generated by 'aspell dump
9098         master | head -n 100000 >list.txt'.  See Bug#22239.
9099         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
9100         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
9101         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
9102         Adjust to this, e.g., by using charclass * rather than charclass.
9103         All callers changed as needed.
9104         (copyset): Remove.  All uses changed to simple assignment.
9105         (parse_bracket_exp): Use zeroset instead of memset.
9107 2016-12-30  Jim Meyering  <meyering@fb.com>
9109         maint.mk: update list of intprops.h symbol names
9110         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
9111         This avoids a false failure of the sc_prohibit_intprops_without_use
9112         rule in grep.
9114 2016-12-29  Eric Blake  <eblake@redhat.com>
9116         getopt: fix parallel test failure
9117         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
9118         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
9119         * tests/test-getopt-main.h (main): Use different file names
9120         in case test-getopt-gnu and test-getopt-posix run in parallel.
9122 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9124         xalloc: x2nrealloc check for ptrdiff_t overflow
9125         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
9126         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
9128 2016-12-24  Bruno Haible  <bruno@clisp.org>
9130         lock test: Fix performance problem on multi-core machines.
9131         * tests/test-lock.c (USE_VOLATILE): New macro.
9132         (struct atomic_int): New type.
9133         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
9134         functions.
9135         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
9136         as 'struct atomic_int'.
9137         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
9138         reclock_checker_thread, test_recursive_lock): Use the new functions.
9139         Reported by Eric Blake in
9140         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
9141         and by Pádraig Brady in
9142         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
9144 2016-12-19  Bruno Haible  <bruno@clisp.org>
9146         vma-iter: Fix endless loop on 64-bit Windows.
9147         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
9148         'unsigned long'.
9150 2016-12-19  Bruno Haible  <bruno@clisp.org>
9152         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
9153         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
9154         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
9155         Invoke gt_TYPE_WINT_T instead.
9156         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
9157         * modules/stdint (Files): Add m4/wint_t.m4.
9158         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9159         * modules/wctype-h (Makefile.am): Likewise.
9160         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
9161         not only on MSVC.
9162         * lib/wctype.in.h (wint_t): Likewise.
9164 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9166         getopt-posix-tests: fix Makefile typo
9167         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
9168         Fix typo: the last ‘_’ was missing in the name.
9169         I suspect that the typo explains this build failure:
9170         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
9171         although I can’t reproduce the problem on Solaris 10 sparc.
9173 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9175         dfa: improve worst-case 'replace' performance
9176         See my note in Bug#22357#71.
9177         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
9178         (merge_constrained): New function, which is like
9179         the old 'merge' function, except with a new argument C2.
9180         Simplify the body by avoiding the need for different sections
9181         of code depending on whether one input is exhausted.
9182         (merge): Use the new function.
9183         (delete): Return the constraint of the deleted position,
9184         not the entire position.  Caller changed.
9185         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
9187 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9189         dfa: performance improvement for removal of epsilon closure
9190         See Bug#22357#32.
9191         * lib/dfa.c (delete): Use binary search to find deleted index.
9192         (replace): New function.  It replaces a position with the followed set.
9193         (epsclosure): Replace it with a new algorithm.  Update caller.
9195 2016-12-18  Bruno Haible  <bruno@clisp.org>
9197         Split tests for getopt-posix and getopt-gnu.
9198         * tests/test-getopt-posix.c: New file.
9199         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
9200         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
9201         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
9202         GNULIB_TEST_GETOPT_GNU.
9203         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
9204         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
9205         (Makefile.am): Test test-getopt-posix instead of test-getopt.
9206         * modules/getopt-gnu-tests: New file.
9207         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
9209 2016-12-18  Bruno Haible  <bruno@clisp.org>
9211         posix-modules: Add options for specific platforms.
9212         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
9213         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
9214         Invoke func_tmpdir. Filter out the excludes.
9216 2016-12-18  Bruno Haible  <bruno@clisp.org>
9218         getopt: Fix link error for users of getopt() in <unistd.h>.
9219         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
9220         __need_getopt is defined. Undefine all macros before defining them.
9221         * modules/getopt (Include): Clarify that including <unistd.h> is also
9222         OK.
9223         * tests/test-getopt.c: Add comment.
9225 2016-12-17  Bruno Haible  <bruno@clisp.org>
9227         getaddrinfo tests: Avoid compilation error on MSVC.
9228         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
9229         getaddrinfo on native Windows.
9231 2016-12-17  Bruno Haible  <bruno@clisp.org>
9233         getlogin, getlogin_r: Fix link errors on MSVC.
9234         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
9235         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
9236         (Link): New section.
9237         * modules/getlogin_r (Files): Add m4/getlogin.m4.
9238         (configure.ac): Require gl_LIB_GETLOGIN.
9239         (Link): New section.
9240         * NEWS: Mention the new link requirements.
9241         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
9242         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
9244 2016-12-17  Bruno Haible  <bruno@clisp.org>
9246         Un-deprecate the 'progname' module.
9247         * NEWS: Describe the appropriate use-cases of 'progname' versus
9248         'getprogname'. Based on discussion summary at
9249         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
9251 2016-12-17  Bruno Haible  <bruno@clisp.org>
9253         Reorganize NEWS a bit.
9254         * NEWS: Move some not so important changes away from section
9255         "Important Notes".
9257 2016-12-17  Bruno Haible  <bruno@clisp.org>
9259         tanhf: Avoid redefinition error on MSVC.
9260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
9261         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
9262         may be defined as an inline function.
9263         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
9264         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
9266 2016-12-17  Bruno Haible  <bruno@clisp.org>
9268         tanf: Avoid redefinition error on MSVC.
9269         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
9270         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
9271         may be defined as an inline function.
9272         * modules/math (Makefile.am): Substitute REPLACE_TANF.
9273         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
9275 2016-12-17  Bruno Haible  <bruno@clisp.org>
9277         sqrtf: Avoid redefinition error on MSVC.
9278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
9279         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
9280         may be defined as an inline function.
9281         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
9282         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
9284 2016-12-17  Bruno Haible  <bruno@clisp.org>
9286         sinhf: Avoid redefinition error on MSVC.
9287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
9288         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
9289         may be defined as an inline function.
9290         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
9291         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
9293 2016-12-17  Bruno Haible  <bruno@clisp.org>
9295         sinf: Avoid redefinition error on MSVC.
9296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
9297         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
9298         may be defined as an inline function.
9299         * modules/math (Makefile.am): Substitute REPLACE_SINF.
9300         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
9302 2016-12-17  Bruno Haible  <bruno@clisp.org>
9304         logf: Avoid redefinition error on MSVC.
9305         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
9306         may be defined as an inline function.
9308 2016-12-17  Bruno Haible  <bruno@clisp.org>
9310         log10l: Avoid redefinition error on MSVC.
9311         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
9312         may be defined as an inline function.
9314 2016-12-17  Bruno Haible  <bruno@clisp.org>
9316         log10f: Avoid redefinition error on MSVC.
9317         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
9318         may be defined as an inline function.
9320 2016-12-17  Bruno Haible  <bruno@clisp.org>
9322         hypotl: Avoid redefinition error on MSVC.
9323         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
9324         may be defined as an inline function.
9326 2016-12-17  Bruno Haible  <bruno@clisp.org>
9328         hypotf: Avoid redefinition error on MSVC.
9329         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
9330         may be defined as an inline function.
9332 2016-12-17  Bruno Haible  <bruno@clisp.org>
9334         fmodl: Avoid redefinition error on MSVC.
9335         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
9336         may be defined as an inline function.
9338 2016-12-17  Bruno Haible  <bruno@clisp.org>
9340         fmodf: Avoid redefinition error on MSVC.
9341         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
9342         may be defined as an inline function.
9344 2016-12-17  Bruno Haible  <bruno@clisp.org>
9346         expf: Avoid redefinition error on MSVC.
9347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
9348         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
9349         may be defined as an inline function.
9350         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
9351         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
9353 2016-12-17  Bruno Haible  <bruno@clisp.org>
9355         coshf: Avoid redefinition error on MSVC.
9356         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
9357         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
9358         may be defined as an inline function.
9359         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
9360         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
9362 2016-12-17  Bruno Haible  <bruno@clisp.org>
9364         cosf: Avoid redefinition error on MSVC.
9365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
9366         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
9367         may be defined as an inline function.
9368         * modules/math (Makefile.am): Substitute REPLACE_COSF.
9369         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
9371 2016-12-17  Bruno Haible  <bruno@clisp.org>
9373         atan2f: Avoid redefinition error on MSVC.
9374         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
9375         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
9376         may be defined as an inline function.
9377         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
9378         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
9380 2016-12-17  Bruno Haible  <bruno@clisp.org>
9382         atanf: Avoid redefinition error on MSVC.
9383         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
9384         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
9385         may be defined as an inline function.
9386         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
9387         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
9389 2016-12-17  Bruno Haible  <bruno@clisp.org>
9391         asinf: Avoid redefinition error on MSVC.
9392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
9393         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
9394         may be defined as an inline function.
9395         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
9396         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
9398 2016-12-17  Bruno Haible  <bruno@clisp.org>
9400         acosf: Avoid redefinition error on MSVC.
9401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
9402         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
9403         may be defined as an inline function.
9404         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
9405         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
9407 2016-12-17  Bruno Haible  <bruno@clisp.org>
9409         Avoid redefinition errors on MSVC.
9410         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
9411         the function may be defined as an inline function.
9412         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
9413         the function may be defined as an inline function.
9415 2016-12-17  Bruno Haible  <bruno@clisp.org>
9417         Avoid redefinition errors on MSVC.
9418         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
9419         * lib/unistd.in.h: Include <stdio.h> when necessary.
9421 2016-12-17  Bruno Haible  <bruno@clisp.org>
9423         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
9424         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
9425         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9426         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
9427         WINT_MAX.
9429 2016-12-17  Bruno Haible  <bruno@clisp.org>
9431         Avoid autoconf warning.
9432         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
9433         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
9435 2016-12-17  Bruno Haible  <bruno@clisp.org>
9437         fpending: Revert workaround against Emacs bug.
9438         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
9439         The Emacs bug is fixed by Eli Zaretskii in
9440         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
9442 2016-12-17  Bruno Haible  <bruno@clisp.org>
9444         getlogin_r tests: Port to mingw.
9445         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
9446         regression introduced on 2014-05-19.
9448 2016-12-17  Bruno Haible  <bruno@clisp.org>
9450         getlogin: Port to newer mingw.
9451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
9452         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
9453         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
9454         HAVE_GETLOGIN.
9455         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
9456         HAVE_GETLOGIN.
9457         * doc/posix-functions/getlogin.texi: Mention the issue.
9458         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
9459         regression introduced on 2014-05-14.
9461 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9463         builtin-expect: improve port to IBM XL C
9464         Problem reported for z/OS by Daniel Richard G. in:
9465         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
9466         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9467         Test for <builtins.h> directly.
9469         builtin-expect: port to IBM XL C
9470         Problem reported for z/OS by Daniel Richard G. in:
9471         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
9472         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9473         Also allow __builtin_expect defined via a standard include file.
9475         regex: fix dependency
9476         Problem reported by Bruno Haible in:
9477         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
9478         * modules/regex: Depend on builtin-expect.
9480         builtin-expect: new module
9481         Fix fnmatch to use it.
9482         Problem reported for z/OS by Daniel Richard G.
9483         * lib/fnmatch.c (__builtin_expect):
9484         * lib/glob.c (__builtin_expect):
9485         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
9486         * lib/memmem.c (__builtin_expect) [!_LIBC]:
9487         * lib/scandir.c (__builtin_expect):
9488         * lib/strstr.c (__builtin_expect) [!_LIBC]:
9489         Remove macro; config.h now does this.
9490         * lib/gl_anytreehash_list1.h (add_to_bucket):
9491         * lib/regex_internal.h (BE):
9492         Assume __builtin_expect.
9493         * m4/builtin-expect.m4, modules/builtin-expect: New files.
9494         * modules/avltreehash-list, modules/fnmatch, modules/glob:
9495         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
9496         * modules/scandir, modules/strstr-simple:
9497         Depend on builtin-expect.
9499 2016-12-15  Bruno Haible  <bruno@clisp.org>
9501         init.sh: Add possibility to not delete temporary files.
9502         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
9503         to yes, don't erase the temporary directory.
9505 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9507         regex: fix integer-overflow bug in never-used code
9508         Problem reported by Clément Pit–Claudel in:
9509         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
9510         * lib/regex_internal.h: Include intprops.h.
9511         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
9512         behavior on integer overflow.
9513         * modules/regex (Depends-on): Add intprops.
9515         fpending: fix port to MinGW on Emacs
9516         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
9517         Problem reported by Eli Zaretskii in:
9518         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
9519         Is Plan 9 still a valid porting target, anyway?
9521 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9523         safe-alloc: use xalloc-oversized
9524         * lib/safe-alloc.c: Include xalloc-oversized.h.
9525         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
9526         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
9528         xalloc: do not exceed PTRDIFF_MAX
9529         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
9530         xalloc_oversized check, since objects larger than PTRDIFF_MAX
9531         bytes have pointer-subtraction problems.
9533         malloca: do not exceed PTRDIFF_MAX
9534         * lib/malloca.h: Include xalloc-oversized.
9535         (nmalloca): Use xalloc_oversized instead of rolling our own.
9536         * modules/malloca (Depends-on):
9537         * modules/relocatable-prog-wrapper (Depends-on):
9538         Add xalloc-oversized.
9540         quotearg: pacify GCC better
9541         * modules/quotearg (Depends-on): Add minmax, stdint.
9542         * lib/quotearg.c: Include minmax.h, stdint.h.
9543         (nslots): Now int, as there seems little point to going to extra
9544         work merely to support the INT_MAX slot, which nobody ever uses.
9545         (quotearg_n_options): Redo size-overflow checks to pacify GCC
9546         and to catch (mostly-theoretical) ptrdiff_t problems too.
9547         This can be done via one comparison.
9549 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
9551         xalloc-oversized: check for PTRDIFF_MAX too
9552         This avoids undefined behavior when subtracting pointers to
9553         objects containing more than PTRDIFF_MAX bytes.
9554         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
9555         Also return 1 if the result would exceed PTRDIFF_MAX>
9556         * modules/xalloc-oversized (Depends-on):
9557         Add stdint.
9559         dfa: fix glitches in previous commit
9560         Sorry, I don't know how I managed to commit the wrong version.
9561         * lib/dfa.c (MIN): Move up.
9562         (xpalloc): Now static.
9564         dfa: fix some unlikely integer overflows
9565         I found these while reviewing the recent Coverity-related fix.
9566         This patch changes part of dfa.c to prefer ptrdiff_t instead of
9567         size_t for object counts.  Using ptrdiff_t is the style typically
9568         used in Emacs; although it wastes a sign bit as sizes can never be
9569         negative, it makes -fsanitize=undefined more likely to catch
9570         integer overflows in index calculation, and nowadays the upside is
9571         typically more important than the downside.  Although perhaps the
9572         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
9573         of dfa.c already does, since it uses state_num which is signed),
9574         that is a bigger change and is not needed to fix the bugs I found.
9575         * lib/dfa.c: Include stdint.h and intprops.h.
9576         (TOKEN_MAX): New macro.
9577         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
9578         (charclass_index, parse_bracket_exp, addtok, insert, merge)
9579         (realloc_trans_if_necessary, free_mbdata):
9580         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
9581         This is safe because xpalloc checks that the sizes do not exceed
9582         either SIZE_MAX or PTRDIFF_MAX.
9583         (xpalloc): New function, mostly taken from Emacs.
9584         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
9585         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
9586         (charclass_index): Check for integer overflow in computing
9587         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
9588         added to it later.
9589         (alloc_position_set): Check for integer overflow.  On typical
9590         platforms this check has zero overhead, since the constant
9591         expression is false.
9592         (realloc_trans_if_necessary):
9593         Remove assertion, which I hope Coverity no longer needs.
9595         * modules/dfa (Depends-on): Add intprops, stdint.
9597 2016-12-12  Jim Meyering  <meyering@fb.com>
9599         dfa: add an assertion to avoid coverity false positive
9600         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
9601         warned that "newalloc1 - 2" could overflow.
9603 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
9605         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
9606         * dfa.h (DFA_CASE_FOLD): Remove.
9607         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
9609 2016-12-13  John W. Eaton  <gnu@jweaton.org>
9611         link: fix test to declare use of rename()
9612         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
9613         -Werror=implicit-function-declaration
9615 2016-12-12  Bruno Haible  <bruno@clisp.org>
9617         fpending: Port to native Windows with MSVC.
9618         * lib/fpending.c: Include stdio-impl.h.
9619         (__fpending): Include all known implementations. Err out if it's not
9620         ported.
9621         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
9622         * modules/fpending (Files): Add lib/stdio-impl.h.
9623         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
9625 2016-12-12  Bruno Haible  <bruno@clisp.org>
9627         stdioext: Port to native Windows with MSVC.
9628         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
9629         (struct _gl_real_FILE): New type.
9630         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
9631         Windows.
9632         * lib/fbufmode.c (fbufmode): Add code for native Windows.
9633         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
9634         other SystemV derived implementations.
9635         * lib/fpurge.c (fpurge): Likewise.
9636         * lib/freadable.c (freadable): Likewise.
9637         * lib/freadahead.c (freadahead): Likewise.
9638         * lib/freading.c (freading): Likewise.
9639         * lib/freadptr.c (freadptr): Likewise.
9640         * lib/freadseek.c (freadptrinc): Likewise.
9641         * lib/fseeko.c (fseeko): Likewise.
9642         * lib/fseterr.c (fseterr): Likewise.
9643         * lib/fwritable.c (fwritable): Likewise.
9644         * lib/fwriting.c (fwriting): Likewise.
9645         Reported by Gisle Vanem <gvanem@yahoo.no>.
9647 2016-12-11  Jim Meyering  <meyering@fb.com>
9649         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
9650         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
9651         to work with most shells, but not with the one provided by many
9652         Solaris 10 systems, so running configure with such a /bin/sh evokes
9653         e.g., "./configure: syntax error at line 33602: `(' unexpected".
9654         Reported by Assaf Gordon in
9655         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
9657 2016-12-10  Bruno Haible  <bruno@clisp.org>
9659         threadlib: Optimize out runtime test on Solaris >= 10.
9660         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
9661         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
9662         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
9664 2016-12-10  Bruno Haible  <bruno@clisp.org>
9666         stdint: Update doc about Solaris 9.
9667         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
9669 2016-12-09  Bruno Haible  <bruno@clisp.org>
9671         c-ctype tests: Fix link error on Solaris 9.
9672         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
9673         Reported at <https://savannah.gnu.org/bugs/?46827>.
9675 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
9677         dfa: fix performance bug that recomputes trans
9678         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
9679         25 on-demand changes.  The bug caused build_state to reset all
9680         d->trans elements to -2 even when d->trans was already non-null.
9681         Use C99 style decls after statements in this function.
9683         same-inode: port to MinGW
9684         Here st_ino is always 0, so change the definition of SAME_INODE so
9685         that 1 means the two files are the same, 0 with st_ino != 0 means
9686         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
9687         reported by Bruno Haible (Bug#25146).
9688         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
9689         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
9691 2016-12-04  Bruno Haible  <bruno@clisp.org>
9693         javacomp-script: Support Java 7 and 8.
9694         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
9695         target-version 1.7, 1.8.
9697 2016-12-02  Daiki Ueno  <ueno@gnu.org>
9699         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
9700         GPLv2" rewriting.
9702 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
9704         * gnulib-tool (func_import): Adhere to the license guideline when
9705         rewriting the license text to "LGPLv3+ or GPLv2":
9706         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
9708 2016-12-02  Bruno Haible  <bruno@clisp.org>
9710         localcharset: Avoid theoretical buffer overrun.
9711         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
9712         return value from setlocale if it would lead to a buffer overrun.
9714 2016-12-01  Bruno Haible  <bruno@clisp.org>
9716         Relicense some modules under LGPLv2+.
9717         Kevin Cernekee's approval is in
9718         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
9719         * modules/fseterr (License): Change to LGPLv2+.
9720         * modules/mbchar (License): Likewise.
9721         * modules/mbiter (License): Likewise.
9722         * modules/mbsnlen (License): Likewise.
9723         * modules/wcwidth (License): Likewise.
9725 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9727         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
9728         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
9729         OS/2 kLIBC.
9731 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9733         alphasort, scandir: Port to OS/2 kLIBC
9734         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
9735         declaration.
9736         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
9738 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9740         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9741         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9742         with '/@unixroot'.
9744 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9746         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9747         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9748         OS/2 kLIBC unless TCPV40HDRS is defined.
9750 2016-11-29  Jim Meyering  <meyering@fb.com>
9752         dfa: avoid new infinite loop
9753         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9754         * lib/dfa.c (dfastate): When constructing a new state table, we could
9755         initially declare that we had found a match, and later find that
9756         constraints eliminate that possibility, yet continue to use the
9757         now stale "matched" indicator.  That would lead to an infinite loop.
9758         The solution is to update "matched" when necessary.
9759         Introduced by commit v0.1-983-g403adf1.
9761 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9763         dfa: avoid match middle in multibyte character
9764         * lib/dfa.c (transit_state): If fails in matching single byte characters
9765         on a state including period expression in non-UTF8 multibyte locales,
9766         skip trailing bytes.
9767         (dfa_supported): Revert previous change.
9769 2016-11-27  Jim Meyering  <meyering@fb.com>
9771         dfa: avoid false match in non-UTF8 multibyte locales
9772         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9773         as "not supported" so that callers will resort to using regex-based
9774         matcher.  This will surely hurt performance, but correctness trumps
9775         performance here, and the affected locales are less and less relevant,
9776         these days.  See grep's bug report https://bugs.gnu.org/24975.
9778 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9780         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9781         * lib/ptsname_r.c: Include the appropriate headers.
9782         [__sun]: Delete sys/sysmacros.h include.
9783         [_AIX || __osf__]: Likewise.
9784         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9786 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9788         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9789         * lib/md4.c (md4_process_bytes): The existing define is made internal
9790         in recent versions of glibc, so also use this new public define.
9791         * lib/md5.c (md5_process_bytes): Likewise.
9792         * lib/sha1.c (sha1_process_bytes): Likewise.
9793         * lib/sha256.c (sha256_process_bytes): Likewise.
9794         * lib/sha512.c (sha512_process_bytes): Likewise.
9796 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9798         maint: use a more standard return from mbrtowc test
9799         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9800         from the test program as this often indicates an
9801         unhandled case in the test program.
9802         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9803         (gl_MBRTOWC_SANITYCHECK): Likewise.
9804         (gl_MBRTOWC_NULL_ARG2): Likewise.
9805         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9807 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9809         freopen: work around glibc bug with closed fd
9810         Work around glibc bug#15589, where freopen mishandles the case
9811         where stdin etc. are already closed.
9812         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9813         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9814         instead of __need_FILE, as the latter does not work with glibc.
9815         Include <fcntl.h>, for open flags.
9816         (rpl_freopen): Work around glibc bug.
9817         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9818         * modules/freopen (Depends-on): Add fcntl-h.
9819         * tests/test-freopen.c (main): Test for bug.
9821 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9823         fnmatch: fix typo introduced on 2016-08-17
9824         This fixes the port to non-GCC compilers that lack __builtin_expect.
9825         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9827         dfa: simplify with new function fillset
9828         * lib/dfa.c (fillset): New function.
9829         Use it for clarity when applicable.
9831         dfa: fix glitches with on-demand states
9832         Also, adjust commentary to better match new code.
9833         Some of these glitches predate the recent change.
9834         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9835         only non-initial states.
9836         (dfastate): Rename locals to better match new roles.
9837         Move them into nested scopes if this is easy.
9838         Omit unnecessary calls to zeroset.
9839         Simplify test for whether to throw in the positions of state 0.
9840         Omit C99-ism (decl after statement) since Gawk still wants C89.
9841         (build_state): Omit unnecessary test and assignment.
9842         Fix some confusion that counted transition tables inaccurately
9843         and could cause a memory leak.
9844         (dfaexec_main): Redo to make it clearer to the compiler that
9845         -1 and -2 are the only negative state numbers here.
9847 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9849         dfa: addition of new state on demand
9850         * src/dfa.c (dfastate): Add argument UC, the current input character.
9851         Fill only a group including the character in transition table.
9852         (realloc_trans_if_necessary): Add the dummy state which means that a
9853         transition table is assigned but the next state is not assigned.
9854         (build_state): Return the next state.  All callers updated.
9855         (transit_state_singlebyte): If we get the dummy state,
9856         fill the transition table.
9857         (dfaexec_main): Handle the dummy state.
9858         (free_mbdata, dfafree): Consider the dummy state.
9860 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9862         srclist: sync with released gettext
9863         * config/srclist.txt: Set "release" option to the files under
9864         $GETTEXT.
9866 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9868         srclist: add "release" option
9869         * config/srclist.txt: Change the format so that the first column
9870         of each line points to the top-level directory of the source
9871         archive.
9872         * config/srclist-update: Accept "release" option that checks files
9873         from the most recently tagged revision in the source archive.
9875 2016-11-21  Bruno Haible  <bruno@clisp.org>
9877         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9878         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9879         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9880         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9881         Inline and remove member function 'rpl ()' of the wrapper struct.
9883 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9885         dfa: fix logic typo
9886         Problem reported by Stephane Chazelas (Bug#24973).
9887         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9888         non-simple locales like fr_FR to be treated as simple.
9890 2016-11-20  Jim Meyering  <meyering@fb.com>
9892         fix test driver leaks: exclude, malloc, realloc
9893         * tests/test-exclude.c (main): Fix trivial leak.
9894         * tests/test-malloc-gnu.c (main): Likewise.
9895         * tests/test-realloc-gnu.c (main): Likewise.
9896         With these changes, grep's tests are now leak free.
9897         I.e., running them with ASAN elicits no failure:
9898           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9899             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9901 2016-11-11  Bruno Haible  <bruno@clisp.org>
9903         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9904         * modules/libunistring: (License): Change from LGPL to
9905         "LGPLv3+ or GPLv2".
9906         * modules/libunistring-optional: Likewise.
9907         * modules/unicase/*: Likewise.
9908         * modules/uniconv/*: Likewise.
9909         * modules/unictype/*: Likewise.
9910         * modules/unigbrk/*: Likewise.
9911         * modules/unilbrk/*: Likewise.
9912         * modules/uniname/*: Likewise.
9913         * modules/uninorm/*: Likewise.
9914         * modules/unistdio/*: Likewise.
9915         * modules/unistr/*: Likewise.
9916         * modules/uniwbrk/*: Likewise.
9917         * modules/uniwidth/*: Likewise.
9919 2016-11-12  Bruno Haible  <bruno@clisp.org>
9921         Relicense some modules under LGPLv2+.
9922         Paul Eggert's approval is in
9923         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9924         Eric Blake's approval is in
9925         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9926         Ludovic Courtès's approval is in
9927         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9928         * modules/isnand-nolibm (License): Change to LGPLv2+.
9929         * modules/isnanf-nolibm (License): Likewise.
9930         * modules/isnanl-nolibm (License): Likewise.
9932 2016-11-19  Bruno Haible  <bruno@clisp.org>
9934         Relicense some modules under LGPLv2+.
9935         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9936         modules/vasnprintf.
9937         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9938         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9939         All other significant changes to the files in lib/ of these modules
9940         are from me.
9941         * modules/memcmp2 (License): Change to LGPLv2+.
9942         * modules/amemxfrm (License): Likewise.
9943         * modules/fpieee (License): Likewise.
9944         * modules/fpucw (License): Likewise.
9945         * modules/frexp-nolibm (License): Likewise.
9946         * modules/frexpl-nolibm (License): Likewise.
9947         * modules/printf-frexp (License): Likewise.
9948         * modules/printf-frexpl (License): Likewise.
9949         * modules/printf-safe (License): Likewise.
9950         * modules/signbit (License): Likewise.
9952 2016-11-17  Bruno Haible  <bruno@clisp.org>
9954         Enable Unicode decoder safety unconditionally.
9955         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9956         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9957         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9958         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9959         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9960         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9961         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9962         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9963         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9964         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
9965         * lib/unistr/u16-prev.c (u16_prev): Likewise.
9966         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
9967         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
9968         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
9969         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
9970         * lib/unistr/u32-prev.c (u32_prev): Likewise.
9971         * lib/unistr/u32-next.c (u32_next): Likewise.
9972         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
9973         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
9974         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9975         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9976         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
9977         CONFIG_UNICODE_SAFETY tests unconditionally.
9978         * tests/unistr/test-u32-mblen.c (main): Likewise.
9979         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
9980         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
9981         * tests/unistr/test-u32-next.c (main): Likewise.
9982         * tests/unistr/test-u32-strmblen.c (main): Likewise.
9983         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
9984         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
9985         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
9986         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
9987         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9988         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
9989         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
9990         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
9991         * lib/unistr/u16-check.c (u16_check): Update comment.
9992         * NEWS: Mention the changes that callers should be aware of.
9994 2016-11-19  Bruno Haible  <bruno@clisp.org>
9996         relocatable-prog-wrapper: Fix breakage on Cygwin.
9997         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
9998         (Depends-on): Remove intprops.
9999         * lib/relocwrapper.c: Update dependency tree.
10000         (strerror): Undefine.
10001         * build-aux/install-reloc (func_create_wrapper): Do not compile
10002         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
10004 2016-11-19  Bruno Haible  <bruno@clisp.org>
10006         strerror: Make it compile in C++ mode.
10007         * lib/strerror.c (strerror): Ignore the return value of memcpy().
10009 2016-11-15  Pedro Alves  <palves@redhat.com>
10011         sys_time: add gnulib::timeval for C++
10012         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
10013         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
10014         timeval macro.
10016 2016-11-14  Pedro Alves  <palves@redhat.com>
10018         snippet/c++defs: fix real-floating arg functions in C++ mode
10019         Also, define isfinite, isinf, isnan, signbit in the gnulib
10020         namespace instead of in the global namespace.
10021         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
10022         (_GL_END_NAMESPACE): New.
10023         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
10024         (isfinite, isinf, isnan, signbit) [__cplusplus &&
10025         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
10026         instead of in the global namespace.
10027         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
10028         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
10029         of in the global namespace.
10031 2016-11-13  Jim Meyering  <meyering@fb.com>
10033         strftime: don't use __THROW
10034         Each use of __THROW would provoke this from gcc-7-to-be:
10036           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
10037             on unit local functions [-Wattributes]
10038           static int iso_week_days (int, int) __THROW;
10039           ^~~~~~
10040         * lib/strftime.c (__THROW): Don't define.
10041         Remove each use of __THROW.
10042         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
10043         (tm_diff, iso_week_days, __strftime_internal): Likewise.
10045 2016-11-14  Paul Eggert  <eggert@union>
10047         obstack: port to gcc -fcheck-pointer-bounds
10048         Problem found by 'make check' failure on bleeding-edge coreutils
10049         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
10050         6.2.0-5ubuntu12), configured via "./configure
10051         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
10052         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
10053         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
10054         New macro, copied from fts_.h.
10055         (struct _obstack_chunk.contents): Use it.
10057 2016-11-14  Eric Blake  <eblake@redhat.com>
10059         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
10060         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
10061         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
10063 2016-11-14  Pádraig Brady  <P@draigBrady.com>
10065         strptime: fix compile error in recent change
10066         * lib/strptime.c (__strptime_internal): Fix ported code.
10068 2016-11-11  Bruno Haible  <bruno@clisp.org>
10070         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
10071         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
10072         (func_import): Extend determination of license_incompatibilities.
10073         (func_create_testdir): Extend table of license compatibility. Handle
10074         also the licenses GPLv3+, GPL, LGPLv3+.
10076 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10078         strftime: tune %q
10079         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
10081         Merge strftime.c changes from glibc
10082         This incorporates:
10083         2007-10-16 [BZ #5184] Add tzset_called argument
10084         2008-06-13 [BZ #6612] pass reference to tzset_called around
10085         2009-10-30 Implement Burmese language locale for Myanmar
10086         2010-01-09 Add support for XPG7 testing
10087         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
10088         2015-10-20 Convert miscellaneous function definitions to prototype style
10089         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
10090         it anyway and this lessens the difference between gnulib and glibc.
10091         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
10092         (__THROW): Define if standard headers do not.
10093         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
10094         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
10095         Declare with __THROW.
10096         (__strftime_internal): Rename from strftime_case_. Add arg for
10097         whether tzset is called.  All uses changed.  Call tzset at most
10098         once.  Allow %OC, for Burmese.
10099         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
10100         Don't assume values are in range.
10102 2016-11-12  Eric Blake  <eblake@redhat.com>
10104         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
10105         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
10106         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
10107         different value.
10109 2006-11-12  Pedro Alves  <palves@redhat.com>
10111         Fix gnulib C++ namespace support and std::frexp
10112         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
10113         _GL_CXXALIASWARN.
10115 2006-11-12  Pedro Alves  <palves@redhat.com>
10117         GNULIB_NAMESPACE::func need not pull in rpl_func
10118         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
10119         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
10120         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
10121         struct instead of a function pointer.
10123 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
10125         manywarnings: fix -Wno-missing-field-initializers detection
10126         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
10127         to be independent of -Wunused-variable.  I.E. ensure the latter
10128         warning doesn't occur so that detection of the former is accurate.
10130 2016-11-05  Pádraig Brady  <pbrady@fb.com>
10132         strftime,strptime: support %q to represent the quarter
10133         * lib/strftime.c (strftime_case_): Add %q case.
10134         * lib/strptime.c (__strptime_internal): Likewise.
10135         * tests/test-strftime.c (quarter_test): A new test case.
10137 2016-11-03  Eric Blake  <eblake@redhat.com>
10139         bootstrap: Fix get_version() for AIX 5.3
10140         * build-aux/bootstrap (get_version): Factor out sed script, since
10141         indented comments choke AIX 5.3 sed.
10142         Reported-by: Michael Felt <aixtools@gmail.com>
10144 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10146         intprops: port to older XL C
10147         Problem reported by Alexander Samoilov in:
10148         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
10149         http://savannah.nongnu.org/bugs/?49448
10150         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
10151         Define to 1 only for XL C 12.1 or later, since this bug
10152         occurs in XL C for AIX 6.0 but not in 12.1.
10154 2016-11-02  Pádraig Brady  <P@draigBrady.com>
10156         backupfile: initialize default suffix within the implementation
10157         * lib/backupfile.c (find_backup_file_name): Initialize the
10158         global variable here, to simplify usage, and to only call
10159         getenv() when needed.
10161 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10163         futimens: remove FIXME for old Linux kernels
10164         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
10165         this in 2012" FIXME, like that for utimensat.
10167         utimensat: remove FIXME for old Linux kernels
10168         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
10169         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
10170         this in 2012" FIXME, by assuming the file system bug is absent
10171         unless demonstrated to be present.  We no longer need to worry
10172         about Linux kernel 2.6.32 when building with newer kernels.
10174 2016-10-16  Bruno Haible  <bruno@clisp.org>
10176         qsort_r: Fix macrology for platforms that lack the function.
10177         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
10178         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
10179         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
10180         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
10181         not exist.
10182         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
10183         the function exists.
10184         * modules/qsort_r: Add comments.
10186 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
10188         sys_types: fix Texinfo typos
10189         * doc/glibc-functions/gnu_dev_major.texi:
10190         * doc/glibc-functions/gnu_dev_makedev.texi:
10191         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
10193 2016-10-26  John David Anglin  <dave.anglin@bell.net>
10195         getprogname: port to HP-UX
10196         See Bug#24805.
10197         * lib/getprogname.c (getprogname) [__hpux]: Port.
10198         * tests/test-getprogname.c (STREQ) [__hpux]:
10199         Special-case for HP-UX limitations on program name length.
10201 2016-10-20  Bruno Haible  <bruno@clisp.org>
10203         Update doc about target platforms.
10204         * doc/gnulib-intro.texi (Target Platforms): Update list.
10206 2016-10-15  Bruno Haible  <bruno@clisp.org>
10208         opendir, readdir, closedir: Relicense under LGPLv2+.
10209         * modules/opendir (License): Change to LGPLv2+.
10210         * modules/readdir (License): Likewise.
10211         * modules/closedir (License): Likewise.
10213 2016-10-16  Bruno Haible  <bruno@clisp.org>
10215         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
10216         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
10217         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
10218         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
10219         HAVE_DECL_STRERROR_R.
10221 2016-10-16  Bruno Haible  <bruno@clisp.org>
10223         Make the 'argp' module work without the 'error' module.
10224         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
10226 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10228         diffseq: restore TOO_EXPENSIVE heuristic
10229         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
10230         (Bug#24715).  The simplest solution is to restore the
10231         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
10232         using a higher threshold to avoid Bug#16848 on smaller files.
10233         * lib/diffseq.h (struct context): Restore member too_expensive.
10234         (struct partition): Restore members lo_minimal, hi_minimal.
10235         (diag, compareseq): Restore arg find_minimal.  All uses changed.
10236         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
10237         1993 to make 'diff' run faster (but not as well) on large inputs,
10238         but use a threshold of 4096 instead of the old 256.
10239         * lib/fstrcmp.c (strcmp_bounded):
10240         * lib/git-merge-changelog.c (compute_differences):
10241         Adjust to diffseq.h changes.
10243 2016-10-22  Bruno Haible  <bruno@clisp.org>
10245         iconv: Avoid compilation error when bootstrapping GNU libiconv.
10246         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
10247         declaration yet, define ICONV_CONST to empty.
10249 2016-10-15  Bruno Haible  <bruno@clisp.org>
10251         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
10252         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
10253         module.
10255 2016-10-16  Bruno Haible  <bruno@clisp.org>
10257         system-quote tests: Avoid compiler warning on AIX.
10258         * tests/test-system-quote-child.c (fopen): Redefine like the system's
10259         <stdio.h> does.
10261 2016-10-16  Bruno Haible  <bruno@clisp.org>
10263         Fix some "gcc -Wall" warnings.
10264         * tests/test-ffsl.c (main): Use variable x, not i.
10265         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
10266         freopen.
10267         * tests/test-sethostname1.c (main): Explicitly ignore the return value
10268         of sethostname.
10270 2016-10-16  Bruno Haible  <bruno@clisp.org>
10272         gnulib-tool: Make --create-testdir on all modules work again.
10273         * gnulib-tool (func_create_testdir): Don't include the
10274         non-recursive-gnulib-prefix-hack module.
10276 2016-10-21  Daiki Ueno  <ueno@gnu.org>
10278         libunistring: change the maintainer to 'all'
10279         * modules/gen-uni-tables, modules/libunistring:
10280         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
10281         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
10282         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
10283         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
10284         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
10285         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
10286         * modules/uniwidth/*: Change the maintainer to 'all'.
10288 2016-10-16  Bruno Haible  <bruno@clisp.org>
10290         Simplify "configure: checking ..." messages.
10291         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
10292         AC_MSG_NOTICE.
10293         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
10295 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10297         quotearg-tests: pacify gcc -Wall
10298         Problem reported by Bruno Haible in:
10299         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
10300         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
10301         * tests/test-quotearg.h: ... from here.
10303 2016-10-20  Pádraig Brady  <P@draigBrady.com>
10305         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
10306         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
10307         Needed on Centos <= 4.
10309 2016-10-20  Jim Meyering  <meyering@fb.com>
10311         printf.m4: fix a bug in detecting printf %j support
10312         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
10313         uintmax_t is defined in neither stdint.h nor inttypes.h.
10314         Before, this macro might have mistakenly set
10315         gl_cv_func_printf_sizes_c99=yes on such a system.
10316         Spotted by Zev Weiss.
10318 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
10320         sched: substitute HAVE_SYS_CDEFS_H too
10321         Problem reported by Tom G. Christensen in:
10322         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
10323         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
10324         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
10326 2016-10-19  Pádraig Brady  <P@draigBrady.com>
10328         quotearg: never write beyond the returned length
10329         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
10330         scan of the string when we initially encounter a single quote when
10331         shell quoting, so that if we then switch to a more concise quoting method
10332         we will not have written beyond that returned length.
10333         This is significant for sh-quote, which has separate routines
10334         to determine the length and do the actual quoting.
10335         * tests/test-quotearg.h: Reinstate the buffer bounds checking
10336         now that we never write more than the returned length.
10338 2016-10-18  Bruno Haible  <bruno@clisp.org>
10340         getprogname tests: Avoid failure in packages that use libtool.
10341         * tests/test-getprogname.c (main): Strip "lt-" prefix.
10342         Based on a patch by Jim Meyering.
10344 2016-10-16  Bruno Haible  <bruno@clisp.org>
10346         getprogname: Fix test failure on Cygwin. Comments.
10347         * lib/getprogname.h: Add comments.
10348         * lib/getprogname.c: Add comments. Fix #elif indentation.
10349         * tests/test-getprogname.c (main): On Cygwin, expect a result without
10350         ".exe" suffix.
10352 2016-10-16  Bruno Haible  <bruno@clisp.org>
10354         Make sure the libunistring detection rejects older versions with a
10355         known bug.
10356         * modules/unistr/u8-strtok (configure.ac): Bump required version.
10357         * modules/unistr/u16-strtok (configure.ac): Likewise.
10358         * modules/unistr/u32-strtok (configure.ac): Likewise.
10360 2016-10-18  Bruno Haible  <bruno@clisp.org>
10362         sh-quote, system-quote: revert regression of unit test.
10363         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
10364         * tests/test-system-quote-main.c (check_one): Likewise.
10366 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10368         quotearg: fix stale tests
10369         * tests/test-quotearg.c [locale_results]: Add the missing str7
10370         entries to the expected results.
10371         * tests/test-system-quote-main.c (check_one): Don't enforce that we
10372         don't write beyond the returned length, since that's no longer the
10373         case if we switch to a more concise quoting style.
10374         * tests/test-sh-quote.c (check_one): Likewise.
10375         (main): Adjust for the new more concise quoting style.
10376         Reported by Bruno Haible.
10378 2016-10-16  Jim Meyering  <meyering@fb.com>
10380         non-recursive-gnulib-prefix-hack: fix inconsequential typo
10381         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
10382         to "$1".  This macro is always invoked with $1 == lib.
10383         Spotted by Bruno Haible
10385 2016-10-16  Bruno Haible  <bruno@clisp.org>
10387         Fix a test crash.
10388         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
10389         fails.
10391 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10393         test-limits-h: suppress -Woverlength-strings
10394         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
10396 2016-10-15  Bruno Haible  <bruno@clisp.org>
10398         gettime, timespec, utimens: Relicense under LGPL.
10399         * modules/gettime (License): Change to LGPL.
10400         * modules/timespec (License): Likewise.
10401         * modules/utimens (License): Likewise.
10403 2016-10-14  Bruno Haible  <bruno@clisp.org>
10404             Pádraig Brady  <P@draigBrady.com>
10406         canonicalize-lgpl: Support the case path_max > INT_MAX.
10407         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
10408         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
10410 2016-10-13  Jim Meyering  <meyering@fb.com>
10412         getprogname: IBM z/OS: avoid NULL-dereference
10413         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
10414         upon strdup failure.
10416 2016-10-12  Jim Meyering  <meyering@fb.com>
10418         test-stdint: use _GL_VERIFY rather than "verify" for some tests
10419         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
10420         and an abbreviated diagnostic rather than verify with the full one,
10421         because the full-length strings would evoke warnings from gcc with
10422         -Woverlength-strings.
10424 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10426         stdint: port SIZE_MAX to glibc s390
10427         Problem reported by Eric Blake in:
10428         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
10429         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
10430         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
10431         correct type, if possible.
10433 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
10435         getprogname: port to IBM z/OS
10436         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
10438 2016-10-11  Jim Meyering  <meyering@fb.com>
10440         maint: remove stray space after "." in AC_DEFINE comment.
10441         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
10442         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10444 2016-10-05  Jim Meyering  <meyering@fb.com>
10446         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10447         * lib/long-options.c (parse_long_options): Add a break statement
10448         to avoid this new warning/failure:
10449         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10450           --create-testdir --dir=/t/x --with-tests --test long-options
10451         ../../gllib/long-options.c: In function 'parse_long_options':
10452         ../../gllib/long-options.c:66:12: error: this statement may \
10453           fall through [-Werror=implicit-fallthrough]
10454                    (*usage_func) (EXIT_SUCCESS);
10455                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10457 2016-10-05  Jim Meyering  <meyering@fb.com>
10459         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10460         Testing this module would fail when using GCC 7 like this:
10461         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10462           --dir=/tmp/x --with-tests --test utimecmp
10463         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10464         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10465           [-Werror=bool-operation]
10466                          time_t s = src_s & ~ (res == 2 * BILLION);
10467                                             ^
10468         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10469           [-Werror=bool-operation]
10470                src_s &= ~ (res == 2 * BILLION);
10471                         ^
10472         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10473         Instead, make it explicit that we intend to apply it to 0 or 1.
10475 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10477         dfa: save memory for states
10478         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
10479         states if dfa has a lot of caches.
10481 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
10483         wchar, wctype-h: fix for MinGW 3.22.2
10484         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
10485         special invocation, to fix issues with MinGW 3.22.2 wchar.h
10486         when included from <string.h>.
10487         * lib/wctype.in.h [__MINGW32__]: Add special invocation
10488         convention for MinGW 3.22.2, to solve issues with their
10489         wctype.h when included from <ctype.h>.
10491 2016-10-05  Jim Meyering  <meyering@fb.com>
10493         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10494         * lib/long-options.c (parse_long_options): Add a break statement
10495         to avoid this new warning/failure:
10496         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10497           --create-testdir --dir=/t/x --with-tests --test long-options
10498         ../../gllib/long-options.c: In function ‘parse_long_options’:
10499         ../../gllib/long-options.c:66:12: error: this statement may \
10500           fall through [-Werror=implicit-fallthrough]
10501                    (*usage_func) (EXIT_SUCCESS);
10502                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10504         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10505         Testing this module would fail when using GCC 7 like this:
10506         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10507           --dir=/tmp/x --with-tests --test utimecmp
10508         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10509         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10510           [-Werror=bool-operation]
10511                          time_t s = src_s & ~ (res == 2 * BILLION);
10512                                             ^
10513         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10514           [-Werror=bool-operation]
10515                src_s &= ~ (res == 2 * BILLION);
10516                         ^
10517         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10518         Instead, make it explicit that we intend to apply it to 0 or 1.
10520 2016-10-03  Pádraig Brady  <P@draigBrady.com>
10522         quotearg: minimize shell quoting using double quotes
10523         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
10524         quote in encountered then use double quotes (c style quoting)
10525         when possible, as it simplifies the quoting.
10526         * tests/test-quotearg-simple.c: Add test cases.
10527         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
10528         for the fact we now may write beyond the returned length.
10530 2016-10-02  Jim Meyering  <meyering@fb.com>
10532         vasnprintf.c: avoid spurious warning from GCC 7
10533         The presence of cpp directives renders this "FALLTHROUGH" comment
10534         ineffective, so does not suppress the -Wimplicit-fallthrough warning
10535         from GCC 7 built from git on 2016-10-02.
10536         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
10537         directives, so that it takes effect once again.  This is clearly
10538         not a proper change, and I will revert it once this bug is fixed:
10539         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
10541 2016-10-01  Jim Meyering  <meyering@fb.com>
10543         getprogname: correct the test for a __progname variable
10544         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
10545         and AC_LINK_IFELSE to check for a global __progname.  If found,
10546         define HAVE_VAR___PROGNAME.
10547         * lib/getprogname.c (getprogname): Reflect the new name of the
10548         feature- checked preprocessor symbol:
10549         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
10551 2016-09-28  Jim Meyering  <meyering@fb.com>
10553         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
10554         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
10555         fall-through case with a /* fallthrough */ comment.
10557         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
10558         * lib/dfa.c (dfassbuild): Mark the end of this case with a
10559         /* fallthrough */ comment.
10561         getprogname: avoid __progname vs program_invocation_short_name pitfall
10562         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
10563         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
10564         not with Fedora 24's glibc-2.23.1-10.
10565         * lib/getprogname.c (__progname): Move this declaration down...
10566         (getprogname): ... into the #elif block where used, and make it
10567         explicitly "extern".
10569         getprogname: port to OpenBSD 5.1
10570         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
10571         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
10572         * modules/getprogname (configure.ac): Move most of this code...
10573         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
10574         increment serial number, and add a test for __progname.
10575         https://bugs.gnu.org/24562
10576         Reported by Nelson H. F. Beebe.
10578 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10580         sched: port to GCC 6.2.1 on macOS Sierra
10581         Problem reported by Denis Davydov in:
10582         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
10583         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
10584         Include <sys/cdefs.h> before <sched.h>.
10585         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
10586         so that we needn’t worry about the sched.h include bug here.
10587         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
10588         and include it before <sched.h> if it exists, when
10589         checking for <sched.h>.
10591         tests/init.sh: port Alpine fix to AIX 7.1
10592         * tests/init.sh (compare_): When attempting to use diff -U3,
10593         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
10594         diff -u not outputting a space after leading '+', as the users
10595         of 'compare' should not be that picky about its output format.
10596         In the AIX 7.1 case, return with diff exit status (or with 2 if
10597         trouble), instead of some random nonzero exit status.
10598         * tests/test-init.sh (test_compare): Remove space after leading
10599         '+', so that AIX 7.1 'diff' passes the test.
10601 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10603         nl_langinfo: pacify GCC
10604         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
10605         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
10607         stdint: also set GL_GENERATE_LIMITS_H
10608         Problem reported by Jim Meyering in:
10609         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
10610         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
10612         limits-h, stdint: Don't assume extensions, fix typo
10613         * m4/limits-h.m4 (gl_LIMITS_H):
10614         * m4/stdint.m4 (gl_STDINT_H):
10615         Don't assume AC_USE_SYSTEM_EXTENSIONS.
10616         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
10617         reported by Jim Meyering in:
10618         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
10620 2016-09-21  Jim Meyering  <meyering@fb.com>
10622         getprogname: port to AIX
10623         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
10624         and strdup to obtain a short program name string.  Using code from
10625         Bruno Haible and an idea from Bastien ROUCARIÈS, in
10626         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
10627         Assaf Gordon reported that this new file would fail to compile on
10628         AIX-7.1 32bit.
10630 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10632         extensions: fix typo in comment
10633         * m4/extensions.m4: Sync from Autoconf master.
10635         stdint: support new _WIDTH macros
10636         * doc/posix-headers/stdint.texi: Document this.
10637         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
10638         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
10639         support for INTMAX_WIDTH, etc. as well as for support for just C99.
10640         * modules/stdint (Depends-on): Add limits-h.
10641         (Makefile.am): Substitute HAVE_C99_STDINT_H.
10642         * modules/stdint-tests (Depends-on): Add extensions, so that
10643         INTMAX_MAX etc. are defined.
10644         * tests/test-stdint.c: Verify the new macros.
10646         limits-h: new module
10647         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
10648         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
10649         * doc/posix-headers/limits.texi: Document new module.
10650         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
10651         * modules/limit-h-tests, tests/test-limits-h.c: New files.
10653         stdio: don't redefine __USE_MINGW_ANSI_STDIO
10654         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
10655         if it is already defined.  Apparently GNU Emacs relies on this.  See:
10656         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
10658 2016-09-15  Eric Blake  <eblake@redhat.com>
10660         sys_types: avoid glibc 2.25 warnings about major()
10661         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
10662         older autoconf.
10663         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
10664         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
10665         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
10666         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
10668         mountlist: include sysmacros.h for glibc
10669         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
10670         AC_HEADER_MAJOR.
10671         * lib/mountlist.c (includes): Use correct headers.
10673 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10675         extensions: port to more ISO C TSes
10676         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
10677         master, to add support for more recent ISO C TRs and TSes.
10679 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10681         intprops: new macro TYPE_WIDTH
10682         * lib/intprops.h (TYPE_WIDTH): New macro.
10683         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
10684         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
10685         * lib/parse-datetime.y (parse_datetime2):
10686         Use it.
10688         extensions: port to recent ISO C TRs
10689         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10690         Sync from Autoconf master, to add support for recent ISO C TRs.
10691         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
10692         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
10693         the MinGW option is not an extension.
10695 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
10697         dfa: port to Solaris 9
10698         Problems reported by Tom G. Christensen in:
10699         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
10700         * modules/dfa (Depends-on): Add isblank.
10701         * modules/dfa-tests (dfa_match_aux_LDADD):
10702         Rename from test_stat_LDADD, to fix typo.
10703         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
10705 2016-09-10  Jim Meyering  <meyering@fb.com>
10707         strverscmp: avoid link failure on OS X
10708         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
10709         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
10711 2016-08-16  Jim Meyering  <meyering@fb.com>
10713         dfa: new module, importing grep's DFA matcher
10714         Since grep's DFA matcher is now being used by two gnulib-enabled
10715         projects, grep and sed, it makes sense to version-control its
10716         sources and unit tests in one place: here.
10717         * modules/dfa: New module.
10718         * modules/dfa-tests: New file.
10719         * lib/dfa.c: New file, from grep.
10720         * lib/dfa.h: Likewise.
10721         * lib/localeinfo.c: Likewise.
10722         * lib/localeinfo.h: Likewise.
10723         * tests/dfa-match-aux.c: Likewise.
10724         * tests/dfa-invalid-char-class.sh: Likewise.
10725         * tests/dfa-match.sh: Likewise, with minor changes.
10726         * MODULES.html.sh (Misc): Add "dfa" to this list.
10728 2016-09-09  Jim Meyering  <meyering@fb.com>
10730         getprogname-tests: don't depend on assert-h
10731         * modules/getprogname-tests (Depends-on): Remove assert-h.
10732         It was not needed, and in fact would cause build failure for
10733         coreutils on some systems.  Reported by Assaf Gordon in https:
10734         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
10736 2016-09-07  Jim Meyering  <meyering@fb.com>
10738         getprogname-tests: work also when EXEEXT is nonempty
10739         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10740         * tests/test-getprogname.c (main): Use it.
10741         Suggested by Gisle Vanem.
10743 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10745         getprogname: fix errors in previous change
10746         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10747         s/program_invocation_name/base/
10748         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10750 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10752         parse-datetime: restrict debug output to input string
10753         * lib/parse-datetime.y (parse_datetime2): If we parse
10754         all of the input but determine it's invalid, ensure
10755         we don't output the now invalid input pointer.
10756         This issue was seen with `date -d 'now +1'`.
10758 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10760         flexmember: new macro FLEXALIGNOF
10761         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10762         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10763         this macro.  Update comments.
10765 2016-09-07  Jim Meyering  <meyering@fb.com>
10767         getprogname: port to systems with __argv (mingw, msvc)
10768         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10769         last_component: more general than open coding it with hard-coded "/".
10770         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10771         * modules/getprogname (Depends-on): Add dirname-lgpl.
10772         (configure.ac): Check for __argv in <stdlib.h>.
10773         * modules/getprogname-tests: New file.
10774         * tests/test-getprogname.c: New file.
10775         Suggested by Gisle Vanem in
10776         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10778 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10780         flexmember: port better to GCC + valgrind
10781         With a char[] flexible array member in a struct with nontrivial
10782         alignment, GCC-generated code can access past the end of the
10783         array, because GCC assumes there are padding bytes to get the
10784         struct aligned.  So the common idiom of malloc (offsetof (struct
10785         s, m), n) does not properly allocate an n-byte trailing member, as
10786         malloc’s argument should be the next multiple of alignof (struct s).
10787         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10788         Although C11 apparently permits this GCC optimization (i.e., there
10789         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10790         See the thread containing:
10791         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10792         * lib/flexmember.h: New file.
10793         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10794         * lib/localename.c, lib/time_rz.c:
10795         Include flexmember.h.
10796         * lib/fnmatch_loop.c (struct patternlist):
10797         * lib/localename.c (struct hash_node):
10798         Use FLEXIBLE_ARRAY_MEMBER.
10799         * lib/fnmatch_loop.c (EXT):
10800         * lib/fts.c (fts_alloc):
10801         * lib/glob.c (glob_in_dir):
10802         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10803         * lib/localename.c (gl_lock_define_initialized):
10804         * lib/time_rz.c (tzalloc):
10805         Use FLEXSIZEOF instead of offsetof.
10806         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10807         Check that the size of the struct can be taken.
10808         * modules/flexmember (Files): Add lib/flexmember.h.
10809         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10810         Add flexmember.
10812 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10814         getprogname: port to Solaris 10
10815         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10816         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10817         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10819         stdalign: correct mistake in alignof doc
10820         Problem reported by Joseph Myers in:
10821         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10822         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10823         alignof(S) where S is a structure containing a flexible array
10824         member.  The Gnulib substitute does not support this, but C11 does.
10826 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10828         main.mk: remove sc_program_name, since there is no more need to
10829         use set_program_name in tools (getprogname is enough for most
10830         of the cases).
10831         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10832         * top/maint.mk (sc_program_name): Remove.
10834 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10836         Port tests away from progname, since modules that need the
10837         program name already depend on getprogname.
10838         * modules/acl-tests (Depends-on): Remove progname.
10839         * modules/argmatch (Depends-on): Likewise.
10840         * modules/argmatch-tests (Depends-on): Likewise.
10841         * modules/argp-tests (Depends-on): Likewise.
10842         * modules/argp-version-etc-tests (Depends-on): Likewise.
10843         * modules/array-list-tests (Depends-on): Likewise.
10844         * modules/array-oset-tests (Depends-on): Likewise.
10845         * modules/avltree-list-tests (Depends-on): Likewise.
10846         * modules/avltree-oset-tests (Depends-on): Likewise.
10847         * modules/avltreehash-list-tests (Depends-on): Likewise.
10848         * modules/carray-list-tests (Depends-on): Likewise.
10849         * modules/copy-file-tests (Depends-on): Likewise.
10850         * modules/exclude-tests (Depends-on): Likewise.
10851         * modules/fchownat-tests (Depends-on): Likewise.
10852         * modules/fdopendir-tests (Depends-on): Likewise.
10853         * modules/filenamecat-tests (Depends-on): Likewise.
10854         * modules/fstatat-tests (Depends-on): Likewise.
10855         * modules/fstrcmp-tests (Depends-on): Likewise.
10856         * modules/linked-list-tests (Depends-on): Likewise.
10857         * modules/linkedhash-list-tests (Depends-on): Likewise.
10858         * modules/mkdirat-tests (Depends-on): Likewise.
10859         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10860         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10861         * modules/obstack-printf-tests (Depends-on): Likewise.
10862         * modules/openat-tests (Depends-on): Likewise.
10863         * modules/parse-datetime-tests (Depends-on): Likewise.
10864         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10865         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10866         * modules/quotearg-simple-tests (Depends-on): Likewise.
10867         * modules/quotearg-tests (Depends-on): Likewise.
10868         * modules/rbtree-list-tests (Depends-on): Likewise.
10869         * modules/rbtree-oset-tests (Depends-on): Likewise.
10870         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10871         * modules/spawn-pipe-tests (Depends-on): Likewise.
10872         * modules/system-quote-tests (Depends-on): Likewise.
10873         * modules/uniname/uniname-tests (Depends-on): Likewise.
10874         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10875         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10876         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10877         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10878         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10879         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10880         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10881         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10882         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10883         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10884         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10885         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10886         * modules/unlinkat-tests (Depends-on): Likewise.
10887         * modules/version-etc-tests (Depends-on): Likewise.
10888         * modules/xalloc-die-tests (Depends-on): Likewise.
10889         * modules/xmemdup0-tests (Depends-on): Likewise.
10890         * modules/xprintf-posix-tests (Depends-on): Likewise.
10891         * modules/xvasprintf-tests (Depends-on): Likewise.
10892         * tests/test-argmatch.c: Do not include progname.h.
10893         (main) Stop calling set_program_name.
10894         * tests/test-argp-version-etc.c: Likewise.
10895         * tests/test-argp.c: Likewise.
10896         * tests/test-argv-iter.c: Likewise.
10897         * tests/test-array_list.c: Likewise.
10898         * tests/test-array_oset.c: Likewise.
10899         * tests/test-avltree_list.c: Likewise.
10900         * tests/test-avltree_oset.c: Likewise.
10901         * tests/test-avltreehash_list.c: Likewise.
10902         * tests/test-carray_list.c: Likewise.
10903         * tests/test-copy-acl.c: Likewise.
10904         * tests/test-copy-file.c: Likewise.
10905         * tests/test-exclude.c: Likewise.
10906         * tests/test-fchownat.c: Likewise.
10907         * tests/test-fdopendir.c: Likewise.
10908         * tests/test-filenamecat.c: Likewise.
10909         * tests/test-fstatat.c: Likewise.
10910         * tests/test-fstrcmp.c: Likewise.
10911         * tests/test-linked_list.c: Likewise.
10912         * tests/test-linkedhash_list.c: Likewise.
10913         * tests/test-mkdirat.c: Likewise.
10914         * tests/test-nonblocking-pipe-main.c: Likewise.
10915         * tests/test-nonblocking-socket-main.c: Likewise.
10916         * tests/test-obstack-printf.c: Likewise.
10917         * tests/test-openat.c: Likewise.
10918         * tests/test-parse-datetime.c: Likewise.
10919         * tests/test-pipe-filter-gi1.c: Likewise.
10920         * tests/test-pipe-filter-gi2-main.c: Likewise.
10921         * tests/test-pipe-filter-ii1.c: Likewise.
10922         * tests/test-pipe-filter-ii2-main.c: Likewise.
10923         * tests/test-quotearg-simple.c: Likewise.
10924         * tests/test-quotearg.c: Likewise.
10925         * tests/test-rbtree_list.c: Likewise.
10926         * tests/test-rbtree_oset.c: Likewise.
10927         * tests/test-rbtreehash_list.c: Likewise.
10928         * tests/test-sameacls.c: Likewise.
10929         * tests/test-set-mode-acl.c: Likewise.
10930         * tests/test-spawn-pipe-main.c: Likewise.
10931         * tests/test-system-quote-main.c: Likewise.
10932         * tests/test-unlinkat.c: Likewise.
10933         * tests/test-version-etc.c: Likewise.
10934         * tests/test-xalloc-die.c: Likewise.
10935         * tests/test-xfprintf-posix.c: Likewise.
10936         * tests/test-xmemdup0.c: Likewise.
10937         * tests/test-xprintf-posix.c: Likewise.
10938         * tests/test-xvasprintf.c: Likewise.
10939         * tests/uniname/test-uninames.c: Likewise.
10940         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10941         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10942         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10943         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10944         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10945         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10946         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10947         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10948         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10949         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10950         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10951         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10952         * tests/test-c-stack.c: (program_name): Do not define.
10953         (main): Do not set program_name.
10954         * tests/test-closein.c: Likewise.
10955         * tests/test-xstrtol.c: Likewise.
10956         * tests/test-yesno.c: Likewise.
10958 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10960         Port modules to use getprogname explicitly, instead of requiring
10961         progname to be used (or program_name to be provided).
10962         * lib/argmatch.c: Do not include progname.h.
10963         [TEST] (program_name): Do not define.
10964         [TEST] (main): Call getprogname instead of using program_name.
10965         * lib/c-stack.c: Do not include progname.h.
10966         (program_name): Do not define.
10967         (die): Call getprogname instead of using program_name.
10968         * lib/chdir-long.c: Do not include progname.h.
10969         [TEST_CHDIR] (main): Do not set program_name.
10970         * lib/error.c [!_LIBC]: Include progname.h.
10971         [!_LIBC] (program_name): Define using getprogname.
10972         * lib/euidaccess.c: Do not include progname.h.
10973         [TEST] (main): Do not set program_name.
10974         * lib/git-merge-changelog.c: Include getprogname.h instead of
10975         progname.h.
10976         (usage): Call getprogname instead of using program_name.
10977         (main): Likewise.  Stop calling set_program_name.
10978         * lib/group-member.c: Do not include progname.h.
10979         [TEST] (main): Do not set program_name.
10980         * modules/argmatch (Depends-on): Add getprogname.
10981         * modules/c-stack (Depends-on): Likewise.
10982         * modules/error (Depends-on): Likewise.
10983         * modules/git-merge-changelog (Depends-on): Likewise.
10984         Also remove progname.
10986 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
10988         * NEWS: Document the deprecation of the 'progname' module.
10990 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10992         getprogname: new module
10993         This provides a LGPL module for getting the name of the current
10994         program, using the same API found on *BSD systems.
10995         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
10996         * modules/getprogname: New files.
10997         * MODULES.html.sh (Misc): Add getprogname.
10999 2016-09-02  Jim Meyering  <meyering@fb.com>
11001         manywarnings: add -fno-common
11002         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
11003         to the list.  Quoting the manual, "Compiling with -fno-common is
11004         useful on targets for which it provides better performance, or if
11005         you wish to verify that the program will work on other systems that
11006         always treat uninitialized variable declarations this way [putting
11007         it in the data section]."  If diffutils had been using this sooner,
11008         it would have prevented this duplicate declaration issue:
11009         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
11011 2016-08-31  Simon Josefsson  <simon@josefsson.org>
11013         parse-datetime: Fix typo.
11014         * lib/parse-datetime.y (parse_datetime2): Fix typo.
11016 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11018         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
11019         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
11020         GCC 5 and 6 that have __builtin_sub_overflow but not
11021         __builtin_sub_overflow_p.  With the recent changes, these
11022         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
11023         implementation than with INT_SUBTRACT_OVERFLOW implementation,
11024         since the former needs just one runtime comparison whereas the
11025         latter needs two.
11027         strverscmp: sync with glibc
11028         Although this doesn't exactly synchronize with glibc
11029         byte-for-byte, it makes the code behave the same as glibc.
11030         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
11031         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
11032         difference shouldn't matter in practical use.  All uses changed
11033         back to isdigit.
11034         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
11035         (next_state): Now unsigned char array; redo elements.
11036         (result_type): Now signed char array; redo elements.
11037         (__strverscmp): Fix glibc bug 9913 by using new states.
11038         * tests/test-strverscmp.c (main): Test glibc bug 9913.
11040 2016-08-29  Jim Meyering  <meyering@fb.com>
11042         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
11043         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
11044         similarly to how it was done to intprops.h.
11046 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11048         intprops.h: port recent changes to GCC 6.2.0
11049         * lib/intprops.h (__has_builtin): Move earlier.
11050         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
11051         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
11052         the last argument can be null.  All uses changed.
11053         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
11054         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11055         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
11056         and it's not clear which GCC versions it works for.
11057         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
11058         its definiens.
11060         intprops.h: use __typeof__ with GCC 7
11061         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
11062         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
11063         This avoids computing the expression's value (which might overflow!).
11065 2016-08-29  Jim Meyering  <meyering@fb.com>
11067         intprops.h, xalloc-oversized.h: work with gcc 7
11068         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
11069         __builtin_mul_overflow each accept a NULL pointer as the third
11070         argument.  However in gcc 7, that is no longer accepted.
11071         Instead, one must use the "_p"-suffixed names, with which, the
11072         third parameter is no longer a pointer.
11073         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
11074         the definition: not true for gcc 7 and subsequent.
11075         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
11076         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11077         Provide new definitions for gcc 7 and subsequent.
11078         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
11079         that works with gcc-7.
11081         intprops.h: fix missing-backslash problems
11082         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
11083         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
11085 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11087         intprops: fix paren typo on old platforms
11088         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
11089         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
11090         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
11091         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
11092         && !defined LLONG_MAX]:
11093         Remove stray paren.
11095         intprops: port to OpenVMS
11096         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
11097         * doc/posix-headers/limits.texi: Document the problem.
11098         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
11099         Define if not already defined.
11101 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
11103         parse-datetime: improve debug implementation
11104         Follow-up to commit 12ad79069 ("add optional debug printing").
11105         Improve parse-datetime's debug implementation: remove macros,
11106         replace global debug flag variable with a function parameter,
11107         use nstrftime for formatting.
11108         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
11109         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
11110         (parse_datetime2): New function, accepts 'flags' parameter, supporting
11111         debug flag. Existing interface 'parse_datetime' left unmodified.
11112         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
11113         (struct parser_control): add 'parse_datetime_debug' member variable.
11114         (parse_datetime): Call new function 'parse_datetime2' without debug.
11115         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
11116         pc.parse_datetime_debug variable as needed.
11117         (to_year): Accept new flags parameter, instead of using global variable.
11118         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
11119         use struct 'debug' variable instead of global variable.
11120         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
11121         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
11122         correspnding functions directly instead of using macros.
11123         * modules/parse-datetime: Add gnulib's strftime module.
11125 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
11127         c-strcase-tests: port to EBCDIC
11128         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
11129         which assume ASCII encoding semantics to run only in ASCII
11130         mode, as they fail in EBCDIC.
11132         sigpipe-tests: fix typo
11133         * tests/test-sigpipe.sh: C, not B.
11135 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11137         canonicalize-lgpl: fix errno after malloca fails
11138         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
11139         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
11140         * lib/canonicalize-lgpl.c (__realpath):
11141         Don't assume malloca sets errno on failure.
11143 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11145         strtod: port errno handling to z/OS
11146         * lib/strtod.c (strtod): Save and restore errno more reliably.
11148 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11150         strtod: port to z/OS
11151         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11152         implementation.
11154 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11156         strtod: port to z/OS
11157         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11158         implementation.
11160         regex, string: rename to avoid '__string'
11161         * lib/regex.h, lib/string.in.h: Do not use the identifier
11162         '__string', as it is effectively reserved by string.h on z/OS.
11164         c-strcase-tests, wcwidth-tests: depend on c-ctype
11165         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
11166         Add c-ctype.
11168 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11170         thread: port to z/OS
11171         * lib/glthread/thread.c, lib/glthread/thread.h:
11172         Rudimentary gl_thread support for z/OS.
11174         maint: port tests to z/OS errno behavior
11175         * tests/test-nonblocking-reader.h:
11176         * tests/test-nonblocking-writer.h:
11177         Accommodate z/OS errno code preferences. (I believe this should
11178         still be within spec; IBM is good at following the letter if not
11179         the spirit of such things.)
11181         maint: preprocessor changes to support z/OS
11182         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
11183         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
11184         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
11185         * tests/test-nonblocking-pipe.h:
11187         fclose, strstr-simple, wchar: port to z/OS
11188         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
11189         Changes to the Autoconf M4 code to support z/OS.  Note that
11190         fclose() is broken in a different way on z/OS than it is on other
11191         systems, thus the special-case in fclose.m4.
11193         iconv_open-utf-tests, iconv-tests: port to EBCDIC
11194         * tests/test-iconv-utf.c, tests/test-iconv.c:
11195         Added appropriately conditional #pragmas so that the test strings
11196         in test-iconv-utf.c are correctly interpreted in ASCII instead of
11197         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
11198         addressed in a more portable way by simply rewriting all the ASCII
11199         literal characters as octal escapes, but then you would lose the
11200         partial readability that the strings have now. Also, iconv_open()
11201         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
11203         c-strcase-tests, wcwidth-tests: port to EBCDIC
11204         * tests/test-c-strcasecmp.c: Include c-ctype.h.
11205         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
11206         * tests/test-wcwidth.c: Likewise.
11208 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11210         stdbool: don't require _Bool for C++
11211         Problem reported by David Seifert in:
11212         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
11213         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
11214         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
11215         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
11216         stricter about checking that bool and _Bool are compatible in C.
11218 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11220         getdelim: remove dependency on realloc-posix
11221         * lib/canonicalize-lgpl.c (alloc_failed)
11222         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
11223         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
11224         Use __set_errno where needed, for consistency.
11225         * lib/getdelim.c (alloc_failed): New function.
11226         (getdelim): Use it.
11228 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
11230         parse-datetime: add optional debug printing
11231         Print parsing information, warnings, and errors to stderr.
11232         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
11233         * lib/parse-datetime.y:
11234         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
11235         (PROGRESS*): Same as DEBUG, for progress reporting.
11236         (dbg_printf): Print message to stderr, with 'date' prefix.
11237         (struct parser_control): Add 'debug_*_seen' variables.
11238         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
11239         (debug_print_current_time, debug_print_relateive_time): Prints the
11240         current/relative date/time value of parser_control.
11241         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
11242         (to_year): Warn about 2-digit year parsing.
11243         (yylex):   Warn about unrecognized words.
11244         (get_effective_timezone): Returns current timezone in minutes.
11245         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
11246         clearly and unambigiously as possible.
11247         (debug_mktime_not_ok): Print detailed information about failed
11248         date/time values.
11249         (parse_datetime): Add DEBUG messages for failures, warnings. Add
11250         PROGRESS messages for status messages.
11251         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
11253 2016-08-06  Jim Meyering  <meyering@fb.com>
11255         tests/init.sh: exclude dash with bad "local" semantics
11256         * tests/init.sh (gl_shell_test_script_): Add a function to
11257         eliminate a shell like "dash" (unlike bash, zsh) that has
11258         surprising/risky "local var='...'" semantics.  Inspired by
11259         the problem and discussion in https://bugs.gnu.org/24116#11.
11261 2016-08-02  Ján Tomko  <jtomko@redhat.com>
11263         maint.mk: expand the prohibit_doubled_word regex
11264         This check has a static list of words that are checked for
11265         repetitions.  Expand it before running the perl script to
11266         avoid using expensive captures.  This decreases the cost
11267         for libvirt from 1.66s to 0.66s.
11268         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
11269         (sc_prohibit_doubled_word): Use it.
11271 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11273         useless-if-before-free: skip non-matching lines early
11274         * build-aux/useless-if-before-free: First match each line with the
11275         simple/quick /\bif\b/ and reject if there is no match. This often
11276         saves the cost of the much more involved regular expression.
11277         For libvirt, this decreases the cost from 1.44s to 1.02s.
11279 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11281         maint.mk: speed up sc_po_check
11282         sc_po_check would skip files based on their names, or on the
11283         existence of files with derived names. Rewrite it to use perl
11284         instead of shell to make the check faster.
11285         * top/maint.mk (perl_translatable_files_list_): Define.
11286         (sc_po_check): Use it.
11288 2016-07-30  Ján Tomko  <jtomko@redhat.com>
11290         maint.mk: speed up require_config_h_first
11291         Instead of spawning three processes per file,
11292         rewrite the check in perl and run it once for all the files.
11293         * top/maint.mk (perl_config_h_first_): Define.
11294         (sc_require_config_h_first): Use it in place of shell code.
11296 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11298         maint.mk: speed up sc_po_check
11299         sc_po_check would skip files based on their names, or on the
11300         existence of files with derived names. Rewrite it to use perl
11301         instead of shell to make the check faster.
11302         * top/maint.mk (perl_translatable_files_list_): Define.
11303         (sc_po_check): Use it.
11305 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11307         obstack: pacify GCC 6 with -Wnull-dereference
11308         Problem reported by Assaf Gordon in:
11309         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
11310         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
11311         Declare with __attribute_noreturn__.
11312         * lib/obstack.h (__attribute_noreturn__): New macro.
11314 2016-07-13  Eric Blake  <eblake@redhat.com>
11316         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
11317         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
11318         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
11320 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
11322         doc: mention glibc SSIZE_MAX buglet
11323         * doc/posix-headers/limits.texi (limits.h): Document the bug.
11325 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
11327         printf-posix: Fix mingw build
11328         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
11329         expression for detecting C symbol prefixes but forgot to qoute square
11330         brackets in the command line arguments for grep.  That way when
11331         building with mingw the condition was false although it ought to be
11332         true instead.  In particular scenarios this led to the following
11333         compile error:
11335             Cannot export rpl_printf: symbol not found
11336             Cannot export rpl_scanf: symbol not found
11337             collect2: error: ld returned 1 exit status
11339         Fix this by properly quoting square brackets.
11341 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11343         mktime: call tzset as per POSIX
11344         Problem reported by Ludovic Courtès in:
11345         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
11346         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
11347         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
11349 2016-06-26  Pádraig Brady  <P@draigBrady.com>
11351         fts: handle readdir() errors
11352         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
11353         but also upon error when it will also set errno.  Therefore
11354         flag the error case from readdir().  We treat the case where
11355         no items are read the same as if the dir can't be accessed,
11356         i.e. by setting fts_errno to FTS_DNR.
11358 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
11360         intprops: port better to GCC 7
11361         GCC 7 __builtin_add_overflow supports a new usage form, where the
11362         last argument is a null pointer, and which merely returns 1 if an
11363         overflow would occur.  This is a constant expression if all
11364         arguments are constants, and should generate faster code when code
11365         needs to be generated.
11366         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
11367         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11368         Use builtin operations if available.
11369         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
11370         operations are available, as it's almost surely faster.
11372 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11374         intprops-test: port to GCC 6
11375         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
11376         since the bug is not fixed in GCC 6.1.
11378 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11380         xalloc-oversized: port to GCC 7; fewer warnings
11381         GCC 7 will have a better way to deal with integer overflow.
11382         Plus, fix a warnings problem reported by Tim Ruehsen in:
11383         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
11384         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
11385         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
11386         For GCC 5, use __xalloc_oversized if both args are constants,
11387         or if pedantic.
11389 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
11391         regex: port to Sun C
11392         Reported by Daiki Ueno.
11393         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
11394         __restrict, in prototype.  This fixes a problem I introduced in
11395         the 2016-02-19 merge from glibc.
11397 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
11399         stdbool: Restore __bool_true_false_are_defined check
11400         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
11401         __bool_true_false_are_defined is still defined, even with C++11.
11403 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
11405         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
11406         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
11408 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
11410         Use GCC_LINT, not lint
11411         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
11412         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
11413         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
11414         Document problem with lint and _Noreturn.
11415         * lib/diffseq.h (IF_LINT, IF_LINT2):
11416         * lib/fts.c (sccsid):
11417         * lib/getndelim2.c (IF_LINT):
11418         * lib/gl_anylinked_list2.h (gl_linked_iterator)
11419         (gl_linked_iterator_from_to):
11420         * lib/gl_anytree_list2.h (gl_tree_iterator)
11421         (gl_tree_iterator_from_to):
11422         * lib/gl_anytree_oset.h (gl_tree_iterator):
11423         * lib/gl_array_list.c (gl_array_iterator)
11424         (gl_array_iterator_from_to):
11425         * lib/gl_array_oset.c (gl_array_iterator):
11426         * lib/gl_carray_list.c (gl_carray_iterator)
11427         (gl_carray_iterator_from_to):
11428         * lib/idcache.c:
11429         * lib/inet_ntop.c (IF_LINT):
11430         * lib/regcomp.c (build_charclass_op, create_tree):
11431         * lib/regex_internal.c (re_acquire_state)
11432         (re_acquire_state_context):
11433         * lib/trigl.c (rcsid):
11434         * lib/trim.c (IF_LINT):
11435         * lib/vasnprintf.c (IF_LINT):
11436         * lib/verify.h (assume):
11437         Treat GCC_LINT like lint.
11439 2016-05-29  Bruno Haible  <bruno@clisp.org>
11441         secure_getenv: Port to many more platforms.
11442         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
11443         functions.
11444         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
11445         for non-BSD Unix platforms and for native Windows.
11446         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
11447         Prompted by a request from Nikos Mavrogiannopoulos.
11449 2016-05-27  Eric Blake  <eblake@redhat.com>
11451         canonicalize: Fix broken probe for realpath.
11452         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
11453         in logic introduced in 54615b95.
11455 2016-05-26  Eric Blake  <eblake@redhat.com>
11457         unsetenv: relax to LGPLv2+
11458         * modules/unsetenv (License): Match setenv license.
11460 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
11462         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
11463         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
11464         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
11465         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
11466         (commonarg, dirargs, dirs, infoarg, generate_ascii)
11467         (generate_html, generate_info, generate_tex, outdir)
11468         (source_extra, split, srcfile, texarg): Move above 'version'.
11469         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
11471 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11473         manywarnings: update for GCC 6.1
11474         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
11475         Add GCC 6.1 options that apply to C.
11476         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
11477         do not apply to C, are obsolescent, etc.
11479 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
11481         glob: size_t overflow checks
11482         * lib/glob.c (__has_builtin): New macro.
11483         (size_add_wrapv, glob_use_alloca): New static functions.
11484         (glob, glob_in_dir): Check for size_t overflow in several places,
11485         and fix some size_t checks that were not quite right.
11487         glob: don't assume INT_MAX < SIZE_MAX
11488         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
11489         latter is not portable to (probably theoretical) hosts where
11490         SIZE_MAX <= INT_MAX.
11492 2016-05-09  Bruno Haible  <bruno@clisp.org>
11494         Fix undefined behaviour in gettext.h.
11495         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
11496         pointer's value after the storage it points to has been freed.
11497         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
11498         Spotted by Coverity.
11500 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11502         git-version-gen: avoid undefined shift
11503         Problem reported by Mosè Giordano in:
11504         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
11505         * build-aux/git-version-gen: Avoid undefined behavior if invoked
11506         with --prefix or --fallback but without a later argument.  While
11507         we're at it, omit unnecessary quotes.
11509 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
11511         glob: merge glibc changes into lib/glob.c
11512         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
11513         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
11514         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
11515           struct dirent [BZ #19779]
11516         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
11517           callback gl_readdir
11518         2015-10-20 Convert miscellaneous function definitions to prototype style
11519         2015-10-20 Convert 113 more function definitions to prototype style
11520           (files with assertions)
11521         2015-06-12 Fix getlogin_r namespace (bug 18527).
11522         2014-02-10 Use glibc_likely instead __builtin_expect.
11523         2013-10-20 When glob pattern contains a trailing slash match only
11524           directories. Fixes bug 10278.
11525         2013-09-04 glob: silence -Wattribute warnings
11526         2013-06-07 Avoid use of "register" as optimization hint.
11527         2012-09-25 Use size_t instead of int for internal variables in glob
11528           (bug 14621)
11529         2011-07-20 Check for overflows in expressions
11530         2011-05-28 Remove unused variable
11531         2011-05-22 Add a few more alloca size checks
11532         2010-03-27 Whitespace fixes
11533         2010-03-27 Fix one more issue with the glob patch
11534         2010-03-24 Fix glob with empty pattern
11535         2008-05-27 Remove useless more "if" tests before "free"
11536         * modules/glob (Depends-on): Add stdint.
11538 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11540         mktime: port to stricter signed overflow checking
11541         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
11542         (long_int): Require width for INT_MAX * 3 * (seconds per year),
11543         instead of merely for INT_MAX * 2.  In practice platforms that
11544         do the latter also do the former.
11545         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
11546         (shr): New static function, replacing SHR.  All uses changed.
11547         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
11548         and TIME_T_MAX.  All uses changed.
11549         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
11550         Use long_int, not time_t.
11551         (long_int_avg): New static function, replacing time_t_avg.
11552         All uses changed.  Round toward positive infinity, as that
11553         generates slightly better code.
11554         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
11555         by INT_ADD_WRAPV.
11556         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
11557         (convert_time): New static function.
11558         (ranged_convert): Use it
11559         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
11560         Use simpler test for loop exit.
11561         (__mktime_internal): Store negative of guessed offset, to simplify
11562         overflow checking.  Remove no-longer-needed test for small time_t
11563         overflows.
11565         mktime: speed up DEBUG_MKTIME benchmarks
11566         Call tzset just once, at the start, rather than for every test
11567         case.  This lets us measure the CPU cost of mktime as opposed to
11568         that of tzset.  This is relevant when TZ is not set and glibc is
11569         being used.  This speeds up tests by a factor of 40 on my Fedora
11570         23 x86-64 platform.
11571         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
11572         to call tzset and as a sanity check.  Later on, use localtime_r
11573         instead of localtime.
11575         mktime: resurrect DEBUG_MKTIME testing
11576         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
11577         Include <string.h>, for strcmp.
11579         mktime: simplify DEBUG_MKTIME
11580         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
11581         Simplify later usage accordingly.
11583         Port mktime_internal offset to unsigned time_t
11584         This avoids some assumptions about wraparound arithmetic on
11585         signed integer overflow.
11586         * lib/mktime-internal.h (mktime_offset_t): New type.
11587         (mktime_internal): Use it in decl.
11588         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
11590         * lib/mktime.c (__mktime_internal, localtime_offset):
11591         * lib/timegm.c (timegm): Use it.
11592         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
11593         (gl_FUNC_MKTIME): Require it.
11595 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
11597         xstrtol: prohibit monstrosities like "1bB"
11598         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
11599         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
11600         "B" only if the first suffix needs a base.
11601         * tests/test-xstrtol.sh: Test this.
11603 2016-04-21  Pádraig Brady  <P@draigBrady.com>
11605         xstrtod: reinstate setting of *result upon ERANGE
11606         * lib/xstrtod.c (XSTRTOD): The user may decide to use
11607         the returned limits upon ERANGE, so allow and document that.
11609 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
11611         xstrtod: modify *result only if no errors
11612         * lib/xstrtod.c (XSTRTOD).
11614 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
11616         btowc: document problems in C locale
11617         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
11618         with mbrtowc.  See: http://bugs.gnu.org/23269#32
11620 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11622         mktime: improve integer overflow checking
11623         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
11624         (WRAPV): Remove; no longer needed.
11625         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
11626         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
11627         Remove.  Use intprops.h defns instead.
11628         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
11629         Use bool for Boolean, for clarity.
11630         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
11631         detect integer overflow.
11632         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
11634         intprops: check two's complement assumption
11635         Suggested by Eric Blake in:
11636         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
11637         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
11638         short, int, long, and (if available) long long are two's complement.
11639         * modules/intprops (Depends-on): Add 'verify'.
11641         intprops, mktime, strtol: assume two's complement
11642         These macros were not portable to every conforming C11 ones'
11643         complement platform.  It's not worth the hassle of porting to some
11644         platforms that use ones' complement or signed magnitude, as such
11645         platforms are almost purely theoretical nowadays and porting even
11646         to some of them makes the code harder to review for little
11647         practical benefit.  Problem reported by Florian Weimer in:
11648         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
11649         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11650         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
11651         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
11652         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11653         (TYPE_SIGNED_MAGNITUDE):
11654         Remove.  All uses rewritten to assume two's complement, which is
11655         all we can reasonably test nowadays anyway.
11656         * top/maint.mk (_intprops_names): Remove the removed macros.
11658 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11660         stdint: port to strict C11 left shift
11661         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
11662         Pacify clang -Wshift-negative-value, which should be an issue only
11663         on clang setups where stdint.h does not conform to C11 or to C++11.
11664         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
11666 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11668         mbrtowc: work around glibc bug#19932
11669         Fix mbrtowc so that it never returns -1 in the C locale,
11670         as this conflicts with a future version of POSIX
11671         http://austingroupbugs.net/view.php?id=663#c2738
11672         and causes problems with GNU grep: http://bugs.gnu.org/23234
11673         See glibc bug 19932:
11674         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
11675         * doc/posix-functions/mbrlen.texi (mbrlen):
11676         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11677         Document the glibc bug.
11678         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
11679         Include hard-locale.h, locale.h.
11680         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
11681         if the bug is possible.
11682         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
11683         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
11684         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
11685         * modules/mbrtowc (Depends-on): Add hard-locale.
11686         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
11687         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
11688         * tests/test-mbrtowc5.sh: New file.
11690 2016-04-03  Pedro Alves  <palves@redhat.com>
11692         stdint: detect good enough pre-C++11 stdint.h in C++ mode
11693         When gnulib is configured in C++ mode for a system with a working C99
11694         implementation of stdint.h that predates C++11, gnulib ends up
11695         substituting stdint.h anyway.  This works on most targets, but on e.g.,
11696         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
11697         MinGW is LLP64.  Instead of trying to detect the right types, detect
11698         good-enough-pre-C++11 stdint.h and in such case define
11699         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
11700         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
11701         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
11702         conforms to C99.  If it does, check whether it hides symbols
11703         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
11704         does, define those macros in config.h.
11706 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11708         argp: merge changes from glibc
11709         Among other things, this should fix problems found by a Coverity
11710         scan and reported by Andrei Borzenkov:
11711         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
11712         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
11713         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
11714         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
11715         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
11716         * lib/argp.h:
11717         Merge changes from glibc.
11718         * tests/test-argp-2.sh: Adjust to match new behavior.
11720 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
11722         stddef: support configuring with g++
11723         Problem reported by Ángel González in:
11724         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
11725         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
11726         Do not define if _GCC_MAX_ALIGN_T is defined.
11728 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11730         test-framework-sh: minor cleanups
11731         * tests/init.sh (testdir_prefix_): Output a trailing newline,
11732         since strictly speaking POSIX requires this.
11733         (setup_): Do not use the variable 'fail', as that makes the
11734         trace output harder to read ('fail' is typically used by
11735         tests to mean the test failed).  Treat // portably.
11736         Check that new directory is not merely a sibling of the tmp dir.
11737         Avoid unnecessary invocation of tr.
11739         test-framework-sh: revert port to NetBSD 7.0
11740         It was a false alarm; I misinterpreted Assaf Gordon's report.
11741         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11742         Restore.
11743         (test_dir_): Adjust to mktempd_ change.
11744         (mktempd_): Restore 2nd arg.  Use -t again.
11745         (base_template_, template_, nx_): Resurrect old code.
11747         Port better to Alpine Linux
11748         Its diff implementation does not support -c, but does support -U3.
11749         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11750         * tests/init.sh (diff_opt_): New var.
11751         (compare_): Prefer diff -U3 to diff -c to plain diff.
11753 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11755         test-framework-sh: port to NetBSD 7.0
11756         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11757         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11758         Remove.  All uses removed.
11759         (test_dir_): Adjust to mktempd_ change.
11760         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11761         (base_template_, template_, nx_): Simplify by hardcoding.
11763 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11765         gitlog-to-changelog: suppress ignored chatter
11766         * build-aux/gitlog-to-changelog: Do not warn about skipping
11767         an SHA if it would have been ignored anyway.
11769 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11771         setlocale: add "sv" to Windows language table
11772         * lib/setlocale.c (language_table) [W32]: Add "sv".
11773         Reported in <https://savannah.gnu.org/bugs/?44588>.
11775 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11777         sys_select: port to new Cygwin
11778         Problem reported by Ken Brown in:
11779         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11780         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11781         diagnostics.
11783 2016-03-17  Jim Meyering  <meyering@fb.com>
11785         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11786         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11787         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11788           test-userspec.c:176:9: error: statement is indented as if it were \
11789             guarded by... [-Werror=misleading-indentation]
11790                    {
11791                    ^
11792           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11793                  if (!diag && !T[i].result)
11794                  ^~
11796 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11798         time_rz: port to clang -Wunused-const-variable
11799         * lib/time_rz.c (TZ): Remove.  All uses removed.
11801         std-gnu11: improve clang support
11802         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11803         2016-03-15 Also try clang
11804         2016-03-15 Port C11 and C++11 testing to clang
11806         select: port more to Intel 2016.1.150 compiler
11807         Problem reported by Balázs Hajgató in:
11808         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11809         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11811 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11813         select: try to port to 2016.1.150 compiler
11814         Problem reported by Balázs Hajgató in:
11815         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11816         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11817         POSIX specifies 'restrict'.
11819 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11821         localename-tests: memory allocation fixes
11822         * tests/test-localename.c (test_locale_name)
11823         (test_locale_name_thread): Don't call freelocale on a locale
11824         that was the base of a successful newlocale, as that
11825         results in a double free.  Problem reported by Assaf Gordon.
11826         (test_locale_name_thread): Free saved names after use, to pacify
11827         gcc -fsanitize=address.
11829 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11831         intprops: make .h file license match module
11832         * lib/intprops.h: Change the license wording to match glibc format.
11833         This is what is in modules/intprops anyway.  See:
11834         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11836 2016-03-08  Eric Blake  <eblake@redhat.com>
11838         acl: fix missing return on Cygwin
11839         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11840         fall off end of function. Fixes http://bugs.gnu.org/22949
11842 2016-03-05  Bruno Haible  <bruno@clisp.org>
11844         extern-inline: port to PGI CC
11845         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11846         keyword 'inline'.
11847         Reported by Adam James Stewart in:
11848         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11850 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11852         signbit: port back to pre-C++11 GCC
11853         * lib/math.in.h (signbit): Do previous change only if
11854         __cplusplus < 201103.  See Jonathan Wakely in:
11855         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11857 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11859         mountlist: recognize autofs-mounted remote file systems, too
11860         Originally reported at: https://bugzilla.redhat.com/1309247
11861         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11862         "-hosts" because it is used by autofs to mount remote file systems.
11864 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11866         signbit: port to C++ with GCC 6
11867         * lib/math.in.h (signbit) [__cplusplus]:
11868         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11869         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11871         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11873         regex: make it closer to libc
11874         Make Idx a signed type, rather than possibly unsigned.
11875         The unsignedness was not really buying us anything, since the code
11876         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11877         it signed allows us to use -1 and -2 with abandon, like libc does,
11878         thus lessening the number of differences between gnulib and libc.
11879         Also, it should help avoid gratuitous warnings like the one
11880         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11881         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11884         regex: merge patches from libc
11886         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11887         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11888         Convert miscellaneous function definitions to prototype style.
11889         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11890         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11891         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11892         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11893         (re_search_internal):
11894         Convert to prototype-style function definition.
11895         Use internal_function for internal functions.
11897 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11899         stdalign: port to older HP and IBM cc
11900         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11901         C compilers, by checking their version numbers.  These version
11902         numbers appear in MariaDB and in Qt code that dates way back and
11903         that conditiionally uses the 'aligned' attribute.
11905 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11907         stdalign: port to clang 3.7.0
11908         Problem reported by Herbert J. Skuhra in:
11909         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11910         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11911         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11912         https://llvm.org/bugs/show_bug.cgi?id=26547
11914 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11916         readdir_r: now obsolescent
11917         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11918         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11920 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11922         misc: port better to gcc -fsanitize=address
11923         Without these patches, ./configure CFLAGS='-fsanitize=address'
11924         would compute incorrect values.  This patch fixes some (but not all)
11925         test failures with recent glibc, with this configuration.
11926         * m4/acl.m4 (gl_ACL_GET_FILE):
11927         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11928         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11929         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11930         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11931         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11932         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11933         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11934         * m4/getline.m4 (gl_FUNC_GETLINE):
11935         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11936         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11937         * m4/regex.m4 (gl_REGEX):
11938         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11939         * tests/test-calloc-gnu.c (main):
11940         * tests/test-duplocale.c (main):
11941         * tests/test-getgroups.c (main):
11942         * tests/test-getline.c (main):
11943         * tests/test-inttostr.c (main):
11944         * tests/test-localename.c (test_locale_name)
11945         (test_locale_name_thread, test_locale_name_environ)
11946         (test_locale_name_default):
11947         * tests/test-regex.c (main):
11948         * tests/test-setlocale1.c (main):
11949         * tests/test-stat.h (test_stat_func):
11950         Free heap-allocated storage before exiting.
11951         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11952         Don't match *_foo symbols inserted by AddressSanitizer.
11953         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11955 2016-02-02  Jim Meyering  <meyering@fb.com>
11957         verify-tests: also remove stray test-verify.Tpo
11958         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11959         to remove the test-verify.Tpo file that is left behind by
11960         the automake-generated rule upon compilation failure.
11961         Otherwise, that .Tpo file would cause a failed "make distcheck"
11962         at least for grep.
11964 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11966         std-gnu11: new module
11967         This makes it easier for applications to prefer C11 and C++11
11968         to older variants, when compiling C and C++ code.
11969         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
11970         a nontrivial chunk of GPLed Autoconf source code.
11971         * COPYING: Mention the m4/*.m4 copyright situation.
11972         * MODULES.html.sh (std-gnu11): New module.
11973         * m4/std-gnu11.m4, modules/std-gnu11: New files.
11975 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
11977         get-permissions, strftime: fix grammar in comments
11978         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
11979         some grammar fixes Alan Mackenzie made to GNU Emacs.
11981 2016-01-25  Daiki Ueno  <ueno@gnu.org>
11983         gettext: mark as obsolete
11984         Suggested by Paul Eggert in:
11985         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
11986         * modules/gettext (Status): Mark as obsolete.
11987         (Notice): Suggest to use 'gettext-h' instead.
11988         * modules/gettext-h (Description): Suggest GNU gettext, instead of
11989         the 'gettext' module.
11991 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11993         gnulib-tool: don't give up on ln -s so easily
11994         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
11995         because an earlier one failed.  The targets could be on different
11996         file systems.  Problem reported by KO Myung-Hun in:
11997         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
11999         closedir: fix OS/2-related typos
12000         Problem reported by KO Myung-Hun in:
12001         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
12002         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
12003         in the last couple of changes.
12005 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
12007         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
12008         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
12009         copying a directory.
12011 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12013         regex: treat [x] as x if x is a unibyte encoding error
12014         Problem reported by Aharon Robbins in:
12015         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
12016         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
12017         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
12019         closedir, dirfd, opendir: port to OpenSolaris 5.10
12020         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
12021         * m4/dirfd.m4 (gl_FUNC_DIRFD):
12022         * m4/opendir.m4 (gl_FUNC_OPENDIR):
12023         Don't use ${word##pat} substitution, as it doesn't work in
12024         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
12025         http://bugs.gnu.org/22443#11
12027 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12029         bootstrap: use American spelling
12030         * build-aux/bootstrap: Honor American spelling.
12032 2016-01-22  Karl Berry  <karl@freefriends.org>
12034         * doc/posix-functions/localtime.texi,
12035         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
12037 2016-01-21  Bruno Haible  <bruno@clisp.org>
12039         hash-pjw-bare: fix comment
12040         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
12042         wcwidth: Replace also on OpenBSD 5.8
12043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
12044         * doc/posix-functions/wcwidth.texi: Update.
12046 2016-01-20  Pádraig Brady  <P@draigBrady.com>
12048         gnu-web-doc-update: fix addition of new files
12049         If there were already added (emnpty) dirs,
12050         then cvs aborts the add with the message:
12051           cvs [add aborted]: there is a version in <./dirname> already
12052         * build-aux/gnu-web-doc-update: Add directories separately
12053         to the addition of files, to avoid the above issue
12054         impacting the addition of files.
12056 2016-01-19  Daiki Ueno  <ueno@gnu.org>
12058         utimens-tests: avoid pulling gettext .m4 files
12059         Although this is not the right fix to the original problem:
12060         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
12061         it makes it possible again for consumer projects to use arbitrary
12062         version of gettext, through the steps described at:
12063         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
12064         See here for details:
12065         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
12066         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
12067         'gettext'.
12068         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
12069         'gettext'.
12071 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12073         regex: pacify static checkers
12074         Problem and draft fix reported by Aharon Robbins in:
12075         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12076         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
12077         Clear memory to pacify static checkers.
12079         regex: fix [ diagnostic
12080         Problem and fix reported by Aharon Robbins in:
12081         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12082         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
12084         regex: fix memory leaks
12085         Problem and draft fix reported by Aharon Robbins in:
12086         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12087         * lib/regcomp.c (build_range_exp, build_charclass_op)
12088         * lib/regex_internal.c (re_dfa_add_node):
12089         Fix memory leak on failure.
12091 2016-01-18  Pádraig Brady  <P@draigBrady.com>
12093         fts: don't unconditionally use leaf optimization for NFS
12094         NFS st_nlink are not accurate on all implementations,
12095         leading to aborts() if that assumption is made.
12096         See <https://bugzilla.redhat.com/1299169>
12097         * lib/fts.c (leaf_optimization_applies): Remove NFS from
12098         the white list, and document the issue.
12100 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12101             KO Myung-Hun  <komh@chollian.net>
12103         gnulib-tool: don't assume ln -s works
12104         * gnulib-tool (func_ln_s): New function.
12105         (func_ln): Use it.
12107 2016-01-15  KO Myung-Hun  <komh@chollian.net>
12109         utimes: detect utimes() correctly on OS/2 kLIBC
12110         utimes() of OS/2 kLIBC has some limitations.
12111         1. OS/2 itself supports a file date since 1980 year in local time.
12112         2. OS/2 itself supports only even seconds for a file time.
12113         3. utimes() of OS/2 kLIBC does not work on an opened file.
12114         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
12115         * doc/posix-functions/utimes.texi: Document the above limitations of
12116         utimes() on OS/2 kLIBC.
12118 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12119             KO Myung-Hun  <komh@chollian.net>
12121         openat_proc_name: port to OS/2 kLIBC
12122         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
12123         instead of /proc/self/fd.
12124         * lib/openat-proc.c (openat_proc_name):
12125         Don't assume file name length is less than INT_MAX.
12126         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
12128 2016-01-14  KO Myung-Hun  <komh@chollian.net>
12130         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
12131         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
12132         definitions of intptr_t and uintptr_t (which use int and unsigned)
12133         to avoid clashes with declarations of system functions like sbrk.
12134         * lib/stdint.in.h (intptr_t, uintptr_t): Check
12135         _INTPTR_T_DECLARED before defining them.
12137         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
12138         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
12139         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
12140         Declare on kLIBC.
12141         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
12142         fd associated with dirp.
12143         (_gl_register_dirp_fd): New. Register fd associated with dirp to
12144         dirp_fd_list.
12145         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
12146         (dirfd): Implemented for kLIBC.
12147         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
12148         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
12149         succeeds.
12150         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
12151         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12152         (REPLACE_DIRFD): Define to 1 if replaced.
12153         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
12154         * modules/closedir (Depends-on): Add dirfd.
12155         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
12156         condition.
12157         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
12158         * modules/opendir (Depends-on): Add dirfd.
12160         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
12161         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
12162         * lib/dup.c (dup_nothrow): New.
12163         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
12164         (klibc_dup2): New.
12165         * lib/fcntl.c (klibc_fcntl): New.
12166         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
12167         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
12168         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
12169         fd.
12171         pipe_filter_ii_execute: port to OS/2 kLIBC
12172         Pipes on kLIBC do not support O_NONBLOCK like Win32.
12173         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
12174         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
12175         Reuse Win32 code on OS/2 kLIBC.
12176         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
12177         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
12179         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
12180         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
12181         static inline function.  The implementation of wcwidth in wcwidth.c
12182         causes a "conflicting types" error.
12183         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
12185         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
12186         spawn() on OS/2 kLIBC is not silly like one on Windows
12187         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
12188         empty string on OS/2 kLIBC.
12190         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
12191         On OS/2 kLIBC, select() works only on sockets.
12192         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
12194         binary-io: don't put fd in binary mode if it is a console on EMX
12195         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
12196         a console on EMX.
12198 2016-01-15  Pádraig Brady  <P@draigBrady.com>
12200         doc: mention unfixed issues with unsupported localtime() values
12201         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
12202         returns nonsense for localtime(2^56).
12203         * doc/posix-functions/localtime_r.texi: Likewise.
12205 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12207         doc: mention setlocale() issues on OpenBSD
12208         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
12209         never fails, and the need to check categories individually.
12211 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12213         sig2str: list all signals on FreeBSD >= 7
12214         FreeBSD >= 7 is contravening POSIX by not defining NSIG
12215         to the maximal statically defined signal value.
12216         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
12217         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
12218         where available, even when NSIG is defined.
12220 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
12222         acl-permissions: port to USE_ACL==0 platforms
12223         I ran into this problem when building bleeding-edge GNU Emacs
12224         with gcc -fsanitize=address on Fedora 23.  On this platform
12225         the ACL library does not pass the 'configure' test and Emacs
12226         then does not build due in part to what appear to be typos in the
12227         ACL part of Gnulib.
12228         * lib/acl-internal.c (free_permission_context):
12229         * lib/acl-internal.h (struct permission_context):
12230         Test whether USE_ACL is nonzero, not whether it is defined.
12232 2016-01-12  Martin Sebor  <msebor@redhat.com>
12234         mktime: rename macro to avoid glibc clash
12235         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
12236         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
12238 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12240         Port "$@" to OpenIndiana ksh93
12241         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
12242         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
12243         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
12244         bug long-dead shells, so remove the workaround.
12245         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
12246         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12247         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
12248         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
12249         Use "$@" instead of ${1+"$@"}.
12251         Port Universal Time settings to strict POSIX
12252         * build-aux/announce-gen, build-aux/bootstrap:
12253         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
12254         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12255         * build-aux/gnupload, build-aux/mkinstalldirs:
12256         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
12257         * build-aux/update-copyright, build-aux/useless-if-before-free:
12258         * build-aux/vc-list-files, tests/test-strftime.c:
12259         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
12260         but POSIX says the behavior of TZ="UTC" is undefined.
12262 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
12264         msvc-inval: fix problem with unset shell var
12265         Problem reported by Karl Berry in:
12266         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
12267         * modules/msvc-inval (Depends-on):
12268         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
12269         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
12271 2016-01-01  Pádraig Brady  <P@draigBrady.com>
12273         tests: for compare_(), use cmp -s where available
12274         * tests/init.sh (compare_): Only fall back to cmp without
12275         the POSIX defined -s option, where this is not available.
12277 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
12279         version-etc: new year
12280         * build-aux/gendocs.sh (version):
12281         * doc/gendocs_template:
12282         * doc/gendocs_template_min:
12283         * doc/gnulib.texi:
12284         * lib/version-etc.c (COPYRIGHT_YEAR):
12285         Update copyright dates by hand in templates and the like.
12286         * all files: Run 'make update-copyright'.
12288 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
12290         human: fix output buffer overrun by 1
12291         * lib/human.c (human_readable): Fix off-by-one typo in buffer
12292         calculation that could lead to a one-byte buffer overrun.
12294 2015-12-28  Daiki Ueno  <ueno@gnu.org>
12296         maint: fix operator precedence in mbrtowc test
12297         This is a fix for test breakage introduced by commit 45228d96; the
12298         equality expression must be parenthesized when negated with '!',
12299         otherwise we always get:
12301           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
12303         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
12304         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12306 2015-12-23  James Youngman  <jay@gnu.org>
12308         regexprops-generic: update from regex.h
12309         * doc/regexprops-generic.texi: update by running the regexprops binary
12310         from findutils (the command line is 'regexprops "Regular Expressions"
12311         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
12312         gnulib with GNU grep had made this document out-of-date.
12314 2015-12-23  Pádraig Brady  <P@draigBrady.com>
12316         strftime-tests: avoid false failure on OS X
12317         * tests/test-strftime.c (struct localtime_rz_test): Add an
12318         ahistorical member which is used to warn rather than fail
12319         when tm_isdst isn't set for such entries.  This is the case for
12320         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
12322 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
12324         fts: ensure leaf optimization is used for NFS
12325         NFS provides usable dirent.d_type but not necessarily for all entries
12326         of large directories.  See <https://bugzilla.redhat.com/1252549>
12327         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
12329 2015-12-20  Pádraig Brady  <P@draigBrady.com>
12331         fts: enable leaf optimization for XFS
12332         XFS provides usable dirent.d_type only for DT_DIR,
12333         but the noleaf optimization still applies.
12334         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
12336 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
12338         intprops: comment fix
12339         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
12340         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
12342         intprops-test: work around GCC bug 68971
12343         Problem reported by Pádraig Brady in:
12344         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
12345         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
12346         (main): Add a case that better tests 64-bit long in this area.
12348 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
12350         gnulib-tool: allow multiple --local-dir usage
12351         * gnulib-tool: Use --local-dir to construct compound
12352         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
12353         PATH_SEPARATOR early.
12354         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
12355         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
12356         func_determine_path_separator because that needs to be detected
12357         earlier now.
12358         (func_determine_path_separator): New function.
12359         (func_path_foreach, func_path_foreach_inner): New functions.
12360         (func_path_prepend, func_path_append): Likewise.
12361         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
12362         (func_lookup_file, func_all_modules): Use new functions to work
12363         with local_gnulib_path.
12364         (func_modules_in_dir, func_exists_module): New callbacks for
12365         func_path_foreach.
12366         (func_exists_module, func_get_tests_module): Likewise.
12367         (func_is_local_file, func_should_symlink): New helper methods.
12368         (func_add_file, func_update_file): Use new func_should_symlink
12369         instead, DRY.
12370         (func_reconstruct_cached_local_gnulib_path): New helper.
12371         (func_reconstruct_cached_dir): New callback.
12372         (func_import): The cached_local_gnulib_dir renamed to
12373         cached_local_gnulib_path similarly to local_gnulib_dir.
12374         Use new func_reconstruct_cached_local_gnulib_path.
12375         (func_count_relative_local_gnulib_path): New sub-method.
12376         (func_create_testdir): Use func_should_symlink, DRY.
12377         (func_create_megatestdir): Use new functions to work with
12378         local_gnulib_path correctly.
12379         (func_append_local_dir): New helper.
12381 2015-12-08  Pádraig Brady  <P@draigBrady.com>
12383         fix freadptr to work with ungetc on all uClibc configs
12384         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
12385         where GNU coreutils cut(1) generates invalid output on uClibc
12386         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
12387         * lib/freadptr.c (freadptr): Return NULL if there are
12388         ungotten chars.  In this case freadseek() will iterate
12389         again to process the ungotten character.
12391 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12393         xalloc-oversized: improve performance with GCC 5
12394         * lib/xalloc-oversized.h (xalloc_oversized):
12395         Improve performance with GCC 5 by using __builtin_mul_overflow.
12397 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
12399         intprops: new public macro EXPR_SIGNED
12400         Emacs can use this macro, so make it public.
12401         * doc/intprops.texi (Arithmetic Type Properties): Rename from
12402         'Integer Type Determination', since some of these macros apply
12403         to non-integer types.  Clarify what kinds of constant expressions
12404         these macros return.  Say when the arguments can be non-integers.
12405         Mention newly published macro EXPR_SIGNED.
12406         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
12407         make it public.  All uses changed.
12409         intprops: fix typo in clang port
12410         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
12411         '__builtin_add_overflow' that is not caught by compiler.
12413 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12415         test-timespec: fix typo in previous change
12416         * tests/test-timespec.c (main): Fix typo that reduced test quality.
12418         timespec-sub: fix overflow bug; add tests
12419         * lib/timespec-add.c (timespec_add):
12420         * lib/timespec-sub.c (timespec_sub):
12421         Work even if time_t is narrower than int (a theoretical
12422         possibility).  Redo code for a bit more clarity.
12423         * lib/timespec-sub.c (timespec_sub):
12424         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
12425         * modules/timespec-tests, tests/test-timespec.c: New files.
12427         intprops-test: suppress -Woverlength-strings
12428         Problem reported by Pádraig Brady in:
12429         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
12430         It is not worth the hassle to port this test to compilers that
12431         cannot handle long strings in diagnostics.
12432         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
12434 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12436         quotearg: add quotearg_n_style_colon()
12437         This quotes with default options of the specified style,
12438         but with quoting enabled for instances of ':'.
12439         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
12440         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
12442 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12444         intprops: revise _WRAPV macros, revert _OVERFLOW
12445         The incompatible changes to the _OVERFLOW macros were too much of
12446         a hassle in practice, so revert them.  Instead, change the new
12447         _WRAPV macros to make them closer in behavior to GCC 5's new
12448         builtin_add_overflow etc. functions.  No other software was using
12449         these newly-added macros yet, so this should be OK.
12450         * NEWS: Revert previous change, since the incompatible change
12451         has been reverted, and nobody used the incompatible version.
12452         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
12453         Document revised behavior.
12454         (Integer Range Overflow): Adjust example to match above revisions.
12455         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
12456         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
12457         these can be used in integer constant expressions again.
12458         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
12459         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
12460         needed.
12461         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12462         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12463         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
12464         Remove, as they did not seem that useful.
12465         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
12466         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
12467         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
12468         Support new semantics.
12469         (__has_builtin): New macro, if not alreay defined.
12470         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
12471         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12472         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12473         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12474         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
12475         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
12476         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
12477         New macros.
12478         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
12480 2015-11-03  Jim Meyering  <meyering@fb.com>
12482         intprops: add parentheses for when OP has precedence lower than "-"
12483         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
12484         "a OP b" must be parenthesized for when OP is like "<<", which has
12485         lower precedence than the following "-". Reported by Pádraig Brady.
12487 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12489         quotearg: constify get_quoting_style parameters
12490         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
12491         * lib/quotearg.c (get_quoting_style): Likewise.
12493 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12495         quotearg: add support for $'' shell escaping
12496         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
12497         items and descriptions.
12498         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
12499         above types by quoting like "shell", but using $'...' syntax
12500         for non printable characters, which should provide unambiguous
12501         printable output for any input.
12502         * tests/test-quotearg-simple.c: Update accordingly.
12504 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12506         maint: use a more standard return from mbrtowc test
12507         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
12508         from the test program as this is non standard and often
12509         indicates an unhandled case in the test program.
12510         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12512 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12514         intprops: add WRAPV and const flavors for GCC 5
12515         If available, use GCC 5's builtin functions for efficient integer
12516         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
12517         and safely compute the low-order bits of the correct answer.
12518         A downside of these efficient functions is that they cannot be
12519         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
12520         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
12521         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
12522         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
12523         Document the changes.
12524         (Wraparound Arithmetic): New section.
12525         (Integer Range Overflow):
12526         Put this subsection last, since it's least useful.
12527         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
12528         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
12529         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
12530         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12531         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12532         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
12533         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12534         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
12535         New macros.
12536         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12537         Generate calls to GCC builtins if available, for speed.
12538         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12539         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12540         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12541         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
12542         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
12543         (CHECK_QUOTIENT, CHECK_REMAINDER):
12544         Test WRAPV and CONST flavors (when available) too.
12546 2015-10-30  Pádraig Brady  <P@draigBrady.com>
12548         doc: use extended timezone format in iso-8601 example
12549         * doc/parse-datetime.texi: The standard states that extended format
12550         is to be used consistently throughout.
12551         Note that lib/parse-datetime.y can handle either tz format.
12553 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12555         stdalign: port to Sun C 5.9
12556         * doc/posix-headers/stdalign.texi: Document this.
12557         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
12558         __attribute__ ((__aligned__ (...))).
12560 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12562         time_rz: fix comment about tzalloc
12563         * lib/time_rz.c (tzalloc): Fix comment.
12565 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12567         stdalign: work around pre-4.9 GCC x86 bug
12568         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
12569         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
12570         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
12572 2015-10-18  Pádraig Brady  <P@draigBrady.com>
12574         maint.mk: sc_tight_scope: remove extraneous expressions
12575         * top/maint.mk (tight_scope): This is not really required since
12576         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
12577         that matches all nm entries.  But it does remove extraneous entries
12578         that may be confusing or cause issue in future maintenance.
12580 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12582         time_rz: return NULL if localtime_r fails
12583         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
12584         while still attempting to pacify bleeding-edge GCC.
12586         fts: port to C11 alignof
12587         * doc/posix-headers/stdalign.texi (stdalign.h):
12588         Document the C11 restriction.
12589         * lib/fts.c: Include stddef.h, for max_align_t.
12590         (fts_alloc): Align using max_align_t, not FTSENT.
12591         * modules/fts (Depends-on): Add stddef.
12593 2015-10-18  Jim Meyering  <meyering@fb.com>
12595         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12596         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
12597         would see this:
12599         lib/time_rz.c: In function 'localtime_rz':
12600         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
12601           [-Werror=nonnull]
12602                    if (tm && !save_abbr (tz, tm))
12603                        ^
12605         That was complaining about "tm" because it is a parameter that was
12606         declared with the __nonnull__ attribute.
12607         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
12608         result of localtime_r.
12610 2015-10-17  Jim Meyering  <meyering@fb.com>
12612         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
12613         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
12614         name-extraction regexp mistakenly used \S+, and would mistakenly
12615         extract "*F" from "extern int *F()" rather than the desired "F".
12616         Use \w+ instead.
12618 2015-10-17  Jim Meyering  <meyering@fb.com>
12620         maint.mk: sc_tight_scope: factor and support OS X
12621         * top/maint.mk (_gl_tight_scope): Address three issues:
12622         - factor out four instances of code that wraps a string in "^...$"
12623         - allow nm-reported symbol names to have an optional leading "_"
12624         - add "main" to the list of ignored variable names, because on os x,
12625         "main" has nm-reported type "S" in the variable-checking section.
12627 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
12629         safe-alloc-tests: fix typo in license header
12630         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
12632 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
12634         copy-file: fix mem leak in error case
12635         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
12636         upon error opening or performing I/O to the src and dest files.
12638 2015-10-15  Mike Frysinger  <vapier@chromium.org>
12640         localename: control langinfo.h inclusion
12641         This header is only used to work around buggy behavior in old
12642         versions of glibc, so do not include it all the time.  Otherwise
12643         we get build failures on systems that do not provide langinfo.h.
12644         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
12645         in the source later on.
12646         The patch was originally submitted to gettext as:
12647         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
12649 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12651         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
12652         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
12653         * lib/u64.c, lib/unistd.c:
12654         Append 'typedef int dummy;', to pacify compilers that are picky
12655         about empty translation units.
12657 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
12659         accept4-tests: fix to avoid non portable flags
12660         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
12661         as they are the only documented ones, and passing others may trigger
12662         EINVAL (seen on FreeBSD 10.1-RELEASE).
12663         * doc/glibc-functions/accept4.texi: Mention that we don't provide
12664         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
12666 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
12668         gnulib-tool: fix tests of 'extensions' module
12669         This complements f8fe25fab60e3c687a124 commit.
12670         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
12671         emitting of initial gl_EARLY macros.
12672         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
12673         replaced with func_emit_pre_early_macros call.
12675 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12677         unicase/locale-language: fix typo in utf-8 cookie
12678         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
12679         Problem reported by Zbigniew Jędrzejewski-Szmek.
12681 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12683         xalloc: do not worry about GCC 5 warning on 32 bit
12684         * lib/xalloc.h: Revert previous change.
12685         I found a better way to fix this in coreutils.
12687 2015-10-02  Pádraig Brady  <P@draigBrady.com>
12689         xalloc: avoid GCC 5.1 warning on 32 bit
12690         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
12691         xalloc_oversized(), which was seen to give this warning
12692         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
12693         when simplifying conditional".
12695 2015-10-02  Daiki Ueno  <ueno@gnu.org>
12697         uniname/uniname-tests: avoid compiler warnings
12698         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
12699         unused local variables.
12700         (test_alias_lookup): Fix alias name display in failure cases.
12702 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12704         c-ctype: do not worry about EBCDIC + char signed
12705         Drop support for EBCDIC with char being signed, as this breaks too
12706         many programs.  Problem reported by Ben Pfaff in:
12707         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
12708         * lib/c-ctype.h: Verify that we are not using EBCDIC with
12709         char being signed.
12710         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
12711         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
12712         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
12713         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
12714         * tests/test-c-ctype.c (test_all):
12715         Simplify by assuming standard char values cannot be negative.
12716         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
12718 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12720         c-ctype: port better to z/OS EBCDIC
12721         Problems reported by Daniel Richard G. in:
12722         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
12723         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
12724         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
12725         (_C_CTYPE_OTHER_CNTRL): New macro.
12726         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
12727         from SCHAR_MIN, as the functions are defined only from values
12728         promoted from char or from unsigned char, not necessarily from
12729         signed char.
12731 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
12733         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12735         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
12736         and ARFLAGS variables.  Doing this unconditionally could break
12737         later Automake's AM_PROG_AR invocation (at least it's
12738         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12740         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12741         Amsterdam Compiler Kit, so make the previous code to have effects
12742         only on ACK, and rather automatically call the Automake's
12743         AM_PROG_AR as soon as possible to decide other cases.
12745         References:
12746         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12748         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12749         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12750         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12751         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12752         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12753         'extensions' module is used.
12754         * modules/extensions (configure.ac-early): Remove as this snippet
12755         is added to gnulib-comp.m4 earlier anyway.
12757 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12759         sockets: MS Windows initalization fixes
12760         Problem reported by Test User in:
12761         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12762         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12763         Correct the endianness.
12764         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12765         number mismatch, not just on <.  Cleanup before any such failure.
12767 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12769         gc: fix detection of installed libgcrypt version
12770         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12771         at least as recent as 1.4.4.  The previously used macro is not
12772         available now, since modules were removed in version 1.6.0.
12774 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12776         c-ctype: rewrite to use inline functions
12777         This simplifies maintenance, since it makes for just one
12778         implementation of each function, letting the compiler have the fun
12779         of optimization.  In practice this works well nowadays with GCC.
12780         E.g., c_isascii might need only three instructions even though the
12781         source code lists every ASCII character individually in a large
12782         switch statement.
12783         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12784         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12785         * NEWS: Document the API change.
12786         * lib/c-ctype.c: Drastically simplify, since this now just expands
12787         inline functions.
12788         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12789         (C_CTYPE_INLINE): New macro.
12790         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12791         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12792         Verify that either ASCII or EBCDIC is being used.
12793         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12794         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12795         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12796         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12797         New private macros.
12798         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12799         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12800         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12801         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12802         (c_tolower, c_toupper): When converting, return the unsigned char,
12803         as that is what z/OS does.
12804         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12805         of some c-ctype.h macros.
12806         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12807         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12808         c_tolower promotion to be compatible with z/OS.
12810 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12812         gitlog-to-changelog: trim only trailing whitespaces
12813         This is fix for --format regression introduced by commit
12814         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12815         doubled %n string) had no effect anymore.  This format
12816         specification has been used e.g. by GNU paxuitils (commit
12817         edfd8bcc3).
12819         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12820         newlines in commmit messages.
12822 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12824         Test that c_iscntrl agrees with iscntrl, etc.
12825         Suggested by Daniel Richard G. in:
12826         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12827         * modules/c-ctype-tests (Depends-on): Add ctype.
12828         * tests/test-c-ctype.c: Include <ctype.h>.
12829         (NCHARS): New constant.
12830         (test_agree_with_C_locale): New function.
12831         (main): Use it.
12832         (test_all): Use named constants.
12834         c-ctype: improve c_isascii testing
12835         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12836         Add a test to count the number of ASCII characters.
12838 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12840         savewd: remove SAVEWD_CHDIR_READABLE
12841         It was problematic in the light of file systems that ignore umask.
12842         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12843         * NEWS: Document this.
12844         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12845         successful, -1 (setting errno) on failure, rather than something
12846         more complicated than that.
12847         * lib/mkdir-p.c (make_dir_parents):
12848         Do not use SAVEWD_CHDIR_READABLE.
12849         * lib/savewd.c (savewd_chdir):
12850         Remove support for SAVEWD_CHDIR_READABLE.
12851         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12853         c-ctype: port better to EBCDIC
12854         Problems reported by Daniel Richard G. in
12855         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12856         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12857         Include "verify.h".
12858         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12859         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12860         Define as enum constants with value false, if not defined, so that
12861         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12862         code more portable, as both branches of the 'if' are compiled on
12863         all platforms.
12864         (C_CTYPE_EBCDIC): New constant.
12865         Verify that the character set is either ASCII or EBCDIC.
12866         (to_char): New static function.
12867         (c_isascii, c_iscntrl):
12868         Assume standard control-character assignments for EBCDIC.
12869         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12870         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12871         Rewrite to use 'if' instead of 'ifdef'.
12872         Use to_char if non-ASCII.  Prefer <= to >=.
12873         Prefer true and false to 1 and 0, for booleans.
12874         (c_iscntrl): Use 'if', not 'ifdef'.
12875         * modules/c-ctype (Depends-on): Add verify.
12876         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12877         (to_char): New function.
12878         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12880 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12882         nanosleep: fix return code for interrupted replacement
12883         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12884         that we return -1 in the case the call is interrupted by a signal,
12885         rather than the current value of 1.
12886         Diagnosed and tested by Daniel Richard G.
12888 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12890         Diagnose ERE '()|\1'
12891         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12892         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12893         track of the set of previously-completed subexpressions available
12894         before the first alternative, and restore this set just before
12895         parsing each subsequent alternative.  This lets us diagnose the
12896         invalid back-reference in the ERE '()|\1'.
12898         regex: merge patches from libc
12900         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12901         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12902         * lib/regex_internal.h:
12903         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12905         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12906         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12907         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12908         wcscoll.
12909         * lib/regexec.c (check_node_accept_bytes): Likewise.
12911         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12912         Fix regex wcrtomb namespace (bug 18496).
12913         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12914         instead of wcrtomb.
12916         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12917         Fix regex wctype namespace (bug 18495).
12918         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12919         instead of towlower.
12920         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12921         instead of iswlower.  Call __towupper instead of towupper.
12922         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12923         instead of iswalnum.
12925         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12926         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12927         COLL_SYM in a couple of places to avoid uninitialized variable
12928         wanings on tilegx gcc 4.8.2.
12930         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12931         * lib/regex_internal.h: Remove NOT_IN_libc.
12933         2014-11-17  Andreas Schwab  <schwab@suse.de>
12934         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12936         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12937         Move findidx nested functions to top-level.
12938         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12939         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12940         Pass new arguments to findidx.
12941         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12942         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12943         Don't #include it inside the function.  Pass new arguments to findidx.
12944         * lib/regex_internal.h:
12945         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12946         (re_string_elem_size_at): Don't #include it inside the function.
12947         Pass new arguments to findidx.
12949         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12950         Check if DEBUG is defined in regex_internal.c
12951         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12953 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12955         ceill: detect buggy OpenBSD implementation
12956         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12957         which returns zero for small values.  Discussed here:
12958         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12960 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12962         mountlist: add me_mntroot field on Linux machines
12963         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12964         mount_entry so Linux machines based on /proc/self/mountinfo can
12965         distinguish between bind mounts and original mounts.  In reality bind
12966         mounts aren't treated differently than mountroot=/ mounts by the
12967         kernel, but the user often wants these bind mounts distinguished.
12968         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
12969         More details at https://pad.lv/1432871
12971 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
12973         doc: Describe to use multiple instances of gnulib
12974         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
12975         instances of gnulib with different modules can be used, for example one
12976         for a lib and another one for associated tools.
12978 2015-09-01  Pádraig Brady  <P@draigBrady.com>
12980         base32: mark function as __attribute__ const
12981         * lib/base32.h (isbase32): Mark __attribute__ const as
12982         suggested by GCC, and consistent with the base64 module.
12984 2015-08-20  Daiki Ueno  <ueno@gnu.org>
12986         gnulib-tool: don't transform binary files with sed
12987         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
12988         .mo and .class files.
12989         Reported by Denis Denisov.
12991 2015-08-10  Daiki Ueno  <ueno@gnu.org>
12993         gperf: respect silent rules
12994         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
12995         V_GPERF_0 for silent rules.
12996         * modules/iconv_open (Makefile.am): Use V_GPERF.
12997         * modules/unicase/locale-language (Makefile.am): Likewise.
12998         * modules/unicase/special-casing (Makefile.am): Likewise.
12999         * modules/unictype/category-byname (Makefile.am): Likewise.
13000         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
13001         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
13002         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
13003         * modules/unictype/property-byname (Makefile.am): Likewise.
13004         * modules/unictype/scripts (Makefile.am): Likewise.
13005         * modules/uninorm/composition (Makefile.am): Likewise.
13007 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13009         Improve port of stdalign to C++11
13010         Problem reported by Sundaram in:
13011         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
13012         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
13013         (__alignas_is_defined): Define if C++11 or newer.
13015 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
13017         pmccabe2html: fix gawk regex escaping
13018         * build-aux/pmccabe2html: Add one more backslash to properly
13019         escape the gsub replacement value.  Fixes this error:
13020         gawk: ./build-aux/pmccabe2html:425: \
13021         warning: escape sequence `\&' treated as plain `&'
13023 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
13025         time_rz: port to pedantic memcpy
13026         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
13027         that reject memcpy (..., NULL, 0).
13029 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
13031         time_rz: port better to MinGW
13032         Don't change tzname, as this makes MinGW dump core (Bug#21020).
13033         Instead, store the tzname copy in the struct tm_zone object.
13034         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
13035         * lib/strftime.c [!_LIBC]:
13036         * lib/time_rz.c: Include time-internal.h.
13037         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
13038         name from *TZ rather than from TZNAME, doable because *TZ now has
13039         a tzname_copy member.
13040         * lib/time-internal.h: New file, with contents taken from
13041         lib/time_rz.c.  It's separate because strftime.c now accesses
13042         struct tm_zone members.
13043         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13044         New member tzname_copy.
13045         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
13046         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13047         Initialize tzname_copy member.
13048         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
13049         in tzname_copy member.
13050         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
13051         (restore_tzname): Remove; no longer needed.  All calls removed.
13052         * modules/time_rz (Files): Add lib/time-internal.h.
13054         time: port __need_time_t to MinGW
13055         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
13056         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
13058 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13060         strftime: fix newly-introduced bug on Solaris
13061         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
13062         consistently at the start, rather than doing some of the setup at
13063         the start and some in the %Z format spec.  This is cleaner, and
13064         works better with time_rz on platforms like Solaris where struct
13065         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
13066         mktime_z and localtime_rz can mess up the tzname cache.
13068         test-strftime: test for Solaris bug
13069         * modules/strftime-tests (Depends-on): Add strerror.
13070         * tests/test-strftime.c: Include <errno.h>.
13071         (posixtm_test): New function, containing the old 'main'.
13072         (struct tzalloc_test, struct localtime_rz_test): New types.
13073         (TZ, LT): New static vars.
13074         (tzalloc_test): New function.
13075         (main): Rewrite in terms of posixtm_test and tzalloc_test.
13077         time_rz: port to Solaris etc.
13078         Works around a tzname problem on platforms like Solaris that have
13079         tzname but not tm_zone, by setting tzname at the appropriate time
13080         and restoring it later.
13081         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
13082         New static vars.
13083         (save_abbr) [HAVE_TZNAME]: Set them.
13084         (revert_tz) [HAVE_TZNAME]: Clear or use them.
13085         (restore_tzname): New function.
13086         (localtime_rz, mktime_z): Use it.
13088         time_rz: now LGPL
13089         * modules/time_rz (License): Now LGPL, because strftime depends on it.
13091         time_rz: make a constant 'const'
13092         * lib/time_rz.c (local_tz): Now const.
13094         time_rz: fix off-by-one typo
13095         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
13097 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13099         fprintftime, strftime: use timezone_t args
13100         * NEWS: Document the change.
13101         * lib/fprintftime.h (fprintftime):
13102         * lib/strftime.c (extra_args) [my_strftime]:
13103         * lib/strftime.h (nstrftime):
13104         Time zone arg is now of type timezone_t, not int.
13105         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
13106         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
13107         (my_strftime) [emacs && !my_strftime]:
13108         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
13109         Remove; Emacs doesn't need this any more.
13110         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
13111         fprintftime and nstrftime to call tzset.
13112         (ut) [!my_strftime]: Remove, replacing with ...
13113         (tz) [!my_stftime]: ... this new macro.  All uses changed.
13114         (strftime_case_): Use localtime_rz and mktime_z instead
13115         of localtime_r and mktime.
13116         * modules/fprintftime (Depends-on): Add time_rz.
13117         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
13118         * tests/test-strftime.c (main): Adjust to new nstrftime API.
13120         time_rz: new module
13121         * MODULES.html.sh: Add time_rz.
13122         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
13123         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
13124         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
13125         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
13126         New var HAVE_TIMEZONE_T (default 0).
13127         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
13128         New var GNULIB_TIME_RZ (default 0).
13129         * modules/time (time.h): Substitute the new vars.
13131         flexmember: license is now unlimited
13132         * modules/flexmember (License): Change to unlimited,
13133         since its only source file gives an unlimited license.
13135 2015-07-15  Eric Blake  <eblake@redhat.com>
13137         maint: update copyright paper procedures
13138         * config/srclist.txt: Drop outdated files.
13139         * doc/Copyright/conditions.txt: Update to latest.
13140         * doc/Copyright/assign.changes.manual: Delete.
13141         * doc/Copyright/assign.future.manual: Likewise.
13142         * doc/Copyright/assign.manual: Likewise.
13143         * doc/Copyright/assign.translation.manual: Likewise.
13144         * doc/Copyright/disclaim.changes.manual: Likewise.
13145         * doc/Copyright/disclaim.manual: Likewise.
13146         * doc/Copyright/disclaim.program: Likewise.
13148 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13150         localename: fix link error on Illumos
13151         Illumos defines __sun, but does not have getlocalename_l nor the
13152         equivalent.  This partially reverts commit 387c214.
13153         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
13154         available, as well as uselocale.
13155         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
13156         use getlocalename_l if it is not available.
13158 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13160         unistr/uN-strtok-tests: avoid a trivial leak
13161         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
13162         input and delim after the multibyte delimiter tests.
13164 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13166         file-has-acl, acl-permissions: fix HP-UX typos
13167         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
13168         * lib/file-has-acl.c (file_has_acl):
13169         * lib/set-permissions.c (context_acl_from_mode)
13170         (context_aclv_from_mode, set_acls):
13171         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
13172         They were introduced by the recent ACL changes.
13174         regex: match current GNU grep behavior
13175         These symbols have not matched GNU grep behavior for quite some time.
13176         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
13177         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
13178         Change to match current GNU behavior.
13179         Simplify by expressing it as differences from POSIX BREs and EREs.
13180         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
13182 2015-07-03  Jim Meyering  <meyering@fb.com>
13184         set-permissions.c: adjust acl_from_mode's cpp guard
13185         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
13186         directives identical to those guarding the sole use.
13187         Otherwise, on some systems, we'd get a warning about
13188         the function being defined but not used.
13189         Also, filter through cppi to correct misleading indentation
13190         of cpp directives.
13192 2015-07-03  Pádraig Brady  <P@draigBrady.com>
13194         tests: restrict shells to those that support 'local'
13195         The local keyword is very widely supported and used
13196         in tests in coreutils and grep at least.  Therefore
13197         restrict to testing with shells that support it.
13198         This mainly excludes /bin/sh on Solaris.
13199         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
13201 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
13202         and Daiki Ueno  <ueno@gnu.org>
13204         unistr/uN-strtok: handle multibyte delimiters
13205         Previously, uN_strtok moved PTR to the next unit to the token end.
13206         When DELIM contained a multibyte character, the new position could
13207         be a middle of a multibyte character.
13208         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
13209         after the token.
13210         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
13211         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
13212         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
13213         * modules/unistr/u8-strtok (Depends-on): Depend on
13214         unistr/u8-strmblen.
13215         * modules/unistr/u16-strtok (Depends-on): Depend on
13216         unistr/u16-strmblen.
13217         * modules/unistr/u32-strtok (Depends-on): Depend on
13218         unistr/u32-strmblen.
13219         * tests/unistr/test-u-strtok.h: New file.
13220         * tests/unistr/test-u8-strtok.c: New file.
13221         * tests/unistr/test-u16-strtok.c: New file.
13222         * tests/unistr/test-u32-strtok.c: New file.
13223         * modules/unistr/u8-strtok-tests: New file.
13224         * modules/unistr/u32-strtok-tests: New file.
13225         * modules/unistr/u16-strtok-tests: New file.
13227 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
13229         update-copyright: fix test failure with perl >= 5.22 (trivial)
13230         * build-aux/update-copyright: Escape a literal left curly bracket,
13231         required with perl >= 5.22
13233 2015-07-02  Daiki Ueno  <ueno@gnu.org>
13235         u{16,32}-strstr-tests: relax timeout condition
13236         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
13237         tests can take longer than 5 seconds to complete.
13238         Reported by Dagobert Michelsen in:
13239         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
13240         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
13241         seconds to 10 seconds.
13242         * tests/unistr/test-u32-strstr.c (main): Likewise.
13244 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13246         gnulib-common.m4: change the ARFLAGS default to 'cr'
13247         In some GNU/Linux distributions people started to compile 'ar'
13248         binary with --enable-deterministic-archives (binutils project).
13249         That, however, in combination with previous autotools long time
13250         working default AR{_,}FLAGS=cru causes warnings on such
13251         installations:
13252         ar: `u' modifier ignored since `D' is the default (see `U')
13253         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
13254         set already.
13256 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13258         selinux-h: avoid double free after *getfilecon()
13259         Originally reported by Ben Shelton on bug-tar:
13260         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
13261         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
13262         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
13263         param should be freed by freecon(3) (regardless the return value).
13265 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
13267         fix pty related tests issues on Windows (trivial)
13268         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
13269         however it's still present in tests/ subdirectory of the final project.
13270         Therefore avoid it to pass `make check`.
13271         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
13272         will just return -ENOSYS, so avoid this non applicable test allowing
13273         the build to proceed.
13275 2015-07-01  Pádraig Brady  <P@draigBrady.com>
13277         acl: fix definition of acl_from_mode on FreeBSD
13278         This was causing basic coreutils copy operations to fail
13279         with ENOTSUP or ENOENT error messages.
13280         * lib/acl-internal.h (acl_from_mode): Only define when
13281         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
13282         of acl_from_mode() defined in lib/set-permissions.c to
13283         be used on FreeBSD at least.
13284         * lib/set-permissions.c: Fix up comment spelling,
13285         and a redundant variable assignment; noticed in passing.
13287 2015-06-30  Pádraig Brady  <P@draigBrady.com>
13289         readutmp: port to FreeBSD >= 9
13290         * lib/readutmp.h: Map utmpxname() to setutxdb().
13291         With that coreutils who(1) and pinky(1) tests pass.
13293 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13295         mgetgroups: port to strict OS X
13296         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
13297         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
13298         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
13299         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
13301 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
13303         mgetgroups: port to strict OS X
13304         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
13305         Document the getgrouplist problem.
13306         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
13307         New macro.
13308         (mgetgroups): Use it.
13309         * m4/mgetgroups.m4 (gl_MGETGROUPS):
13310         Check for OS X signature for getgrouplist.
13312 2015-06-29  Jim Meyering  <meyering@fb.com>
13314         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
13315         It started like this when building coreutils' latest on OS X,
13316         invoking ./configure with a nonempty --cache=.cache:
13318           lib/linkat.c:46:42: error: operator '||' has no right operand
13319           lib/linkat.c: In function 'rpl_linkat':
13320           lib/linkat.c:330:27: error: #if with no expression
13322         Here's linkat.c's line 46:
13324           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
13326         Here's some context:
13328           $ grep linkat_nofoll .cache
13329           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
13330           $ grep LINKAT_SYM lib/config.h
13331           #define LINKAT_SYMLINK_NOTSUP
13333         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
13334         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
13335         but that violates a tenet of AC_CACHE_CHECK: it must
13336         have no side effect other than setting its cache variable.
13338         What happens is that when the cache is set, we'd skip the
13339         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
13340         defined to whatever value it happened to have in configure's
13341         environment.  In my case, it was not defined, so this later code:
13343           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
13344             [Define to 1 if linkat can create hardlinks to symlinks])
13346         would emit code with an empty RHS.
13348         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
13349         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
13351 2015-06-28  Jim Meyering  <meyering@fb.com>
13353         mountlist: avoid an unused-label warning on OS X
13354         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
13355         Building on OS X, I saw a warning about the "free_then_fail" label
13356         being unused.  Give it the _GL_UNUSED_LABEL attribute.
13358         error.c: correct printf-style format: %d -> %u
13359         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
13360         rather than %d, to match the type of "line_number", unsigned int.
13362 2015-06-25  Pádraig Brady  <P@draigBrady.com>
13364         fts: avoid reading beyond the heap allocation
13365         GCC 5.1.1 with -O2 and -fsanitize=address reports
13366         a read of size 4 from a heap object of size 3 is indeed invalid,
13367         though this may be due to incorrect padding assumptions by GCC, see:
13368         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
13369         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
13370         * modules/fts: Depend on stdalign.
13372 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13374         savedir: avoid undefined behavior in qsort call
13375         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13376         "runtime error: null pointer passed as argument 1,
13377          which is declared to never be null"
13378         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
13380 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13382         userspec: avoid undefined behavior in gettext call
13383         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13384         "runtime error: null pointer passed as argument 2,
13385          which is declared to never be null"
13386         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
13388 2015-06-20  Glenn Morris  <rgm@gnu.org>
13390         gitlog-to-changelog: improve gitmerge.el commits
13391         Let the Emacs ChangeLog generation process exclude "skipped"
13392         messages from merge commits (Bug#20717).
13393         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
13395 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13397         wchar: fix MinGW compilation warnings
13398         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
13399         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
13400         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
13402 2015-06-20  Daiki Ueno  <ueno@gnu.org>
13404         uniname/uniname-tests: use pristine data files
13405         For copyright and maintenance reasons, use the data files from UCD
13406         without modification.
13407         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
13408         (getfield): Remove.
13409         (aliases_count): New global variable.
13410         (fill_names): Skip comments and empty lines in the input.  Don't
13411         use getfield.
13412         (fill_aliases): Likewise.
13413         (main): Change the expected command line arguments to:
13414         NAMES... ["--" ALIASES...].
13415         * tests/uniname/test-uninames.sh: Adjust to the change in
13416         test-uninames.c.
13417         * tests/uniname/UnicodeDataNames.txt: Remove.
13418         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
13419         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
13420         file from Unicode 8.0.0.
13422 2015-06-19  Pádraig Brady  <P@draigBrady.com>
13424         linked-list, linkedhash-list: avoid compiler warnings
13425         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
13426         -Werror=suggest-attribute=pure (from GCC 5.1.1).
13428 2015-06-19  Daiki Ueno  <ueno@gnu.org>
13430         libunistring: bump minimum version to 0.9.6
13431         * all modules depending on updated Unicode data: Regenerate.
13432         The modules are listed by a script that does:
13433         - for each file listed by: git show --oneline --name-only 705f4efc
13434           - deduce the containing modules, based on "Files:"
13435         - deduce the modules which depend on the containing modules, based
13436           on "Depends-on:"
13438 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13440         uniname/uniname: update to Unicode 8.0.0
13441         * lib/uniname/uninames.h: Regenerate.
13442         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
13443         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
13445 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13447         libunistring: update to Unicode 8.0.0
13448         * lib/gen-uni-tables.c (SIZEOF): New macro.
13449         (output_numeric): Increase the maximum number of fractions from
13450         128 to 160.  Increase the level3 value width from 7 bits to 8
13451         bits.  Use SIZEOF instead of a hard-coded integer.
13452         (output_blocks): Decrease the cut-off threshold from 0x30000 to
13453         0x28000.
13454         (fill_blocks): Increase the maximum number of blocks from 256 to
13455         384.  Use SIZEOF instead of a hard-coded integer.
13456         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
13457         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
13458         value width.
13459         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
13460         a new case added to LBP22.
13461         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
13462         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
13463         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
13464         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
13465         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
13466         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13467         lib/uniwidth/width.c.
13468         * all generated files under lib/uni* and tests/uni*: Regenerate.
13470 2015-06-16  Pádraig Brady  <P@draigBrady.com>
13472         gnu-web-doc-update: add --mirror to remove stale files
13473         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
13474         out of date files from the CVS server.  Since this is usually
13475         appropriate, a prompt is given when the option is not specified,
13476         along with the `cvs remove` command that would be run.
13478 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13480         acl-permissions: pacify -Wsuggest-attribute=const
13481         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
13482         * lib/acl-internal.h (free_permission_context):
13483         Declare with attribute const if ! (defined USE_ACL &&
13484         (HAVE_ACL_GET_FILE || defined GETACL)).
13486         fsync: document AIX misbehavior
13487         * doc/posix-functions/fsync.texi (fsync):
13488         Document failure on AIX with read-only file descriptor.
13490 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
13492         stdio: Don't redefine gets when using C++
13493         * lib/stdio.in.h (gets): Disable warning on C++.
13495 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
13497         acl-permissions: port to AIX, C89 HP-UX
13498         Problems reported by Michael Felt.
13499         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
13500         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
13501         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
13502         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
13503         Add cast for AIX, whose system calls are declared to accept
13504         char * even though the arguments are really char const *.
13505         * lib/get-permissions.c (get_permissions):
13506         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
13507         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
13508         that broke a build.
13509         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
13510         Rework types to pacify xlc.
13512 2015-06-03  Pádraig Brady  <P@draigBrady.com>
13514         vasprintf-posix: avoid compiling vasnprintf where possible
13515         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
13516         module where not required.  For example on a GNU/Linux system
13517         when gnulib-tool is run with the --conditional-dependencies option.
13519 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13521         file-has-acl: fix build on Mac OS X 10
13522         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
13523         which has an incompatible 6 parameter getxattr() call.
13524         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
13525         call on Mac OS X >= 10.4.
13526         * doc/glibc-functions/fgetxattr.texi: Likewise.
13527         * lib/file-has-acl.c: Revert to more complete combined check.
13528         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
13529         Reported by Jack Howarth.
13531 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13533         prefix-gnulib-mk: remove no longer needed special case
13534         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
13535         continued lib_SOURCES lines are no longer present,
13536         so special case handling of such entries is not required.
13538 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13540         acl: don't depend on the deprecated qacl module
13541         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
13543 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13545         gnulib-tool: concatenate lib_SOURCES to a single line
13546         * gnulib-tool: Refactor the line merging sed logic,
13547         and use that to output a single lib_SOURCES line for each module.
13548         gnulib using projects often postprocess this output to prepend
13549         subdir paths to each item, and having a single line simplifies this
13550         processing allowing better decoupling from the gnulib-tool output.
13552 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
13554         pthread_sigmask: discount system version if a simple macro (trivial)
13555         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
13556         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
13557         function to ensure it's available.
13559 2015-05-31  Pádraig Brady  <P@draigBrady.com>
13561         readlinkat: avoid OS X 10.10 trailing slash bug
13562         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
13563         has this bug.
13564         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
13565         that OS X 10.10 has this function.
13566         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
13567         as done for readlink().
13568         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
13569         trailing slash bug, and assume readlinkat() has the same issue.
13570         Also fix a typo where $gl_cv_decl_readlink_works was tested,
13571         rather than the correct $gl_cv_decl_readlinkat_works.
13573 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13575         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
13576         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
13577         module rewrite.
13579         acl-permissions: Fix build on Solaris and Cygwin
13580         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
13581         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
13582         ace_entries variables have moved into struct permission_context but
13583         they were still accessed as local variables here.
13585 2015-05-29  Pádraig Brady  <P@draigBrady.com>
13587         linkat: avoid OS X 10.10 trailing slash with symlink bug
13588         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
13589         causes the symlink to be dereferenced, and if it points
13590         to a non existent file, that file will be created as
13591         a hard link to "path1".
13592         This fixes a test failure in test-linkat.c.
13593         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
13594         this case.  The existing workaround in linkat.c for
13595         trailing slash issues, suffices for this case.
13596         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
13597         the list of platforms with trailing slash issues.
13599 2015-05-28  Pádraig Brady  <P@draigBrady.com>
13601         unlinkat: handle ignoring of ".." on Darwin 14
13602         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
13603         on Mac OS X 10.10, where it ignores paths with a trailing "..",
13604         so handle in the same manner.
13605         * m4/unlinkat.m4: Comment on this Darwin issue.
13606         * doc/posix-functions/unlink.texi: Update the latest version
13607         where the issue was seen.
13608         * doc/posix-functions/unlinkat.texi: Mention this issue.
13609         Fixes a test failure in test-unlinkat.c.
13611 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13613         qacl: split into qcopy-acl and qset-acl
13614         Emacs needs the former, but not the latter.
13615         * modules/acl-permissions: New file, containing most of the old qacl.
13616         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
13617         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
13618         * modules/qcopy-acl, modules/qset-acl: New files.
13619         * MODULES.html.sh (File system functions):
13620         Mention the new modules, and mention qacl while we're at it.
13622 2015-05-27  Glenn Morris  <rgm@gnu.org>
13624         gitlog-to-changelog: new option --ignore-line
13625         (This patch is imported from the GNU Emacs master.)
13626         This option ignores individual commit lines matching a pattern.
13627         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13629 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
13631         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
13632         Implement get_permissions and set_permissions primitives for getting all
13633         the permissions of a file, storing them, and later setting them. (In the
13634         minimal case, the permissions consist only of a file mode.) Reimplement
13635         qset_acl and qcopy_acl based on these new primitives: this avoids code
13636         duplication and makes error handling more consistent.
13637         The Solaris and Cygwin code still uses duplicate code paths for setting
13638         a file mode while making sure that no acls exist and setting an explicit
13639         acl; this is no worse than before, but could be cleaned up.  The AIX
13640         code still doesn't read ACLs, it only makes sure that acls don't get in
13641         the way when setting a file mode.
13642         * lib/acl-internal.h (struct permission_context): New data structure.
13643         (get_permissions, set_permissions, free_permission_context): Declare.
13644         * lib/acl-internal.c (free_permission_context): New helper function.
13645         * lib/get-permissions.c (get_permissions): New helper function split off
13646         from qcopy_acl.
13647         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
13648         AIX, set a file's permissions based only on a file mode.
13649         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
13650         other platforms construct a temporary acl from the file mode and set
13651         that acl in the same way as setting an acl read from the source file.
13652         This should help avoid code duplication and inconsistent / buggy
13653         behavior.
13654         (set_acls): New helper function Split off from qcopy_acl.
13655         (chmod_or_fchmod): Moved here from qset-acl.c.
13656         (set_permissions): New helper function.
13657         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
13658         set_permissions.
13659         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
13660         * modules/qacl: Add get-permissions.c and set-permissions.c.
13662         file-has-acl: Split feature tests again (Bug#20667)
13663         * lib/file-has-acl.c: Instead of testing for
13664         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
13665         define them when needed.
13666         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
13667         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
13669 2015-05-27  Pádraig Brady  <P@draigBrady.com>
13671         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
13672         This avoids a conflict with "FORTIFY_SOURCE" variants
13673         of the string functions when they're replaced on NetBSD-6.0.1
13674         and Darwin-14.3.0 at least.
13675         * lib/string.in.h: Avoid including our "lib/string.h" while
13676         including the system <string.h>.
13678 2015-05-26  Eric Blake  <eblake@redhat.com>
13680         stdio: limit __gnu_printf__ witness to gcc 4.4+
13681         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
13682         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
13684         error: use correct printf attributes on mingw
13685         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
13687         inttypes: force correct mingw PRIdMAX even without <stdio.h>
13688         * modules/inttypes (Depends-on): Require extensions, so that mingw
13689         always uses GNU style inttypes.
13690         * lib/inttypes.in.h: On mingw, include <stdio.h>.
13692         stdio: fix probe on mingw under gcc 5.1
13693         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
13694         around new gcc preprocessor rules.
13696 2015-05-07  Glenn Morris  <rgm@gnu.org>
13698         gitlog-to-changelog: parse "Tiny-change"
13699         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
13700         "Copyright-paperwork-exempt".  (Bug#20324)
13702 2015-05-06  Pádraig Brady  <P@draigBrady.com>
13704         doc: document glibc posix_fallocate() issues
13705         * doc/posix-functions/posix_fallocate.texi: Mention the
13706         glibc efficiency problems and issues with NFS.
13708 2015-05-05  Karl Berry  <karl@freefriends.org>
13710         * build-aux/gendocs.sh (usage): document new css default
13711         for HTML (--htmlarg).
13713 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13715         extern-inline: no need for workaround in GCC 5.1
13716         * doc/extern-inline.texi (extern inline):
13717         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13718         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
13719         around these bugs in GCC 5.1 and later.  Maybe in a decade or
13720         two we can remove these workarounds.
13722 2015-04-28  Pádraig Brady  <P@draigBrady.com>
13724         eealloc, pagealign_alloc, xalloc: avoid clang warnings
13725         Avoid [-Wunknown-attributes] warnings like:
13726         warning: unknown attribute '__alloc_size__' ignored
13727         * lib/xalloc.h: Don't use the __alloc_size__  attribute
13728         with clang, as support has been fully removed as of clang 3.5:
13729         https://github.com/llvm-mirror/clang/commit/c047507a
13730         * lib/eealloc.h: Likewise.
13731         * lib/pagealign_alloc.h: Likewise.
13733 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13735         tests: pacify GCC 5.1's stricter printf checking
13736         * tests/test-dirname.c (main):
13737         * tests/test-getaddrinfo.c (simple):
13738         * tests/test-getlogin.c (main):
13739         * tests/test-getndelim2.c (main):
13740         * tests/test-inttostr.c (CK):
13741         * tests/test-md5.c (main):
13742         * tests/test-read-file.c (main):
13743         * tests/test-sha1.c (main):
13744         Fix mismatches between printf format and value signedness.
13745         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13746         Remove, as CAST_VAL always returned a value of type uintmax_t.
13748         fts: port to GCC 5.1 with --enable-gcc-warnings
13749         Without this fix, GCC 5.1 (correctly) warns about a subscript
13750         error on the fts_name component of FTSENT.  It's actually a
13751         flexible member, so define it that way on C99 or later hosts.
13752         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13753         structure that now has a flexible array member.
13754         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13755         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13756         * modules/fts (Depends-on): Add flexmember.
13758 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13760         file-has-acl: port to CentOS 6
13761         Problem reported by Tom G. Christensen in:
13762         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13763         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13764         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13765         HAVE_GETXATTR.
13766         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13767         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13768         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13769         file-has-acl.c actually needs.
13771 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13773         file-has-acl: always return false when ACLs aren't supported
13774         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13775         change the GNU/Linux getxattr path, to transform "not supported"
13776         errors to a false return rather than an error.  This is handled
13777         within file_has_acl() due to the platform specific tests to
13778         determine if ACLs are not supported.
13780 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13782         gettext: propagate po/Makefile.in.in too
13783         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13784         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13785         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13786         between Makefile.in.in and the gettext-runtime m4 files.
13788 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13790         file-has-acl: new module, split from acl
13791         And add a new module file-has-acl-tests to match.
13792         I ran into a problem with the recent changes to the acl module,
13793         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13794         When using the fixed version with Emacs, I discovered that
13795         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13796         had multiple libraries, but needed only one), so I fixed that too.
13797         * NEWS: Document this incompatible change.
13798         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13799         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13800         Initialize gl_need_lib_has_acl.
13801         (gl_FUNC_ACL): Require it.
13802         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13803         Move the file-has-acl.c-relevant stuff to ...
13804         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13805         use_xattrs = 0' typo, and omit some needless work.  Set
13806         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13807         when gl_FUNC_ACL is called.
13808         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13809         (Link): Remove $(LIB_HAS_ACL).
13810         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13811         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13812         modules/file-has-acl-tests.
13813         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13815         manywarnings: add GCC 5.1 warnings
13816         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13817         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13818         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13819         -Wsuggest-override, -Wuse-without-only.  Change
13820         -Wnormalized=... operands to match 5.1.
13821         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13822         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13823         -Wdiscarded-qualifiers, -Wformat-signedness,
13824         -Wincompatible-pointer-types, -Wint-conversion,
13825         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13826         -Wshift-count-negative, -Wshift-count-overflow,
13827         -Wsizeof-array-argument, -Wsuggest-final-methods,
13828         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13829         and add -Warray-bounds=2 as a special case.
13831 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13833         doc: update FDL template to match FDL examples.
13834         * doc/alloca-opt.texi:
13835         * doc/alloca.texi:
13836         * doc/c-ctype.texi:
13837         * doc/c-strcase.texi:
13838         * doc/c-strcaseeq.texi:
13839         * doc/c-strcasestr.texi:
13840         * doc/c-strstr.texi:
13841         * doc/c-strtod.texi:
13842         * doc/c-strtold.texi:
13843         * doc/ctime.texi:
13844         * doc/error.texi:
13845         * doc/gcd.texi:
13846         * doc/gnulib-tool.texi:
13847         * doc/inet_ntoa.texi:
13848         * doc/intprops.texi:
13849         * doc/lib-symbol-visibility.texi:
13850         * doc/maintain.texi:
13851         * doc/parse-datetime.texi:
13852         * doc/quote.texi:
13853         * doc/regexprops-generic.texi:
13854         * doc/standards.texi: Remove spurious 'with' in FDL license
13855         template.
13857 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13859         lstat: fix cross-compilation 'ln -s' problem
13860         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13861         Have the test program call 'symlink' rather than a separate
13862         script run 'ln -s'; this is more likely to work in
13863         cross-compilation environments.  Reported by Pavel Fedin in:
13864         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13866 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13868         gendocs.sh: default to a common CSS style sheet for HTML output
13869         * build-aux/gendocs.sh (htmlarg): Change default value.
13871 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13873         gnulib-tool: output bold attribute more portably
13874         * gnulib-tool (func_show_module_list): Change hexadecimal
13875         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13876         encoded numbers as arguments to `printf' is not portable,
13877         and is not claimed by POSIX.  This is the case with FreeBSD.
13879 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13881         qacl: Simplify HP-UX acl_nontrivial check
13882         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13883         acl_nontrivial. Check if the acl has at most three entries instead (it must
13884         have exactly three entries according to the HP-UX documentation). Ignore
13885         uids and gids as long as an entry is either for a user (i.e., the owner),
13886         a group (i.e., the owning group), or others.
13887         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13888         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13890 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13892         acl: On Linux, check for acls without libacl
13893         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13894         library function to check for the presence of acls, avoiding a library.
13895         * lib/file-has-acl.c: Include xattr headers if we have them.
13896         (file_has_acl): On Linux, use getxattr().
13897         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13898         file_has_acl(). Check for xattr headers and getxattr().
13900 2015-04-14  Ángel González  <keisial@gmail.com>
13902         tempname: avoid unused parameter warnings (trivial)
13903         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13904         (try_nocreate): Likewise.
13906 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13908         fseeko: fix build failure on NetBSD >= 6 (trivial)
13909         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13910         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13912 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13914         gitlog-to-changelog: port to MS-Windows
13915         * build-aux/gitlog-to-changelog (git_dir_option):
13916         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13917         MS-Windows Perl.  Reported by Eli Zaretskii in:
13918         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13920 2015-04-07  Karl Berry  <karl@gnu.org>
13922         gendocs: new option --tex for passing args to texi2dvi.
13923         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13924         (TEXI2DVI): cut to just command name.
13925         (usage): mention new option, and update copyright.
13926         <generate_tex>: use it.
13928 2015-04-07  Karl Berry  <karl@gnu.org>
13930         * config/srclistvars.sh (GETTEXT): new definition.
13931         * config/srclist.txt: use it for gettext .m4 files.
13932         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13933         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13934         and continuing into April.
13936 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13938         uniname/uniname-tests: fix failure due to alias
13939         Reported by Jack Howarth in:
13940         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13941         * tests/uniname/test-uninames.c (name_has_alias): New function.
13942         (test_inverse_lookup): Exclude character name with valid alias,
13943         from randomly generated character names.
13944         (main): Fill unicode_aliases before calling test functions.
13946 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13948         hash: remove deprecated hash_insert0 function
13949         * lib/hash.h (hash_insert0): Remove deprecated function.
13950         * lib/hash.c (hash_insert0): Likewise.
13952 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13954         mountlist: remove dependency on libmount
13955         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13956         directly, rather than depending on libmount, which has many
13957         dependencies due to its dependence on libselinux, as detailed at:
13958         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13959         Note we restrict this to __linux__ as that's probably where this
13960         interface will remain.  If ever porting, it would be best
13961         to first pull the makedev() wrapper from coreutils to a gnulib module.
13962         Note also we don't add a getline dependency to the mountlist module,
13963         as all Linux versions are sufficient.
13965 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13967         stddef: port to pre-C11 GCC on x86
13968         On this platform, max_align_t should have an alignment of 8 even
13969         though the storage alignments of double, long, etc. max out at 4.
13970         Inspired by a comment of Andreas Schwab's here:
13971         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
13972         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
13973         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
13974         * tests/test-stddef.c: Test __alignof__ too, if available.
13976 2015-03-24  Pádraig Brady  <P@draigBrady.com>
13978         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
13979         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
13981 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
13983         yesno: make EOL optional in ENABLE_NLS case also (trival)
13984         * lib/yesno.c (yesno): Check for EOL before replacing.
13985         * tests/test-yesno.sh: Add a test case (test along with gettext).
13987 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
13989         fdopendir-tests: test it does not close its arg
13990         * tests/test-fdopendir.c (main): Test that fdopendir does not
13991         close its argument.  From a suggestion by David Grayson in:
13992         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
13994 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13996         gitlog-to-changelog: trim trailing white space
13997         * build-aux/gitlog-to-changelog (main):
13998         Trim trailing white space from commit message lines.
13999         This is helpful for processing the GNU Emacs repository,
14000         which dates back to 1985 and contains a lot of such lines.
14002         gitlog-to-changelog: new option --ignore-matching
14003         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
14004         Support new option --ignore-matching=PAT, which ignores all
14005         commit messages whose first line matches PAT.
14007 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14009         fdopendir: port better to MinGW
14010         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
14011         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
14012         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
14013         * modules/fdopendir (Depends-on): Add dirfd.
14015 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
14017         fdopendir: fix typo in comment
14018         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
14020 2015-03-09  Eric Blake  <eblake@redhat.com>
14022         error: document all entry points provided
14023         * doc/glibc-functions/error_print_progname.texi
14024         (error_print_progname): Mention the error module.
14025         * doc/glibc-functions/error_at_line.texi (error_at_line):
14026         Likewise.
14027         * doc/glibc-functions/error_message_count.texi
14028         (error_message_count): Likewise.
14029         * doc/glibc-functions/error_one_per_line.texi
14030         (error_one_per_line): Likewise.
14032 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
14034         vasnprintf: pacify clang 3.5.0
14035         Problem reported by Werner Lemberg in:
14036         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
14037         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
14038         The casts aren't needed, since the characters in question are ASCII.
14040 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14042         glob, etc.: port to MSVC v18 on MS-Windows 8.1
14043         * lib/dirent--.h (GNULIB_defined_opendir):
14044         * lib/dirent.in.h (GNULIB_defined_opendir)
14045         (GNULIB_defined_closedir):
14046         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
14047         #undef only if Gnulib defined it.
14049         poll: port to MSVC v18 on MS-Windows 8.1
14050         Problem reported by Gisle Vanem in:
14051         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
14052         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
14053         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
14054         Add sys_socket.
14056 2015-02-24  Pádraig Brady  <P@draigBrady.com>
14058         tests: support stderr verification with returns_()
14059         * tests/init.sh (returns_): Disable tracing for this wrapper
14060         function, so that stderr of the wrapped command is unchanged,
14061         allowing for verification of the contents.
14063 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
14065         passfd: avoid valgrind uninitalised data warning
14066         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
14067         to include just the fd we've initialized, rather than including
14068         the extra space used for alignment.
14070 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14072         uniwbrk/u32-wordbreaks-tests: fix copyright
14073         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
14075         dup2: doc and test for Android bug
14076         Reported by Kevin Cernekee in:
14077         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
14078         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14079         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
14081 2015-02-23  Kevin Cernekee  <cernekee@google.com>
14083         Replace dup2() on Android
14084         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
14085         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
14086         fails.  Using rpl_dup2() fixes this because it has an explicit test
14087         for this condition.
14089 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
14091         Android doesn't define RLIM_SAVED_*
14092         Portability problem reported by Kevin Cernekee in:
14093         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
14094         * doc/posix-headers/sys_resource.texi (sys/resource.h):
14095         Mention the portability problem.
14096         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
14097         Define if not defined.
14098         * m4/dup2.m4 (gl_FUNC_DUP2):
14099         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14100         Likewise.
14102 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14104         vasnprintf-posix-tests: use consistent test
14105         * tests/test-vasnprintf-posix.c (test_function):
14106         Use "<" in assert instead of "<=", for consistency with other tests.
14108 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14110         printf, isinf, etc.: noncanonical != NaN
14111         Do not require that isinf, printf, etc. treat noncanonical
14112         values as NaNs.  Instead, require only that they do not crash.
14113         Problem reported by Joseph Myers in:
14114         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
14115         * doc/posix-functions/dprintf.texi (dprintf):
14116         * doc/posix-functions/fprintf.texi (fprintf):
14117         * doc/posix-functions/isfinite.texi (isfinite):
14118         * doc/posix-functions/isinf.texi (isinf):
14119         * doc/posix-functions/isnan.texi (isnan):
14120         * doc/posix-functions/printf.texi (printf):
14121         * doc/posix-functions/snprintf.texi (snprintf):
14122         * doc/posix-functions/sprintf.texi (sprintf):
14123         * doc/posix-functions/vdprintf.texi (vdprintf):
14124         * doc/posix-functions/vfprintf.texi (vfprintf):
14125         * doc/posix-functions/vprintf.texi (vprintf):
14126         * doc/posix-functions/vsnprintf.texi (vsnprintf):
14127         * doc/posix-functions/vsprintf.texi (vsprintf):
14128         Document this.
14129         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
14130         * m4/isinf.m4 (gl_ISINFL_WORKS):
14131         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
14132         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
14133         * tests/test-isfinite.c (test_isfinitel):
14134         * tests/test-isinf.c (test_isinfl):
14135         * tests/test-isnan.c (test_long_double):
14136         * tests/test-isnanl.h (main):
14137         * tests/test-snprintf-posix.h (test_function):
14138         * tests/test-sprintf-posix.h (test_function):
14139         * tests/test-vasnprintf-posix.c (test_function):
14140         * tests/test-vasprintf-posix.c (test_function):
14141 o       Test only that noncanonical values do not cause crashes, not that
14142         they are treated as NaNs.  In some cases this means a larger
14143         output buffer is needed.
14145 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
14147         fts: remove redundant close() (trivial)
14148         * lib/fts.c (fts_read): Remove redundant call to close().
14149         Spotted by coverity.
14151 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14153         getdtablesize: port better for Android
14154         Problem reported by Kevin Cernekee in:
14155         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
14156         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
14157         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
14158         Instead, just use getrlimit, taking care to avoid Cygwin bug.
14160         poll: fixes for large fds
14161         * lib/poll.c (poll): Don't check directly for NFD too large.
14162         Don't rely on undefined behavior in FD_SET when an arg exceeds
14163         FD_SETSIZE.  Always set revents afterwards, even if to zero.
14164         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
14165         as that makes the test a bit stricter.
14167 2015-02-19  Kevin Cernekee  <cernekee@google.com>
14169         fcntl: Fix cross compiling
14170         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
14171         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
14173 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14175         dup2, fcntl: cross-compile better for Android
14176         Problem reported by Kevin Cernekee in:
14177         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
14178         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
14179         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
14180         there's little need to cross-compile for older kernels nowadays.
14181         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
14182         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
14184 2015-02-18  Pádraig Brady  <P@draigBrady.com>
14186         getopt: don't crash on memory exhaustion
14187         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
14188         memory exhaustion.  In the _LIBC case we use alloca() as is
14189         already done in glibc, so we don't need to consider the separate
14190         error path in that awkward case.  Also fix a memory leak when
14191         ambiguous options are present.
14192         Reported by Tobias Stoeckmann
14194 2015-02-17  Mike Miller  <mtmiller@ieee.org>
14196         tempname: allow compilation with C++ (trivial)
14197         * lib/tempname.h [C++]: Specify extern "C" linkage.
14198         * lib/tempname.h (try_tempname):
14199         * lib/tempname.c (__try_tempname, __gen_tempname):
14200         Rename 'try' to 'tryfunc'.
14202 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14204         dup2, fcntl: port to AIX
14205         * m4/dup2.m4 (gl_FUNC_DUP2):
14206         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14207         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
14208         The former works on AIX 7.1 but the latter does not.
14209         Also, this may work better with Android; see:
14210         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
14212 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
14214         getdtablesize, dup2, fcntl: port to Android
14215         Problem reported by Kevin Cernekee in:
14216         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
14217         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
14218         Mention that getdtablesize doesn't work on Android.
14219         * lib/getdtablesize.c: Use getrlimit substitute only if
14220         getdtablesize is declared.  This should suffice for Cygwin
14221         while not breaking Android.
14222         * m4/dup2.m4 (gl_FUNC_DUP2):
14223         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14224         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
14225         standardized but the latter is not, and sysconf works on Android.
14226         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
14227         Also check that getdtablesize is declared.
14228         This removes the need for a special case for Android.
14230 2015-02-16  Kevin Cernekee  <cernekee@google.com>
14232         localename: Implement gl_locale_name_thread_unsafe for Android
14233         * lib/localename.c: Android API level >= 21 supports two hardcoded
14234         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
14235         the internal __locale_t struct.
14237 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
14239         fts: avoid crash when a cycle is added while traversing
14240         This could be triggered by auto-mounting a recursive bind mount.
14241         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
14242         * lib/fts.c (fts_read): Avoid removing the original hash table item
14243         when leaving a directory that caused a cycle, and preserve the FTS_DC
14244         flag.
14246 2015-02-16  Daiki Ueno  <ueno@gnu.org>
14248         uniname/uniname: support character alias
14249         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
14250         Generate one-way mapping from aliases to codepoints in the
14251         generated tables.  Special case variation selectors to reduce
14252         table size.
14253         * lib/uniname/uniname.c (unicode_character_name): Special case
14254         variation selectors.
14255         (unicode_name_character): Special case variation selectors and
14256         their aliases.
14257         * lib/uniname/uninames.h: Regenerate.
14258         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
14259         * modules/uniname/uniname-tests (Files): Add
14260         tests/uniname/NameAliases.txt.
14261         * tests/uniname/test-uninames.c: Mark as static.
14262         (ALIASLEN): Define.
14263         (struct unicode_alias): New struct.
14264         (unicode_aliases): New variable.
14265         (fill_aliases): New function.
14266         (test_alias_lookup): New test function.
14267         (main): Run the 'test_alias_lookup' test if the second argument is
14268         given.
14269         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
14270         second argument.
14272 2015-02-11  Kevin Cernekee  <cernekee@google.com>
14274         Fix FILE struct compatibility with Android API level >= 21
14275         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
14276         __sferror.  Recent versions of Bionic's stdio.h no longer define
14277         __sferror.
14278         * lib/fbufmode.c: Likewise.
14279         * lib/fflush.c: Likewise.
14280         * lib/fpurge.c: Likewise.
14281         * lib/freadable.c: Likewise.
14282         * lib/freadahead.c: Likewise.
14283         * lib/freading.c: Likewise.
14284         * lib/freadptr.c: Likewise.
14285         * lib/freadseek.c: Likewise.
14286         * lib/fseeko.c: Likewise.
14287         * lib/fseterr.c: Likewise.
14288         * lib/fwritable.c: Likewise.
14290         Assume unbroken ungetc() on Android
14291         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
14292         test case passed when running on an Android host, and the code
14293         hasn't really changed since 2009.
14295         getdtablesize: Fix Android build
14296         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
14297         versions have this symbol in the .so library (at least 32-bit
14298         platforms) but are missing the declaration in the header file,
14299         causing the m4 logic to guess incorrectly.
14301         localename: Fix Android build
14302         * modules/localename (Depends-on): Add langinfo.
14304         getugroups: Fix Android build
14305         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
14306         functions.
14308         euidaccess: Fix Android build
14309         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
14310         AT_EACCESS gets declared.
14312         linkat_nofollow: Add fallback case for cross compiling
14313         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
14315         net_if: Handle content-free <net/if.h> system headers
14316         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
14317         struct if_nameindex.  If not, enable the replacement header.
14319         signal_h: Fix Android build
14320         * lib/signal.in.h: Add Android to the list of platforms that declare
14321         pthread_sigmask() in <pthread.h> instead of <signal.h>.
14323         duplocale: Fix Android build of duplocale-tests
14324         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
14325         is included by test-duplocale.c (but not by duplocale.c).
14326         * modules/duplocale-tests (configure.ac): Check for monetary.h.
14327         * tests/test-duplocale.c: Skip test if monetary.h is absent.
14328         * doc/posix-headers/monetary.texi: Add Android to the list of
14329         platforms missing monetary.h.
14331 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14333         tests: avoid recent -Werror=unused-variable regression in test-locale
14334         * tests/test-locale.c (main): Reference the variable to avoid the
14335         "unused variable" warning.
14337 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14339         maint: various whitespace cleanups in tempname
14340         * lib/tempname.c: Normalize spacing and line length.
14341         * lib/tempname.h: Likewise.
14342         * modules/tempname: Likewise.
14344 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14346         tests: provide returns_() to simplify exit status checking
14347         * tests/init.sh (returns_): A new function for use in tests,
14348         to allow for easier checking of return values, where you expect
14349         a command to exit with failure status.  By checking for a particular
14350         exit code, you don't hide any crashes for example.
14352 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14354         mountlist: only use libmount when specified
14355         There are currently many shared libs dependencies introduced by
14356         libmount with associated runtime and virt mem overhead.
14357         Therefore don't enable by default.
14358         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
14360 2015-02-08  Daiki Ueno  <ueno@gnu.org>
14362         uniname/unimame-tests: don't link with -lunistring
14363         * modules/uniname/uniname-tests (Makefile.am): Don't link against
14364         $(LIBUNISTRING).  Document the rationale why we need to
14365         conditionalize the test.
14367 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14369         fstrcmp: don't assume strlen < INT_MAX
14370         * lib/fstrcmp.c: Include stddef.h and stdint.h.
14371         (uintptr_t): Remove, as we're now assuming stdint.
14372         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
14373         Prefer ptrdiff_t to int when the value could exceed INT_MAX
14374         if the input string is long.
14375         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
14376         uintptr_t to size_t when the underlying value is a pointer casted
14377         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
14378         * modules/fstrcmp (Depends-on): Add stdint.
14380         diffseq: prefer ptrdiff_t to ssize_t
14381         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
14382         ptrdiff_t is the natural type for signed indexes.
14383         On a few older platforms, ssize_t is narrower than size_t.
14385         xalloc: fix typo that suppressed warnings
14386         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
14387         This typo, introduced a couple of years ago, mistakenly suppressed
14388         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
14389         -Wmissing-declarations warnings.
14391         full-read: fix license notice typo
14392         * lib/full-read.h: Remove a stray line in the license notice.
14393         Reported by Sam Ellis in: http://bugs.gnu.org/19808
14395         crypto/gc: fix a -Wswitch warning
14396         Reported by Bruce Korb in:
14397         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
14398         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
14400 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14402         gnulib-tool: fix handling of patch(1) diagnostics
14403         * gnulib-tool: Send diagnostics from patch(1) to stderr,
14404         as otherwise gnulib-tool will reparse that output and attempt
14405         to lookup modules.
14407 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14409         bootstrap: exit immediately upon gnulib-tool failure
14410         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
14411         This was noticed when gnulib-tool exited early due to failure
14412         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
14413         but various confusing errors were then given as the build proceeded.
14415 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
14417         symlinkat: include all required header files
14418         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
14419         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
14420         Reported at https://savannah.gnu.org/bugs/index.php?44151
14421         and by Jack Howarth.
14423 2015-01-29  Pádraig Brady  <P@draigBrady.com>
14425         localename: support Solaris 12 and illumos
14426         * lib/localename.c (gl_locale_name_thread_unsafe): call
14427         getlocalename_l() on newer __sun platforms.
14428         Reported by Alexander Pyhalov.
14429         Fix suggested by Rich Burridge.
14431 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
14433         locale: fix tests on illumos (trivial)
14434         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
14435         so move from global scope to main().
14437 2015-01-24  Daiki Ueno  <ueno@gnu.org>
14439         unictype: avoid undefined left-shift behavior
14440         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
14441         gcc's -fsanitize=shift and running its tests triggered:
14442           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
14443             places cannot be represented in type 'int'
14444         Cast LHS to 'unsigned int' after integer promotion.
14445         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14446         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14448 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14450         libunistring: bump version of unitypes dependants
14451         Due to the header file search order, all the headers which depend
14452         on unitypes.h need to be generated, when the preinstalled
14453         libunistring is older.
14454         * modules/unicase/base (configure.ac): Bump minimum version to
14455         0.9.4.
14456         * modules/uniconv/base (configure.ac): Likewise.
14457         * modules/unilbrk/base (configure.ac): Likewise.
14458         * modules/uninorm/base (configure.ac): Likewise.
14459         * modules/unistdio/base (configure.ac): Likewise.
14460         * modules/unistr/base (configure.ac): Likewise.
14461         * modules/uniwbrk/base (configure.ac): Likewise.
14462         * modules/uniwidth/base (configure.ac): Likewise.
14464 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14466         unictype/category-none: fix link with libunistring
14467         Since _UC_CATEGORY_NONE is not a public symbol, it will be
14468         prefixed with "libstring_" when compiled as part of libunistring.
14469         To avoid undefined symbol at link time, increase the minimum
14470         version when the dependant modules are updated.
14471         * modules/unictype/category-none (configure.ac): Bump minimum
14472         version to 0.9.5.
14474 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14476         unitypes: fix build with installed libunistring
14477         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
14478         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
14479         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
14481 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14483         time: port to MinGW32 3.21
14484         Problem reported by Eli Zaretskii in:
14485         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
14486         * lib/time.in.h:
14487         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
14488         * modules/time (Depends-on):
14489         Fall back on unistd.h if the other include files don't define
14490         struct timespec.
14492         update-copyright: apply to self
14493         * build-aux/update-copyright: Fix copyright date.  How ironic!
14495 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14497         libunistring: update to Unicode 7.0.0
14498         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
14499         Manichaean names.
14500         * lib/unictype/joininggroup_name.h: Likewise.
14501         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
14502         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
14503         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
14504         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
14505         (fill_arabicshaping, joining_group_as_c_identifier): Support those
14506         enum values.
14507         (is_property_alphabetic): Accept newly added characters to
14508         cuneiform numeric signs.
14509         (is_property_default_ignorable_code_point): Reject U+0605.
14510         (FIELDLEN): Increase from 120 to 160.
14511         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
14512         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
14513         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
14514         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
14515         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
14516         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
14517         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
14518         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
14519         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
14520         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
14521         U+1E8D0..U+1E8D6.
14522         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
14523         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14524         lib/uniwidth/width.c.
14525         * all generated files under lib/uni* and tests/uni*: Regenerate.
14527 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14529         libunistring: update to Unicode 6.3.0
14530         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14531         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
14532         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
14533         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
14534         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
14535         Update WB5, WB9, WB10, WB13a, and WB13b.
14536         * tests/uniwbrk/test-uc-wordbreaks.c
14537         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
14538         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14539         (UC_BIDI_PDI): New enumeration values.
14540         (bidi_category_byname): Support those enum values.
14541         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
14542         dedicated property assigned.
14543         (is_property_case_ignorable): Check 0x0027.
14544         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14545         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14546         (output_wbp): Support those enum values.
14547         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14548         (UC_BIDI_PDI): New enumeration values.
14549         * lib/unictype/bidi_byname.gperf: Add those property names.
14550         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
14551         U+180E, U+1A1B, and U+2066..U+2069.
14552         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14553         lib/uniwidth/width.c.
14554         * all generated files under lib/uni* and tests/uni*: Regenerate.
14556 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14558         libunistring: update to Unicode 6.2.0
14559         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
14560         (unilbrk_table): Adjust table size.
14561         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14562         for LBP_RI.
14563         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
14564         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
14565         Normalize table index skipping ignored properties.
14566         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
14567         WBP_EXTEND and WBP_FORMAT, which are now computed without using
14568         the table.
14569         * lib/uniwbrk/wbrktable.h: Adjust table size.
14570         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
14571         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
14572         Support rule GB8a.
14573         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
14574         * tests/unigbrk/test-uc-is-grapheme-break.c
14575         (graphemebreakproperty_to_string): Support GBP_RI.
14576         * tests/uniwbrk/test-uc-wordbreaks.c
14577         (wordbreakproperty_to_string): Support WBP_RI.
14578         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
14579         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
14580         (output_lbp): Support LBP_RI.  Adjust some characters changed from
14581         LBP_AL to LBP_ID.
14582         (output_lbp): Support LBP_RI.
14583         (WBP_RI): New enumeration value.
14584         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14585         (output_wbp): Support WBP_RI.
14586         (GBP_RI): New enumeration value.
14587         (output_gbp_test, fill_org_gbp): Support GBP_RI.
14588         * all generated files under lib/uni* and tests/uni*: Regenerate.
14590 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14592         libunistring: update to Unicode 6.1.0
14593         * lib/gen-uni-tables.c (output_joining_group): Switch to
14594         3-level table to accommodate joining groups defined with higher
14595         codepoint value.  Since there are only 88 groups defined in
14596         Unicode 7.0.0, use 7-bit packed format for level3 entries.
14597         (get_lbp): Update for Unicode 6.1.0.
14598         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
14599         3-level table.
14600         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
14601         joining group name.
14602         * lib/unictype/joininggroup_name.h: Likewise.
14603         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
14604         (unilbrk_table): Adjust table size.
14605         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14606         for LBP_HL.
14607         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
14608         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
14609         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
14610         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
14611         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
14612         U+302E..U+302F.
14613         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14614         lib/uniwidth/width.c.
14615         * all generated files under lib/uni* and tests/uni*: Regenerate.
14616         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
14618 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14620         uniwbrk/u32-wordbreaks-tests: add conformance test
14621         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
14622         tests/uniwbrk/test-uc-wordbreaks.c,
14623         tests/uniwbrk/test-uc-wordbreaks.sh, and
14624         tests/uniwbrk/WordBreakTest.txt.
14625         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
14626         test-uc-wordbreaks to $(check_PROGRAMS), and define
14627         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
14628         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
14629         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
14631 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14633         uniwbrk: ignore Extended/Format characters at BOL not BOS
14634         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
14635         characters if the previous character property is one of
14636         WBP_NEWLINE, WBP_CR, and WBP_LF.
14638 2015-01-11  Jim Meyering  <meyering@fb.com>
14640         test-strstr.c: avoid a trivial leak
14641         * tests/test-strstr.c (main): Free haystack.
14643         update-copyright: recognize groff's \(co marker
14644         * build-aux/update-copyright (circle_c_re): Also accept
14645         uses of \(co, as found in gzip.1.
14647 2015-01-08  Pádraig Brady  <P@draigBrady.com>
14649         maint.mk: fix compatibility with OS X nm
14650         * top/maint.mk (_gl_tight_scope): Use the -g option to
14651         show exported items rather than the -e option which is
14652         ignored on all platforms except OS X where it gives an error.
14653         Reported by Assaf Gordon.
14655 2015-01-07  KO Myung-Hun  <komh@chollian.net>
14657         localcharset: improve charset detection on OS/2
14658         Use system codepage when appropriate.  Map OS/2 codepages to
14659         GNU canonical charset names if possible.
14660         * lib/config.charset: Don't output aliases if "$os" is os2*.
14661         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
14662         result for OS/2.
14663         (locale_charset) [OS2]: Use system codepage if codeset is omitted
14664         from the locale name which is neither "C" nor "POSIX".
14666 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14668         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
14669         This reverts the last patch but one, as it shouldn't be needed now
14670         that the typo is fixed.
14671         * lib/count-leading-zeros.h (count_leading_zeros_ll):
14672         * lib/count-trailing-zeros.h:
14673         * lib/count-one-bits.h:
14674         Go back to using 64-bit intrinsics.
14676         count-leading-zeros: fix pragma typos
14677         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
14678         Fix typos in declaration of intrinsics when _MSC_VER.
14680 2015-01-06  Pádraig Brady  <P@draigBrady.com>
14682         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
14683         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
14684         intrinsics in this case.
14685         * lib/count-trailing-zeros.h: Likewise.
14686         * lib/count-one-bits.h: Likewise.
14688 2015-01-06  Daiki Ueno  <ueno@gnu.org>
14690         uniname/uniname: update to Unicode 7.0.0
14691         To accommodate new characters added since Unicode 5.1.0, this
14692         changes the internal representation of codepoint ranges.
14693         Previously, we grouped codepoint ranges by manually assigned 4-bit
14694         tag, which only allowed 16 groups.  This removes the limitation by
14695         switching to binary search on a table.  For the detail rationale
14696         and the benchmark results, see:
14697         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
14698         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
14699         to INDEX, as it no longer represents a codepoint.
14700         (range): New struct.
14701         (main): Switch to intervals list from a bit-pattern based
14702         classification.
14703         * lib/uniname/uninames.h: Regenerate.
14704         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
14705         * modules/uniname/base (configure.ac): Bump minimum version to
14706         0.9.5.
14707         * modules/uniname/uniname (configure.ac): Bump minimum version to
14708         0.9.5.
14710 2015-01-05  Eric Blake  <eblake@redhat.com>
14712         doc: update INSTALL from autoconf
14713         * doc/install.texi: Resync from autoconf.
14714         * doc/INSTALL: Reflect recent autoconf update.
14715         * doc/INSTALL.ISO: Likewise.
14716         * doc/INSTALL.UTF-8: Likewise.
14718         stdio: fix use of PRIdMAX on modern mingw
14719         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
14720         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
14721         to work with modern mingw.
14723 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
14725         pthread: detect git mingw builds with only partial pollution
14726         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
14727         pollution, as seen temporarily in Fedora 21.
14729 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14731         lib-symbol-versions: cache script check
14732         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
14733         Cache the check for linker version scripts.
14734         From a suggestion by Christophe Curis in:
14735         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
14737 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
14739         maint: fix grammar nits in propername (trivial change)
14740         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14741         and use an adequate verb and tense.
14743 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14745         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14746         * module/gendocs: Add 'doc/gendocs_template_min'.
14748         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14749         from to Gnulib's.
14750         (scripturl, templateurl): Adjust accordingly.
14752 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14754         gendocs: copyright date and version fix
14755         Reported by Karl Berry in:
14756         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14757         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14758         Fix copyright date.
14759         * build-aux/gendocs.sh (scriptversion): Update.
14761 2015-01-01  Karl Berry  <karl@gnu.org>
14763         * doc/install.texi,
14764         * build-aux/mdate-sh,
14765         * build-aux/depcomp,
14766         * build-aux/config.guess,
14767         * build-aux/config.sub,
14768         * build-aux/ar-lib,
14769         * build-aux/compile: revert copyright updates (some from last
14770         year) in slaved files.
14772 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14774         version-etc: new year
14775         * doc/gnulib.texi:
14776         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14777         * all files: Run 'make update-copyright'.
14779 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14781         xstrtol: ensure errno is reset
14782         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14783         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14785         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14787 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14789         utimens: fix dependency typo
14790         * modules/utimens (Depends-on): Remove 'assure'.
14791         This bug was introduced in the recent 'assure' patch.
14793 2014-12-22  Eric Blake  <eblake@redhat.com>
14795         docs: mention why libgen.h is bad
14796         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14798 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14800         assure: new module
14801         This works better than 'assert' when compiling with -DNDEBUG,
14802         as it avoids some compiler diagnostics in that case.
14803         Reported by Norihiro Tanaka in:
14804         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14805         * MODULES.html.sh (func_all_modules): Add 'assure'.
14806         * lib/assure.h, modules/assure: New files.
14807         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14808         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14809         Prefer 'assure' to 'assert'.
14810         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14811         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14812         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14813         Depend on 'assure'.
14815 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14817         stdalign: port better to HP compilers
14818         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14819         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14821         stdalign: work around Apple GCC 4.0 bug
14822         Reported by David Fang in:
14823         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14824         * lib/stdalign.in.h (_Alignas):
14825         * m4/stdalign.m4 (gl_STDALIGN_H):
14826         Do not use aligned attribute with GCC 4.0 on Apple.
14828 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14830         getcwd: fix test failure on OS X 10.9
14831         * m4/getcwd-path-max.m4: Avoid the replacement if it
14832         won't be effective due to the PATH_MAX limitation of lstat().
14833         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14834         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14835         for this case for use in tests, and also exclude this
14836         case when setting REPLACE_GETCWD.
14837         * tests/test-getcwd.c (test_long_name): Restrict the
14838         tested path length so that lstat() will not be passed
14839         a path greater than PATH_MAX.
14840         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14841         than AT_FDCWD, since the latter is set unconditionally
14842         since Sep 2009 in commit 52c658e9.
14844 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14846         parse-datetime: avoid a compiler warning with byacc (trivial)
14847         * lib/parse-datetime.y (yylex): Use the same prototype in the
14848         function definition as the declaration, to avoid a -Wstrict-prototypes
14849         warning seen when using byacc.
14851 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14853         unicase/locale-language-tests: fix LOCALE_FR test
14854         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14855         a French locale with traditional encoding.
14856         Reported by umerqayam in:
14857         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14859 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14861         stddef: support C11's max_align_t
14862         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14863         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14864         Do not undef, as that might cause max_align_t to be defined twice.
14865         Instead, change use to check for _GL_STDDEF_WINT_T too.
14866         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14867         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14868         Check for max_align_t.
14869         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14870         * modules/stddef-tests (Depends-on): Add stdalign.
14871         * tests/test-stddef.c: Test max_align_t.
14873 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14875         unistd: fix iOS check conditional
14876         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14877         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14878         yielded true on non-iOS environment.
14879         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14880         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14881         they are defined.
14883 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14885         posixtm: avoid compiler warning in a better way
14886         * lib/posixtm.c (IF_LINT): Remove.
14887         (year, posix_time_parse):
14888         Return true (not 0) if successful.  All callers changed.
14889         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14891 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14893         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14894         started with '/' on EMX.
14896 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14898         freopen: workaround freopen() on OS/2 kLIBC
14899         * lib/freopen.c (rpl_freopen): Workaround.
14900         * m4/freopen.m4: Add os2* case.
14902         get_shared_library_fullname: port to EMX
14903         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14904         on EMX, respectively.
14905         (_DLL_InitTerm): New on EMX.
14906         (get_shared_library_fullname): Implement on EMX.
14908         find_executable: port to EMX
14909         * lib/progreloc.c (find_executable): Implement on EMX.
14911         sched: check struct sched_param in spawn.h as well
14912         * lib/sched.in.h: Include spawn.h on kLIBC.
14913         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14915 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14917         bootstrap: Allow perl modules in $buildreq
14918         * build-aux/bootstrap: Add case for perl modules.
14920 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14922         apply _GL_ATTRIBUTE_PURE to some inline functions
14923         clang 3.4.2 flagged these inline functions as pure
14924         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14925         * lib/sig-handler.h (get_handler): Likewise.
14926         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14927         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14929 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14931         vasnprintf: fix potential use after free
14932         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14933         flagged by clang-analyzer 3.4.2.
14935 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14937         filevercmp, posixtm: avoid compiler warnings with -O3
14938         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14939         * lib/posixtm.c: (IF_LINT): Define.
14940         (posix_time_parse): Use it to void a "may be used uninitialized"
14941         warning, seen only with -O3.
14943 2014-12-05  Bruno Haible  <bruno@clisp.org>
14945         Fix LDBL80_WORDS macro on big endian platforms.
14946         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14947         LDBL80_WORDS macro.
14948         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14949         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14950         * tests/test-isfinite.c (test_isfinitel): Likewise.
14951         * tests/test-isinf.c (test_isinfl): Likewise.
14952         * tests/test-isnan.c (test_long_double): Likewise.
14953         * tests/test-isnanl.h (main): Likewise.
14954         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14955         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14956         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14957         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14958         Reported by Pádraig Brady.
14960 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14962         git-version-gen: do not print new line characters
14963         * build-aux/git-version-gen: Use printf instead of echo and tr.
14965         gnulib-tool: recognize x:* as an absolute path
14966         * gnulib-tool (func_gnulib_dir): Add ?:* case.
14967         (func_relconcat): Likewise.
14969 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
14971         argp: avoid extraneous translation and mem leak with empty pre doc
14972         * lib/argp-help.c (argp_doc): Never translate the empty string,
14973         when "\v" is the first or last character of the string, as that
14974         has a reserved meaning to return the header info from a po file.
14975         This also fixes a small memory leak in the !post case.
14976         The issue can be seen with this command for example:
14977         LC_MESSAGES=en_US grub2-mknetdir --help
14979 2014-11-27  Daiki Ueno  <ueno@gnu.org>
14981         uniname/uniname-tests: skip if system's libunistring is used
14982         * modules/uniname/uniname-tests (Makefile.am): Skip test if
14983         uniname/uniname module is not compiled.
14985 2014-11-27  Pádraig Brady  <P@draigBrady.com>
14987         printf: fix configure check on big endian systems
14988         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
14990 2014-11-22  Daiki Ueno  <ueno@gnu.org>
14992         pipe-filter-gi, pipe-filter-ii: port to AIX
14993         On AIX 7.1, 'select' is defined as static and cannot be referred
14994         to from inline function.
14995         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
14996         the definition...
14997         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
14998         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
15000 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15002         gitlog-to-changelog: add --until
15003         * build-aux/gitlog-to-changelog: Support new --until option.
15004         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
15006 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
15008         extern-inline: update commentary about GCC bugs
15009         * m4/extern-inline.m4: Add another GCC bug number to comments.
15011 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15013         gen-uni-tables: untabify
15014         * lib/gen-uni-tables.c: Untabify.
15016 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15018         gen-uni-tables: check out-of-range values added to 3-level tables
15019         * lib/gen-uni-tables.c (output_category, output_bidi_category)
15020         (output_joining_type, output_ident_category): Check out-of-range
15021         values added to 3-level tables.
15023 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15025         gen-uni-tables: utilize 'assert'
15026         * lib/gen-uni-tables.c: Include <assert.h>.
15027         (output_category, output_combclass, output_decimal_digit_test)
15028         (output_decimal_digit, output_digit_test, output_digit)
15029         (output_numeric, get_mirror_value, fill_properties)
15030         (fill_property30, is_property_alphabetic)
15031         (is_property_default_ignorable_code_point)
15032         (is_property_uppercase, is_property_lowercase)
15033         (is_property_cased, is_property_case_ignorable)
15034         (is_property_changes_when_lowercased, is_property_iso_control)
15035         (is_property_math, fill_arabicshaping, output_joining_group)
15036         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
15037         (output_wbp, fill_org_gbp, get_decomposition)
15038         (output_decomposition, fill_composition_exclusions)
15039         (debug_output_composition_tables, output_composition_tables)
15040         (redistribute_casefolding_rules, output_casing_rules): Use
15041         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
15042         reporting.
15044 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15046         gen-uni-tables: cosmetic improvements
15047         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
15048         variables specification.
15049         (is_outdigit): Remove unused function.
15051 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
15053         fcntl-h-tests: port to PA-RISC GNU/Linux
15054         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
15056 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15058         fts: port to C89
15059         Problem reported for MSVC 16 by Gisle Vanem in:
15060         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
15061         * lib/fts.c (fts_build): Avoid declaration before statement.
15063 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
15065         unistd: port to iOS
15066         Problem reported by André Klitzing in:
15067         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
15068         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
15070 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15072         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
15073         Problem reported by Alan Modra in:
15074         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
15075         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
15076         Always cast the function arg, reverting this part of the previous
15077         change.
15079 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
15081         obstack: avoid potentially-nonportable function casts
15082         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
15083         Remove, replacing with ...
15084         (call_chunkfun, call_freefun): New static functions.
15085         All uses changed.  Avoid potentially-nonportable casts.
15086         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
15087         (_obstack_begin_worker): Omit last two args, since they
15088         rely on potentially-nonportable casts.  All callers changed.
15089         * lib/obstack.h (_OBSTACK_CAST): New macro.
15090         Use it everywhere the old API used a potentially-nonportable cast.
15091         The new API doesn't cast.
15092         (struct obstack): Use unions rather than requiring
15093         potentially-nonportable casts.
15094         (obstack_chunkfun, obstack_freefun): Return void.
15096 2014-11-03  Alan Modra  <amodra@gmail.com>
15098         obstack: fix macro return values
15099         * lib/obstack.h (obstack_next_free): Return void *.
15100         (obstack_1grow_fast, obstack_blank_fast): Return void.
15101         For __GNUC__ macros:
15102         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
15103         For !__GNUC__ macros:
15104         (obstack_make_room, obstack_grow, obstack_grow0)
15105         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
15107 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15109         obstack: do not assume system-supplied obstack is size_t safe
15110         * m4/obstack.m4: New file.
15111         * modules/obstack (Files): Add it.
15113         obstack: port to platforms that #define __alignof__
15114         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
15115         not if !_LIBC.  We don't know of any platforms that #define
15116         __alignof__, but it might be useful in tests.  Conversely,
15117         glibc assumes GCC.
15119 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15121         linkat: don't unconditionally replace on GNU/Linux
15122         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
15123         was redundant for a few reasons.  It was present to support compiling
15124         on new systems but running on the old narrow window of Linux 2.6.1[67].
15125         It setup and cleaned up test files which weren't actually used.
15126         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
15127         implicit in the following check.
15129 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15131         linkat: wrap to handle symlinks on OS X 10.10
15132         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
15133         but not usable because it doesn't support creating hardlinks
15134         to symlinks.  Therefore add a generic test for this capability
15135         and fallback to our emulation if linkat() fails with ENOTSUP.
15137 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15139         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
15140         * doc/posix-functions/open.texi (open):
15141         * doc/posix-functions/openat.texi (openat):
15142         Document that these functions do not set errno to ELOOP when
15143         a symlink is opened with O_NOFOLLOW.
15145 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
15147         obstack: add NEWS entry for recent incompatible changes
15148         * NEWS: Describe recent changes.
15150 2014-10-30  Pádraig Brady  <P@draigBrady.com>
15152         mountlist: don't use libmount to decide on dummy/remote
15153         * lib/mountlist.c (read_file_system_list): Don't use the libmount
15154         routines to determine whether a file system is dummy or remote,
15155         as they're not currently compatible.  For example the remoteness
15156         is determined on file system type (for which the list seems incomplete),
15157         rather than simply checking for a ':' in the device name.
15158         Also libmount currently determines that 'tmpfs' is a dummy file system
15159         even though it has associated storage.
15161 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15163         obstack: prefer __alignof__ to alignof
15164         This is for portability to pre-4.7 GCC when compiling glibc.
15165         See Joseph S. Myers in:
15166         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
15167         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
15168         New macro, defined by including and using <alignof.h>.
15169         (MAX): New macro.
15170         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
15171         Do not use enums as they are not portable to some broken compilers.
15172         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
15174         obstack: prefer alignof to calculating alignments by hand
15175         * lib/obstack.c: Include <stdalign.h>.
15176         (struct fooalign): Remove.
15177         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
15178         * modules/obstack (Depends-on): Add stdalign.
15180 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
15182         obstack: use size_t alignments and check for overflow
15183         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
15184         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
15185         * lib/obstack.h (struct obstack.alignment_mask):
15186         Use _OBSTACK_SIZE_T, not int, for alignments.
15187         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
15188         overflows, e.g., when adding the alignment.
15190 2014-10-29  Alan Modra  <amodra@gmail.com>
15192         obstack: 64-bit obstack support, part 3
15193         This finally enables full 64-bit obstack support.  The glibc
15194         shared library specific code is removed from obstack.c too, and
15195         the error handling code conditionally compiled under control of
15196         another macro, _OBSTACK_NO_ERROR_HANDLER.
15197         * lib/obstack.h: Include string.h earlier.
15198         (_OBSTACK_INTERFACE_VERSION): Define.
15199         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
15200         * lib/obstack.c: Don't include shlib-compat.h.
15201         (OBSTACK_INTERFACE_VERSION): Delete.
15202         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
15203         glibc code is compatible with version 2.  Don't include stdio.h for
15204         __GNU_LIBRARY.
15205         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
15206         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
15207         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
15208         glibc shared library specific source.
15210         obstack: 64-bit obstack support, part 2
15211         This gets us 4G obstack support, without changing ABI
15212         compatibility, apart from possibly introducing some
15213         signed/unsigned comparison warnings in code that uses obstack.h.
15214         a) Replace "int" size parameters, return values, and macro local vars
15215            with _OBSTACK_SIZE_T, an "unsigned int" for now.
15216         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
15217         c) Make all obstack macros checking available room use obstack_room.
15218            "next_free + desired > chunk_limit" may wrap the lhs for chunks
15219            allocated near the top of memory.
15220         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
15221         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
15222         in place of "int" size parameters, return values and local vars.
15223         (_CHUNK_SIZE_T): Define.
15224         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
15225         union use an _OBSTACK_SIZE_T integer type.
15226         For __GNUC__ versions of the following macros...
15227         (obstack_room): Rename local var.
15228         (obstack_make_room): Use obstack_room.
15229         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15230         obstack_int_grow, obstack_blank): Likewise.
15231         (obstack_finish): Use unsigned comparison when comparing aligned
15232         next_free against chunk_limit.
15233         (obstack_free): Cast OBJ to remove possible const qualifier.
15234         For !__GNUC__ versions of the following macros...
15235         (obstack_make_room): Use obstack_room.
15236         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15237         obstack_int_grow, obstack_blank): Likewise.
15238         (obstack_finish): Use unsigned comparision when comparing aligned
15239         next_free against chunk_limit.
15240         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
15241         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
15242         _OBSTACK_SIZE_T.
15243         (_obstack_begin, _obstack_begin_1): Likewise.
15244         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
15245         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
15247         obstack: 64-bit obstack support, part 1
15248         a) Correct calls to alloc function, to use a size_t arg.  "long" is
15249            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
15250            and "size_t" 64 bits.
15251         b) Consolidate _obstack_begin and _obstack_begin1 code.
15252         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
15253         use "size_t" rather than "long".
15254         (_obstack_begin, _obstack_begin1): Likewise.
15255         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
15256         obstack_chunkfun): Update alloc function casts.
15257         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
15258         (chunkfun_type, freefun_type): New typdefs.
15259         (_obstack_begin_worker): Split out from ..
15260         (_obstack_begin, _obstack_begin_1): ..here.
15262         obstack: tidy part 2
15263         a) Don't be concerned about "not polluting the namespace with stddef.h
15264            symbols" in obstack.h, since gnulib string.h includes stddef.h
15265            anyway, and it seems unlikely that anyone would care.
15266         b) Don't roll our own slow memcpy in _obstack_newchunk.
15267         c) Rename obstack_free to _obstack_free.  This makes the naming
15268            consistent with other obstack functions and obviates the need for
15269            __obstack_free.  Ancient obstack.c defined both obstack_free and
15270            _obstack_free.  We continue to do that for _LIBC via an alias.
15271         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
15272            is clever, but nowadays gcc warns on undefined macros.  You'll get
15273            an undefined macro warning if simulating an old gcc with -U__GNUC__
15274            -U__GNUC_MINOR__ -D__GNUC__=1.
15275         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
15276         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
15277         (__obstack_free): Delete, update refs.
15278         (_obstack_free): Rename from obstack_free.
15279         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
15280         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
15281         * lib/obstack.c: Don't include stddef.h.
15282         (COPYING_UNIT): Delete.
15283         (_obstack_begin): Formatting fix.
15284         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
15285         (_obstack_free): Rename from __obstack_free, update alias.  Move
15286         undef of obstack_free to where it is needed.
15288         obstack: tidy part 1
15289         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
15290            to me, and result in overlong lines after later patches.
15291         b) Move error handling code, to avoid a forward declaration and to
15292            simplify later patches in this series.
15293         * lib/obstack.h (struct obstack <temp>): Rename fields of union
15294         and update all uses.
15295         * lib/obstack.c: Include stdlib.h earlier.
15296         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
15297         in file.
15298         (print_and_abort): Remove now redundant forward declaration.
15300 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15302         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
15303         Without this change, in bleeding-edge fileutils Autoconf complains
15304         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
15305         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
15306         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
15307         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
15309 2014-10-24  Daiki Ueno  <ueno@gnu.org>
15311         iconv: avoid false detection of non-working iconv
15312         The INBUF arguments of iconv can be either 'const char **'
15313         or 'char **'.  If CC is g++, the difference causes a compile error
15314         and thus leads to a false detection of non-working iconv.
15315         Reported by Eli Zaretskii and Werner LEMBERG in:
15316         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
15317         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
15318         iconv.  Bump serial number.
15320 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15322         bootstrap: print more diagnostics for missing programs
15323         * build-aux/bootstrap: only suppress stderr when checking for
15324         alternative program names.  This supports programs issuing non
15325         standard error messages.
15327 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15329         bootstrap: only update the gnulib submodule
15330         * build-aux/bootstrap: Restrict the "submodule update" command
15331         to the gnulib path.
15333 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15335         symlinkat: port to AIX 7.1
15336         * doc/posix-functions/symlinkat.texi (symlinkat):
15337         Mention AIX porting problem.
15338         * lib/symlinkat.c: Always include errno.h.
15339         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
15340         * lib/unistd.in.h (symlinkat): Add replacement machinery.
15341         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
15342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
15343         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
15344         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
15345         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
15347         readlinkat: port to AIX 7.1
15348         * doc/posix-functions/readlink.texi (readlink):
15349         * doc/posix-functions/readlinkat.texi (readlinkat):
15350         Mention AIX porting problem.
15351         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
15352         New function.
15353         * lib/unistd.in.h (readlinkat): Add replacement machinery.
15354         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
15355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
15356         * modules/readlinkat (configure.ac): Also compile replacement
15357         if REPLACE_READLINKAT.
15358         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
15360 2014-10-12  Karl Berry  <karl@gnu.org>
15362         * doc/posix-functions/dirname.texi: remove spurious {.
15364 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
15366         basename, dirname: Improve documentation.
15367         * doc/posix-functions/basename.texi: Mention dirname module and
15368         base_name() function.
15369         * doc/posix-functions/dirname.texi: Mention dir_name() and
15370         mdir_name() functions.
15371         Suggested by Werner LEMBERG <wl@gnu.org>.
15373 2014-09-24  Jim Meyering  <meyering@fb.com>
15375         exclude: declare exclude_patopts static
15376         * lib/exclude.c (exclude_patopts): Declare static,
15377         to avoid triggering a -Wmissing-prototypes warning.
15378         The alternative (declaring it in the .h file) would
15379         require publicizing the private "struct patopts".
15381 2014-09-21  Werner Lemberg  <wl@gnu.org>
15383         dirname: support compilation with C++
15384         * lib/dirname.h: Add necessary C linkage declarations.
15386 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
15388         qsort_r: include <config.h>
15389         Problem reported by Tom G. Christensen in:
15390         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
15391         * lib/qsort.c [!_LIBC]: Include <config.h> first.
15393 2014-09-16  Dylan Cali  <calid1984@gmail.com>
15395         avltree-list: avoid compiler warnings (trivial)
15396         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
15397         -Werror=suggest-attribute=pure.
15398         * lib/gl_array_list.c: Likewise.
15399         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
15400         declaration to avoid -Werror=missing-prototypes.  This is not added
15401         to a header as only exported for tests.  Add (void) to the
15402         check_invariants() call to indicate we're discarding the result
15403         in this context which avoids -Werror=unused-value.  Note we don't
15404         use ignore_value here to avoid a dependency as we know we'll not
15405         be adding __attribute__((warn_unused_result)) to check_invariants().
15406         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
15408 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15410         qsort_r: new module, for GNU-style qsort_r
15411         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
15413 2014-09-15  Werner LEMBERG  <wl@gnu.org>
15415         strerror_r-posix: support compilation with C++
15416         * lib/strerror_r.c: Add necessary C linkage declarations.
15418 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
15420         fcntl-h: fix compilation with Intel C++ compiler (trivial)
15421         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
15423 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
15425         mountlist: use /proc/self/mountinfo when available
15426         Use libmount to propagate device IDs provided by Linux in
15427         /proc/self/mountinfo.  This will give more accurate output when
15428         using df in chroot'ed environments as the device IDs are not
15429         determined by stat() which may be inaccurate within the chroot.
15430         * lib/mountlist.c (read_file_system_list): Use the libmount routines
15431         from util-linux to parse "/proc/self/mountinfo" or fall back to
15432         standard getmntent() processing.
15433         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
15434         getmntent() is used, as is the case on GNU/Linux.
15436 2014-09-07  Eric Wong  <normalperson@yhbt.net>
15438         users.txt: add cmogstored
15439         cmogstored has used gnulib since the beginning in 2012 to support
15440         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
15442 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15444         Trivial change.
15445         * gnulib-tool: Use same options as build-aux/bootstrap to download
15446         PO files.
15448 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15450         Trivial change.
15451         * gnulib-tool: Fallback to wget when rsync of PO files fails.
15453 2014-09-04  Eric Blake  <eblake@redhat.com>
15455         maintainer-makefile: add syntax check for useless ';;'
15456         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
15458 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15460         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
15461         Problem reported by Assaf Gordon in:
15462         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
15463         Apparently Ubuntu is doing some fancy link-time optimization
15464         that doesn't work with -lpthread but does work with -pthread.
15465         Work around the bug by preferring -pthread to -lpthread.
15466         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15467         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
15468         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15469         Treat -pthread like -lpthread.
15471 2014-09-04  Eric Blake  <eblake@redhat.com>
15473         error: drop spurious semicolon
15474         * lib/error.c (__error_at_line): Fix ';;'.
15476 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15478         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
15479         * m4/gnulib-common.m4 (AC_C_RESTRICT):
15480         Override AC_C_RESTRICT unconditionally.
15481         Update from autoconf, incorporating:
15482         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
15483         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
15485 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15487         manywarnings: add GCC 4.9 warnings
15488         Also, make it easier to maintain this in the future.
15489         * build-aux/gcc-warning.spec: Add -Wabi-tag,
15490         -Wconditionally-supported, -Wdelete-incomplete,
15491         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
15492         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
15493         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
15494         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
15495         only for older GCC versions that need them.  Handle
15496         -Wnormalized=nfc specially, so that the 'comm' command used
15497         for maintenance doesn't get confused.
15499 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15501         vasnprintf: fix bugs in width computation
15502         * lib/vasnprintf.c (VASNPRINTF):
15503         Rework previous change, which introduced a bug,
15504         to avoid the warning in a different way.
15505         Avoid undefined behavior if the width arg is less than -INT_MAX.
15506         Avoid unnecessary use of HAS_WIDTH local.
15508 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
15510         vasnprintf: Avoid signed/unsigned comparison warning.
15511         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
15512         compare end addr of generated string w/ maximum end addr.
15514 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
15516         parse-datetime: Avoid pointer difference.
15517         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
15518         instead of calculating difference of pointers.  This removes an
15519         annoying warning, devoid of any use.
15521 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15523         qsort_r: new module, for GNU-style qsort_r
15524         This works even on FreeBSD, which has an incompatible qsort_r API.
15525         * MODULES.html.sh: Add it.
15526         * doc/glibc-functions/qsort_r.texi: It's now supported.
15527         * lib/qsort.c: New file, taken from glibc with minor changes
15528         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
15529         removed.
15530         * lib/qsort_r.c: New file, compiled only on FreeBSD.
15531         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
15532         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
15533         * modules/qsort_r, modules/qsort_r-tests: New files.
15534         * modules/stdlib (Makefile): Set up its defaults.
15535         * tests/test-qsort_r.c: New file.
15537 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15539         vla: new module
15540         GNU RCS can use this, mostly for documentation I expect.  See:
15541         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
15542         * MODULES.html.sh: Add vla.
15543         * lib/vla.h, modules/vla: New files.
15545 2014-08-07  Daiki Ueno  <ueno@gnu.org>
15547         localename: make gl_locale_name_thread really thread-safe on Windows
15548         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
15549         "glthread/lock.h".
15550         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
15551         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
15553 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15555         getpass: don't assume struct termios
15556         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
15557         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
15558         * lib/getpass.c (getpass): Port to systems lacking struct termios.
15560         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
15561         Problem reported by Jonas 'Sortie' Termansen in:
15562         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
15563         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
15564         Implement via sysconf for platforms that lack getdtablesize.
15566         vararrays: modernize AC_C_VARARRAYS for C11
15567         This backports a change I recently made to Autoconf.
15568         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
15569         VLAs are not supported, as this is what C11 does.  The old macro
15570         HAVE_C_VARARRAYS is still defined if they are supported, but is
15571         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
15573 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
15575         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
15576         * build-aux/install-reloc (func_create_wrapper): Also wrap
15577         strerror-override, stat, stat.
15579 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15581         sys_select: fix FD_ZERO problem on Solaris 10
15582         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
15583         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
15584         to expand to an expression that invoked memset without necessarily
15585         including <string.h>.  The problem was that the first include
15586         defined _SYS_TIME_H, causing the second include to short-circuit.
15587         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
15588         Also, fix what appears to be a cut-and-paste typo, by replacing
15589         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
15590         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
15592         accept: document Solaris 10 type glitch
15593         * doc/posix-functions/accept.texi (accept): Mention that
15594         Solaris 10 'accept' takes void * last arg, not socklen_t *.
15596 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15598         extern-inline: port to FreeBSD, DragonFly
15599         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
15600         is present if either __DragonFly__ or __FreeBSD__ is defined.
15601         FreeBSD problem reported by Andrey Borzenkov in:
15602         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
15603         Also, worry about __APPLE__ only if __MACH__ is also defined,
15604         as this is more consistent with the rest of gnulib.
15605         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
15606         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
15608 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
15610         regex: Make #if/#ifdef usage consistent for DEBUG
15611         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
15612         of the inconsistent usage of #if and #ifdef as that works with
15613         both Glibc and Gnulib's style.
15615 2014-07-31  Eric Blake  <eblake@redhat.com>
15617         openat-die: use _Noreturn markup
15618         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
15619         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
15620         _Noreturn.
15622 2014-07-30  Eric Blake  <eblake@redhat.com>
15624         test-open: port to cygwin, which lacks Fortify
15625         * tests/test-open.h (ALWAYS_INLINE): New macro.
15626         (__always_inline): Don't abuse internal symbol on non-glibc.
15628 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
15630         localename: Enforce declarations before statements.
15631         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
15632         first statement.
15634 2014-07-18  Jim Meyering  <meyering@fb.com>
15636         test-userspec: don't look up numeric user names
15637         * tests/test-userspec.c: I found a system for which getpwnam("0")
15638         returned a pointer to a non-root user's entry, and that made the
15639         test fail.
15640         (T): Prefix each numeric input with "+", to inhibit lookup.
15642 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
15644         localcharset, localename: MS-Windows support for non-default locales
15645         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
15646         falling back on the default system codepage, try extracting
15647         the codepage from what 'setlocale' returns.  This allows to
15648         take into account changes of the codeset due to non-default
15649         locale set by a previous call to 'setlocale'.
15650         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
15651         Define if not already defined.
15652         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
15653         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
15654         current locale by calling 'setlocale', then converting the
15655         locale name into LCID by calling 'get_lcid'.  This allows to
15656         take into account changes in the current locale from the
15657         default one, in contrast to GetThreadLocale.
15659 2014-07-14  Daiki Ueno  <ueno@gnu.org>
15661         announce-gen: avoid failure when Digest::SHA is installed
15662         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
15663         Digest::SHA1->new in print_checksums fails.
15664         * build-aux/announce-gen (digest_classes): New associative array
15665         for available message digest implementations.
15666         (print_locations): Use it.
15668 2014-07-13  Pádraig Brady  <P@draigBrady.com>
15670         gettext: revert "update macros to version 0.19"
15671         This reverts commit 9b9370ca, as it currently requires that
15672         developers of any project that explicitly uses the gettext module
15673         or implicitly uses it through the utimens-tests or
15674         futimens-tests modules, use gettext >= 0.19.
15675         However there are some stability and availablity issues with
15676         that version at present.  We can reinstate this soon, when stability
15677         is addressed and packages are more readily available.
15679 2014-07-12  Jim Meyering  <meyering@fb.com>
15681         regex: don't deref NULL upon heap allocation failure
15682         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
15683         failure in one more place.
15684         To trigger the segfault, configure grep -with-included-regex,
15685         build it, and run these commands:
15686         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
15687         I discovered this while replying to a private report from
15688         Jens Schleusener about excessive memory consumption by grep
15689         when using a regular expression like the one above.
15691 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
15693         regex: fix memory leak in compiler
15694         Fix by Andreas Schwab in:
15695         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
15696         * lib/regcomp.c (parse_reg_exp): Deallocate partially
15697         constructed tree before returning error.
15699 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15701         announce-gen: avoid perl warnings
15702         * build-aux/announce-gen: add two minor checks to avoid
15703         "use of uninitialized value" warnings when command-line parameters are
15704         missing.
15706 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15708         localename: avoid -Wsuggest-attribute={const,pure} warnings
15709         * lib/localename.c (string_has): Tag internal function as pure.
15710         * lib/localename.h (gl_locale_name_default): Tag extern declaration
15711         as const when appropriate.
15713 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
15715         nl_langinfo: Fix last change.
15716         * lib/nl_langinfo.c (includes): Drop redundant include.
15718 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
15720         error: Fix -Wundef warnings in glibc
15721         * lib/error.c [_LIBC]: Define default macros for
15722         glibc.
15723         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
15724         Check _LIBC before STRERROR_R_CHAR_P.
15726         error: Sync from glibc master
15727         * lib/error.c [_LIBC]: Remove INTUSE usage.
15728         (error_tail): Remove unused macro ALLOCA_LIMIT.
15729         Fix potential buffer overflow.  Fix potential NULL dereference
15730         in strcmp.
15732 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
15734         nl_langinfo: fix build under mingw
15735         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
15737 2014-07-09  Andrew D Warshall  <warshall@99main.com>
15739         mountlist: do not classify a bind-mounted dir entry as "dummy"
15740         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15741         1-argument getmntent() (instead of assuming absence).
15743 2014-07-08  Eric Blake  <eblake@redhat.com>
15745         maint.mk: less syntax-check noise when SIGPIPE is ignored
15746         * top/maint.mk (_sc_header_without_use)
15747         (sc_require_config_h_first): Parse full list.
15749 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15750             Paul Eggert  <eggert@cs.ucla.edu>
15752         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15753         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15754         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15755         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15756         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15757         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15758         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15759         Include <stdio.h> if Microsoft Windows.
15760         Include <time.h> if !REPLACE_NL_LANGINFO.
15761         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15762         and with improvements for Microsoft Windows.
15763         (rpl_nl_langinfo): Use it.
15764         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15765         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15766         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15767         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15768         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15769         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15770         corresponding values returned by 'localeconv'.  Compute the values
15771         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15772         'strftime' with a suitable struct tm value.
15774 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15776         Bruno Haible has stepped down as maintainer.
15777         See Karl Berry in:
15778         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15779         Daiki Ueno has volunteered to maintain libunistring; see:
15780         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15781         * modules/gen-uni-tables, modules/libunistring:
15782         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15783         * modules/unicase/base, modules/unicase/cased:
15784         * modules/unicase/empty-prefix-context:
15785         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15786         * modules/unicase/locale-language, modules/unicase/special-casing:
15787         * modules/unicase/tocasefold, modules/unicase/tolower:
15788         * modules/unicase/totitle, modules/unicase/toupper:
15789         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15790         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15791         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15792         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15793         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15794         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15795         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15796         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15797         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15798         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15799         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15800         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15801         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15802         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15803         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15804         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15805         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15806         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15807         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15808         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15809         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15810         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15811         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15812         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15813         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15814         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15815         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15816         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15817         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15818         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15819         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15820         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15821         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15822         * modules/uniconv/u16-conv-to-enc:
15823         * modules/uniconv/u16-strconv-from-enc:
15824         * modules/uniconv/u16-strconv-from-locale:
15825         * modules/uniconv/u16-strconv-to-enc:
15826         * modules/uniconv/u16-strconv-to-locale:
15827         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15828         * modules/uniconv/u32-strconv-from-enc:
15829         * modules/uniconv/u32-strconv-from-locale:
15830         * modules/uniconv/u32-strconv-to-enc:
15831         * modules/uniconv/u32-strconv-to-locale:
15832         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15833         * modules/uniconv/u8-strconv-from-enc:
15834         * modules/uniconv/u8-strconv-from-locale:
15835         * modules/uniconv/u8-strconv-to-enc:
15836         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15837         * modules/unictype/bidicategory-all:
15838         * modules/unictype/bidicategory-byname:
15839         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15840         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15841         * modules/unictype/bidiclass-byname:
15842         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15843         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15844         * modules/unictype/block-all, modules/unictype/block-list:
15845         * modules/unictype/block-of, modules/unictype/block-test:
15846         * modules/unictype/category-C, modules/unictype/category-Cc:
15847         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15848         * modules/unictype/category-Co, modules/unictype/category-Cs:
15849         * modules/unictype/category-L, modules/unictype/category-LC:
15850         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15851         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15852         * modules/unictype/category-Lu, modules/unictype/category-M:
15853         * modules/unictype/category-Mc, modules/unictype/category-Me:
15854         * modules/unictype/category-Mn, modules/unictype/category-N:
15855         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15856         * modules/unictype/category-No, modules/unictype/category-P:
15857         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15858         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15859         * modules/unictype/category-Pi, modules/unictype/category-Po:
15860         * modules/unictype/category-Ps, modules/unictype/category-S:
15861         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15862         * modules/unictype/category-Sm, modules/unictype/category-So:
15863         * modules/unictype/category-Z, modules/unictype/category-Zl:
15864         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15865         * modules/unictype/category-all, modules/unictype/category-and:
15866         * modules/unictype/category-and-not, modules/unictype/category-byname:
15867         * modules/unictype/category-longname, modules/unictype/category-name:
15868         * modules/unictype/category-none, modules/unictype/category-of:
15869         * modules/unictype/category-or, modules/unictype/category-test:
15870         * modules/unictype/category-test-withtable:
15871         * modules/unictype/combining-class:
15872         * modules/unictype/combining-class-all:
15873         * modules/unictype/combining-class-byname:
15874         * modules/unictype/combining-class-longname:
15875         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15876         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15877         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15878         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15879         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15880         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15881         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15882         * modules/unictype/digit, modules/unictype/joininggroup-all:
15883         * modules/unictype/joininggroup-byname:
15884         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15885         * modules/unictype/joiningtype-all:
15886         * modules/unictype/joiningtype-byname:
15887         * modules/unictype/joiningtype-longname:
15888         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15889         * modules/unictype/mirror, modules/unictype/numeric:
15890         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15891         * modules/unictype/property-ascii-hex-digit:
15892         * modules/unictype/property-bidi-arabic-digit:
15893         * modules/unictype/property-bidi-arabic-right-to-left:
15894         * modules/unictype/property-bidi-block-separator:
15895         * modules/unictype/property-bidi-boundary-neutral:
15896         * modules/unictype/property-bidi-common-separator:
15897         * modules/unictype/property-bidi-control:
15898         * modules/unictype/property-bidi-embedding-or-override:
15899         * modules/unictype/property-bidi-eur-num-separator:
15900         * modules/unictype/property-bidi-eur-num-terminator:
15901         * modules/unictype/property-bidi-european-digit:
15902         * modules/unictype/property-bidi-hebrew-right-to-left:
15903         * modules/unictype/property-bidi-left-to-right:
15904         * modules/unictype/property-bidi-non-spacing-mark:
15905         * modules/unictype/property-bidi-other-neutral:
15906         * modules/unictype/property-bidi-pdf:
15907         * modules/unictype/property-bidi-segment-separator:
15908         * modules/unictype/property-bidi-whitespace:
15909         * modules/unictype/property-byname:
15910         * modules/unictype/property-case-ignorable:
15911         * modules/unictype/property-cased:
15912         * modules/unictype/property-changes-when-casefolded:
15913         * modules/unictype/property-changes-when-casemapped:
15914         * modules/unictype/property-changes-when-lowercased:
15915         * modules/unictype/property-changes-when-titlecased:
15916         * modules/unictype/property-changes-when-uppercased:
15917         * modules/unictype/property-combining:
15918         * modules/unictype/property-composite:
15919         * modules/unictype/property-currency-symbol:
15920         * modules/unictype/property-dash:
15921         * modules/unictype/property-decimal-digit:
15922         * modules/unictype/property-default-ignorable-code-point:
15923         * modules/unictype/property-deprecated:
15924         * modules/unictype/property-diacritic:
15925         * modules/unictype/property-extender:
15926         * modules/unictype/property-format-control:
15927         * modules/unictype/property-grapheme-base:
15928         * modules/unictype/property-grapheme-extend:
15929         * modules/unictype/property-grapheme-link:
15930         * modules/unictype/property-hex-digit:
15931         * modules/unictype/property-hyphen:
15932         * modules/unictype/property-id-continue:
15933         * modules/unictype/property-id-start:
15934         * modules/unictype/property-ideographic:
15935         * modules/unictype/property-ids-binary-operator:
15936         * modules/unictype/property-ids-trinary-operator:
15937         * modules/unictype/property-ignorable-control:
15938         * modules/unictype/property-iso-control:
15939         * modules/unictype/property-join-control:
15940         * modules/unictype/property-left-of-pair:
15941         * modules/unictype/property-line-separator:
15942         * modules/unictype/property-logical-order-exception:
15943         * modules/unictype/property-lowercase, modules/unictype/property-math:
15944         * modules/unictype/property-non-break:
15945         * modules/unictype/property-not-a-character:
15946         * modules/unictype/property-numeric:
15947         * modules/unictype/property-other-alphabetic:
15948         * modules/unictype/property-other-default-ignorable-code-point:
15949         * modules/unictype/property-other-grapheme-extend:
15950         * modules/unictype/property-other-id-continue:
15951         * modules/unictype/property-other-id-start:
15952         * modules/unictype/property-other-lowercase:
15953         * modules/unictype/property-other-math:
15954         * modules/unictype/property-other-uppercase:
15955         * modules/unictype/property-paired-punctuation:
15956         * modules/unictype/property-paragraph-separator:
15957         * modules/unictype/property-pattern-syntax:
15958         * modules/unictype/property-pattern-white-space:
15959         * modules/unictype/property-private-use:
15960         * modules/unictype/property-punctuation:
15961         * modules/unictype/property-quotation-mark:
15962         * modules/unictype/property-radical:
15963         * modules/unictype/property-sentence-terminal:
15964         * modules/unictype/property-soft-dotted:
15965         * modules/unictype/property-space:
15966         * modules/unictype/property-terminal-punctuation:
15967         * modules/unictype/property-test, modules/unictype/property-titlecase:
15968         * modules/unictype/property-unassigned-code-value:
15969         * modules/unictype/property-unified-ideograph:
15970         * modules/unictype/property-uppercase:
15971         * modules/unictype/property-variation-selector:
15972         * modules/unictype/property-white-space:
15973         * modules/unictype/property-xid-continue:
15974         * modules/unictype/property-xid-start:
15975         * modules/unictype/property-zero-width, modules/unictype/scripts:
15976         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
15977         * modules/unictype/syntax-c-whitespace:
15978         * modules/unictype/syntax-java-ident:
15979         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
15980         * modules/unigbrk/u16-grapheme-breaks:
15981         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
15982         * modules/unigbrk/u32-grapheme-breaks:
15983         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
15984         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
15985         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
15986         * modules/unigbrk/uc-is-grapheme-break:
15987         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
15988         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
15989         * modules/unilbrk/u16-width-linebreaks:
15990         * modules/unilbrk/u32-possible-linebreaks:
15991         * modules/unilbrk/u32-width-linebreaks:
15992         * modules/unilbrk/u8-possible-linebreaks:
15993         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
15994         * modules/unilbrk/ulc-possible-linebreaks:
15995         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
15996         * modules/uniname/uniname, modules/uninorm/base:
15997         * modules/uninorm/canonical-decomposition:
15998         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
15999         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
16000         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
16001         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
16002         * modules/uninorm/nfkc, modules/uninorm/nfkd:
16003         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
16004         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
16005         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
16006         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
16007         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
16008         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
16009         * modules/unistdio/base, modules/unistdio/u-printf-args:
16010         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
16011         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
16012         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
16013         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
16014         * modules/unistdio/u16-u16-sprintf:
16015         * modules/unistdio/u16-u16-vasnprintf:
16016         * modules/unistdio/u16-u16-vasprintf:
16017         * modules/unistdio/u16-u16-vsnprintf:
16018         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
16019         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
16020         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
16021         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
16022         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
16023         * modules/unistdio/u32-u32-asnprintf:
16024         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
16025         * modules/unistdio/u32-u32-sprintf:
16026         * modules/unistdio/u32-u32-vasnprintf:
16027         * modules/unistdio/u32-u32-vasprintf:
16028         * modules/unistdio/u32-u32-vsnprintf:
16029         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
16030         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
16031         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
16032         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
16033         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
16034         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
16035         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
16036         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
16037         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
16038         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
16039         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
16040         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
16041         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
16042         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
16043         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
16044         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
16045         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
16046         * modules/unistr/u16-check, modules/unistr/u16-chr:
16047         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
16048         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
16049         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
16050         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
16051         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
16052         * modules/unistr/u16-move, modules/unistr/u16-next:
16053         * modules/unistr/u16-prev, modules/unistr/u16-set:
16054         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
16055         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
16056         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
16057         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
16058         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
16059         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
16060         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
16061         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
16062         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
16063         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
16064         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
16065         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
16066         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
16067         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
16068         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
16069         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
16070         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
16071         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
16072         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
16073         * modules/unistr/u32-next, modules/unistr/u32-prev:
16074         * modules/unistr/u32-set, modules/unistr/u32-startswith:
16075         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
16076         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
16077         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
16078         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
16079         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
16080         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
16081         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
16082         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
16083         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
16084         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
16085         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
16086         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
16087         * modules/unistr/u8-check, modules/unistr/u8-chr:
16088         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
16089         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
16090         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
16091         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
16092         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
16093         * modules/unistr/u8-next, modules/unistr/u8-prev:
16094         * modules/unistr/u8-set, modules/unistr/u8-startswith:
16095         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
16096         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
16097         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
16098         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
16099         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
16100         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
16101         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
16102         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
16103         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
16104         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
16105         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
16106         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
16107         * modules/uniwbrk/base, modules/uniwbrk/table:
16108         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
16109         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
16110         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
16111         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
16112         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
16113         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
16114         * modules/uniwidth/width, modules/utf16-ucs4:
16115         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
16116         * modules/utf8-ucs4-unsafe:
16117         Change maintainer from Bruno Haible to Daiki Ueno.
16118         This is my guess at the libunistring modules; please feel free
16119         to fix if I guessed incorrectly.
16120         * modules/accept4, modules/acl, modules/acos, modules/acosf:
16121         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
16122         * modules/areadlink, modules/array-list, modules/array-mergesort:
16123         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
16124         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
16125         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
16126         * modules/binary-io, modules/bison-i18n, modules/btowc:
16127         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
16128         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
16129         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
16130         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
16131         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
16132         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
16133         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
16134         * modules/closedir, modules/concat-filename, modules/copy-file:
16135         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
16136         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
16137         * modules/csharpcomp-script, modules/csharpexec:
16138         * modules/csharpexec-script, modules/ctype, modules/diffseq:
16139         * modules/dprintf, modules/dprintf-posix, modules/dup:
16140         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
16141         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
16142         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
16143         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
16144         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
16145         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
16146         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
16147         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
16148         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
16149         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
16150         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
16151         * modules/findprog, modules/findprog-lgpl, modules/floor:
16152         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
16153         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
16154         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
16155         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
16156         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
16157         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
16158         * modules/freadable, modules/freadahead, modules/freadptr:
16159         * modules/freadseek, modules/freopen, modules/frexp:
16160         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
16161         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
16162         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
16163         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
16164         * modules/ftello, modules/full-read, modules/full-write:
16165         * modules/fwritable, modules/fwriteerror, modules/gcd:
16166         * modules/get-rusage-as, modules/get-rusage-data:
16167         * modules/getdtablesize, modules/getrusage, modules/gettext:
16168         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
16169         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
16170         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
16171         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
16172         * modules/iconv, modules/iconv-h, modules/iconv_open:
16173         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
16174         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
16175         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
16176         * modules/integer_length_ll, modules/ioctl, modules/isatty:
16177         * modules/isblank, modules/isnand, modules/isnand-nolibm:
16178         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
16179         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
16180         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
16181         * modules/javaexec, modules/javaexec-script, modules/javaversion:
16182         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
16183         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
16184         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
16185         * modules/lib-symbol-visibility, modules/libsigsegv:
16186         * modules/linked-list, modules/linkedhash-list, modules/list:
16187         * modules/localcharset, modules/locale, modules/localeconv:
16188         * modules/localename, modules/lock, modules/log, modules/log-ieee:
16189         * modules/log10, modules/log10-ieee, modules/log10f:
16190         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
16191         * modules/log1p, modules/log1p-ieee, modules/log1pf:
16192         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
16193         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
16194         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
16195         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
16196         * modules/logf, modules/logf-ieee, modules/login_tty:
16197         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
16198         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
16199         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
16200         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
16201         * modules/mbscspn, modules/mbsinit, modules/mbslen:
16202         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
16203         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
16204         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
16205         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
16206         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
16207         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
16208         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
16209         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
16210         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
16211         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
16212         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
16213         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
16214         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
16215         * modules/posix_spawn, modules/posix_spawn-internal:
16216         * modules/posix_spawn_file_actions_addclose:
16217         * modules/posix_spawn_file_actions_adddup2:
16218         * modules/posix_spawn_file_actions_addopen:
16219         * modules/posix_spawn_file_actions_destroy:
16220         * modules/posix_spawn_file_actions_init:
16221         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
16222         * modules/posix_spawnattr_getpgroup:
16223         * modules/posix_spawnattr_getschedparam:
16224         * modules/posix_spawnattr_getschedpolicy:
16225         * modules/posix_spawnattr_getsigdefault:
16226         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
16227         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
16228         * modules/posix_spawnattr_setschedparam:
16229         * modules/posix_spawnattr_setschedpolicy:
16230         * modules/posix_spawnattr_setsigdefault:
16231         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
16232         * modules/pow, modules/powf, modules/printf-frexp:
16233         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
16234         * modules/progname, modules/propername, modules/pselect:
16235         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
16236         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
16237         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
16238         * modules/read, modules/readdir, modules/readlink:
16239         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
16240         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
16241         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
16242         * modules/relocatable-script, modules/remainder:
16243         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
16244         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
16245         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
16246         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
16247         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
16248         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
16249         * modules/setlocale, modules/sh-quote, modules/shutdown:
16250         * modules/signal, modules/signbit, modules/sigpipe:
16251         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
16252         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
16253         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
16254         * modules/snippet/link-warning, modules/snippet/unused-parameter:
16255         * modules/snprintf, modules/snprintf-posix, modules/spawn:
16256         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
16257         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
16258         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
16259         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
16260         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
16261         * modules/streq, modules/strerror_r-posix, modules/striconv:
16262         * modules/striconveh, modules/striconveha, modules/strncat:
16263         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
16264         * modules/sublist, modules/sys_resource, modules/sys_utsname:
16265         * modules/sys_wait, modules/system-posix, modules/system-quote:
16266         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
16267         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
16268         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
16269         * modules/truncf, modules/truncf-ieee, modules/truncl:
16270         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
16271         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
16272         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
16273         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
16274         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
16275         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
16276         * modules/wait-process, modules/waitpid, modules/wcpcpy:
16277         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
16278         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
16279         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
16280         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
16281         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
16282         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
16283         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
16284         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
16285         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
16286         * modules/write, modules/xconcat-filename, modules/xlist:
16287         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
16288         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
16289         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
16290         * modules/y0, modules/y1, modules/yn:
16291         Remove Bruno Haible as maintainer; if he's the sole maintainer,
16292         change the maintainer to 'all'.  Let's hope someone volunteers.
16294 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
16296         mktime: merge #if/#ifdef usage from glibc
16297         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
16298         as that works with both Glibc's and Gnulib's style.
16299         See thread starting at Siddhesh Poyarekar's bug report at:
16300         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
16302 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
16304         git-version-gen: improve option descriptions
16305         * build-aux/git-version-gen: Mention that --prefix and --fallback
16306         have a mandatory argument.
16308 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16310         regex: fix memory leak in compiler
16311         Fix by Andreas Schwab in:
16312         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
16313         * lib/regcomp.c (parse_expression): Deallocate partially
16314         constructed tree before returning error.
16316         regex: merge patch from libc
16317         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
16318         Combine __USE_BSD and __USE_SVID into __USE_MISC.
16319         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
16321 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
16323         acl: port to gcc -Wredundant-decls
16324         From a request by Dmitry Antipov in:
16325         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
16326         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
16327         "#ifndef _GL_ACL_H".
16329 2014-06-11  Bruce Korb  <bkorb@gnu.org>
16330         Jim Meyering  <meyering@fb.com>
16332         parse-duration: eliminate 68-year duration limit
16333         * lib/parse-duration.c: Include "intprops.h".
16334         (TIME_MAX): Rename to MAX_DURATION and define to
16335         TYPE_MAXIMUM(time_t).
16336         * modules/parse-duration (Depends-on): Add intprops.
16337         Reported by Jonas 'Sortie' Termansen.
16339 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16341         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
16342         * modules/pthread (Depends-on): Add 'extensions', as it defines
16343         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
16344         (configure.ac-early): New section.
16345         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
16346         it is no longer needed.
16348 2014-06-14  Pádraig Brady  <P@draigBrady.com>
16350         pthread: define thread-safe macros on some platforms
16351         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
16352         for thread-safe operation on some platforms.
16354 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16356         regex: don't be multithreaded if USE_UNLOCKED_IO.
16357         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
16358         * lib/regex_internal.h: Do not use multithreaded version if
16359         USE_UNLOCKED_IO is defined.  This is a hack, but it works
16360         around a porting bug with coreutils 8.22 on AIX 7.1.
16362 2014-06-11  Daiki Ueno  <ueno@gnu.org>
16364         gettext: update macros to version 0.19
16365         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
16366         depend on gl_EXTERN_INLINE and drop support for older Bison
16367         versions.
16369 2014-06-10  Pádraig Brady  <P@draigBrady.com>
16371         select,poll: fix console handle check on windows 8
16372         lib/poll.c (IsConsoleHandle): Change from testing the lower
16373         2 bits of the handle to the more expensive but accurate syscall.
16374         lib/select.c: Likewise.
16376 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16378         select: fix waiting on anonymous pipes on MS-Windows
16379         * lib/select.c (rpl_select): Fall back to polling when select()
16380         indicates there is nothing to check, while due to the timeout not
16381         expiring, activity is indicated on one of the handles.
16382         Also clear the TIMEOUT argument if the timer does expire.
16384 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16386         times: fix to return non constant value on MS-Windows
16387         * lib/times.c (times): Don't use the process creation time,
16388         rather clock() which on windows returns the number of
16389         clock ticks since the process started.
16391 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
16393         isatty: fix to work on windows 8
16394         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
16395         2 bits of the handle to the more expensive but accurate syscall.
16397 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16399         maint: fix typo in fdl.texi
16400         * doc/fdl.texi: Fix typo (missing '@').
16401         Somehow this was in fdl.texi but not fdl-1.3.texi.
16403 2014-06-06  Ben Walton  <bdwalton@gmail.com>
16405         mountlist: avoid hasmntopt const type warning on solaris
16406         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
16407         with char * instead of const char *.  Passing the constant string
16408         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
16409         to avoid the warning.
16411 2014-06-04  Eric Blake  <eblake@redhat.com>
16413         maintainer-makefile: delete obsolete code
16414         * top/maint.mk (build_aux): Drop old code, as threatened.
16416         maintainer-makefile: avoid spurious error messages
16417         * top/maint.mk (syntax-check): Guard definition and use of
16418         $(shell) by whether Makefile is present.
16420 2014-06-03  Ben Walton  <bdwalton@gmail.com>
16422         rename: avoid unused-but-set-variable compiler warning
16423         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
16424         it is possible that dst_exists may be set but not used.  Mark it with
16425         the unused attribute to avoid compiler warnings.
16427 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16429         rename: mark a label as potentially unused
16430         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
16431         by marking the out label as potentially unused.
16432         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
16434 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16436         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
16437         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
16439 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16441         acl: apply pure attribute to two functions
16442         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
16443         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
16445 2014-06-01  Pádraig Brady  <P@draigBrady.com>
16447         gnulib-common.m4: add _GL_UNUSED_LABEL
16448         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
16449         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
16451 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16453         dup2, fcntl, fcntl-h: port to AIX 7.1
16454         This fixes some porting problems discovered when testing the latest
16455         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
16456         in grep but it could be important for other applications.
16457         * doc/posix-functions/dup2.texi:
16458         * doc/posix-functions/fcntl.texi:
16459         * doc/posix-headers/fcntl.texi:
16460         Document AIX bugs.
16461         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
16462         Define to 0 if outside 'int' range.
16463         * m4/dup2.m4 (gl_FUNC_DUP2):
16464         * m4/fcntl.m4 (gl_FUNC_FCNTL):
16465         Check for getdtablesize.  If it's available, test a value just
16466         outside its range instead of testing 1000000.  When cross-compiling,
16467         guess that AIX will fail this improved test.
16469 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16471         printf, config.rpath: Port to FreeBSD 10.
16472         Problem reported by Tijl Coosemans in:
16473         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
16474         * build-aux/config.rpath (hardcode_libdir_flag_spec)
16475         (hardcode_direct): Simplify FreeBSD configuration.
16476         (library_names_spec): Don't mishandle FreeBSD 10+.
16477         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
16478         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
16479         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
16480         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
16481         Don't mishandle FreeBSD 10+ when cross-compiling.
16483         ftoastr: work around compiler bug in IBM xlc 12.1
16484         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
16485         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
16486         around a compiler bug in IBM xlc 12.1.0.0: it complains
16487         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
16488         _GL_FLT_PREC_BOUND.'
16490 2014-05-30  Kieran Colford  <colfordk@gmail.com>
16492         valgrind-tests: fixed misleading help message
16493         * m4/valgrind-tests.m4: The help message generated by configure
16494         implied that valgrind was disabled by default, which it wasn't.
16495         Adjusted the help message using s/enable/disable/ to clarify.
16497 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
16499         isfinite, isinf, isnan tests: fix for little-endian PowerPC
16500         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
16501         first double of a PowerPC "double double" pair.
16502         * tests/test-isinf.c (test_isinfl): Likewise.
16503         * tests/test-isnan.c (test_long_double): Likewise.
16504         * tests/test-isnanl.h (main): Likewise.
16505         * tests/test-signbit.c (test_signbitl): Likewise.
16507 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16509         exclude-tests: port to AIX 7.1
16510         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
16511         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
16512         the regex code uses locks.
16514 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
16516         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
16517         Without this fix, Emacs would sometimes call sigprocmask instead
16518         of pthread_sigmask, which is a no-no in multithreaded applications.
16519         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
16520         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16521         Suppress check for pthread_sigmask working without -lpthread if
16522         the application always links with -lpthread.  Do not link with
16523         $LIBMULTITHREAD if gl_THREADLIB is not defined.
16524         * m4/timer_time.m4 (gl_TIMER_TIME):
16525         Require gl_THREADLIB only if it is defined.  Do not append
16526         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
16528 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
16530         gnulib-tool: wget translations using --no-verbose rather than --quiet
16531         This allows the user to see error messages if any (--quiet hides them)
16532         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
16534 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
16536         gnulib-tool: adjust translation wget to avoid a https redirection
16537         Context: http://translationproject.org/latest/gnulib redirects to
16538            https://translationproject.org/latest/gnulib/
16539         Rationale: if the user falls back to wget, she doesn't have rsync and
16540         is probably in a minimal build environment, where packages such as
16541         'ca-certificates' are missing as well, resulting in a failed (and
16542         difficult to detect since ignored) translation initial fetch.
16543         Consequently let's avoid https if possible, and add the missing
16544         trailing slash.  This also avoids an unnecessary 302 redirection.
16545         * gnulib-tool: Add trailing slash to gnulib URL.
16547 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16549         getlogin_r-tests: check return value rather than errno
16550         * tests/test-getlogin_r.c (main): As per POSIX we should be
16551         verifying the return value from getlogin_r() rather than errno.
16553 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16555         getlogin_r-tests: fix various issues in recent change
16556         * tests/test-getlogin_r.c: Include required headers that were
16557         missed in recent commit eec20b4e.
16558         Also consistently check the errno rather than the return value from
16559         getlogin_r as POSIX only specifies that non zero is returned on error.
16560         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
16562 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16564         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
16565         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
16566         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
16567         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
16568         * lib/spawn-pipe.c:
16569         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
16570         and then 'int open64(const char *, int, ...);', which means the
16571         declaration for 'open' gets lost if we later '#undef open'.
16572         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
16573         where the compilation reported the non-fatal error "In function
16574         'openat_proc_name' ... warning: implicit declaration of function
16575         'open'".  In this case the error is relatively harmless, but in
16576         other cases it might not be so minor.
16578 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16580         xalloc: don't potentially generate invalid code for xmemdup calls
16581         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
16582         this function can initialize the newly-allocated storage with new
16583         pointers, which means this function is not malloc-like.  See:
16584         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
16586 2014-05-19  Pádraig Brady  <P@draigBrady.com>
16588         getlogin_r-tests: avoid false failure under sudo/ssh etc.
16589         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
16590         changes from commit 97249cf29 to not depend on environment variables.
16592 2014-05-18  Pádraig Brady  <P@draigBrady.com>
16594         getlogin-tests: avoid false failure under cron
16595         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
16596         since that's not what's under test.  Centos 6 was seen to return
16597         EINVAL for ttyname() when run from cron.
16599 2014-05-16  Jim Meyering  <meyering@fb.com>
16601         mbrtowc.m4: fix a comment typo
16602         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
16603         emitted documentation string.
16605 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16607         mbrlen, mbrtowc: fix bug with empty input
16608         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
16609         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
16610         so this is mainly for documentation.
16611         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
16612         (gl_FUNC_MBRTOWC): Use it.
16613         * tests/test-mbrtowc.c (main): Test for the bug.
16615 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16617         doc: document mbrtowc and mbrlen problem with empty input
16618         * doc/posix-functions/mbrlen.texi (mbrlen):
16619         * doc/posix-functions/mbrtowc.texi (mbrtowc):
16620         Document portability problem when the input string is empty.  See:
16621         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
16623         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
16624         Problem reported by Eli Zaretskii in:
16625         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
16626         * doc/posix-functions/execl.texi (execl):
16627         * doc/posix-functions/execle.texi (execle):
16628         * doc/posix-functions/execlp.texi (execlp):
16629         * doc/posix-functions/execv.texi (execv):
16630         * doc/posix-functions/execve.texi (execve):
16631         * doc/posix-functions/execvp.texi (execvp):
16632         Mention spawn+exit problem on non-Cygwin Windows platforms.
16634 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
16636         getlogin-tests: avoid false failure under sudo/ssh etc.
16637         * modules/getlogin-tests (configure.ac): Check for ttyname().
16638         * tests/test-getlogin.c (main): Don't depend on environment variables
16639         to correlate with getlogin(), since sudo and ssh etc. can tamper
16640         with the LOGNAME and USER env vars.  Instead lookup the name from
16641         the uid associated with the stdin tty.
16643 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16645         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
16646         These were found when building the latest grep snapshot on IRIX 6.5.
16647         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
16648         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
16649         never used later.
16650         * lib/quotearg.c (quoting_options_from_style):
16651         * lib/xstrtol.c (__xstrtol):
16652         Use enum instead of 0, to pacify IRIX 6.5 cc.
16654 2014-04-18  Pádraig Brady  <P@draigBrady.com>
16656         gitlog-to-changelog: revert inclusion of git-log-fix file
16657         * build-aux/git-log-fix: Delete dummy file.
16658         * modules/gitlog-to-changelog: Don't reference (overwrite)
16659         the project specific git-log-fix file.
16661 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
16663         maint.mk: Relax the copyright check to cater for non FSF projects
16664         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
16665         to not require the "Free" suffix after the copyright years.
16667 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
16669         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
16670         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
16671         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
16672         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
16673         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
16675 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16677         exclude: port to strict C99
16678         Strict C does not allow converting a function pointer to void *
16679         and vice versa.  Pass a pointer to a function pointer instead.
16680         * lib/exclude.c (add_exclude_file):
16681         Pass the address of the function pointer.
16682         (call_addfn): And deference the address here, to match.
16684 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16686         regex: do not depend on malloc-gnu
16687         * modules/regex (Depends-on): Remove malloc-gnu.
16688         It's no longer needed, because of the 2012-12-29 patch
16689         "regex: port to hosts where malloc (0) == NULL".
16690         Reported by Nathan Kennedy in:
16691         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
16693 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
16695         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
16696         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
16697         * doc/posix-functions/expl.texi: Mention the workaround.
16699 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16701         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
16702         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
16703         size to be zero even when the pointer is nonnull.  This
16704         accommodates the use case where P is malloc (0) and *PN is 0 on a
16705         host where malloc (0) yields nonnull.
16707 2014-04-09  Eric Blake  <eblake@redhat.com>
16709         fts: avoid unnecessary strlen calls
16710         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
16712 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16714         fts: avoid unnecessary strlen calls
16715         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
16716         when that can be faster than strlen.
16718 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16720         fts: avoid unnecessary strlen calls
16721         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
16722         (fts_build): Store the length of the dp->d_name entry in a local variable
16723         instead of calling strlen() several times via the above, removed macro.
16724         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
16725         run by ~4%, yet this reduces the execution time by about a third if run
16726         via "ltrace -c rm -rf some-dir".
16728 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16730         obstack: Remove ancient NeXTSTEP gcc support conditional
16731         This change will ease merging with glibc.  The "#if ... __NEXT__"
16732         causes a warning with -Wundef which glibc now enables by default.
16733         Problem reported by Will Newton in
16734         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
16735         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
16736         so go with that.
16737         * lib/obstack.h (__extension__):
16739 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16741         obstack: merge with glibc changes
16742         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16743         This is mostly indenting and commentary changes.
16744         Instances of 'register' have been removed.
16746 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16748         strftime: wrap macros in "do {...} while(0)"
16749         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16750         this macro in "do {...} while(0)" to prevent false use as a
16751         single statement, e.g., in an un-braced "{}" else-block.
16752         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16753         (strftime_case_): Remove 'else' after 'goto' - which was the
16754         only non-fatal, un-braced use of one of the above macros.
16755         Spotted by coverity (NESTING_INDENT_MISMATCH).
16757 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16759         modechange: avoid memory leaks for invalid octal modes
16760         * lib/modechange.c (mode_compile): During the parsing of
16761         notations like +40, free the 'mc' buffer for invalid mode
16762         strings like +17777 (greater than the maximum octal mode),
16763         =18 (bad octal mode characters) or u=1 ('affected' with
16764         octal modes).
16765         Reproducer, e.g.:
16766             $ valgrind --leak-check=full chmod +17777 file
16767         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16768         add notations +40, 00440, etc.".
16769         Spotted by coverity (RESOURCE_LEAK).
16771 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16773         gitlog-to-changelog: include a dummy git-log-fix file
16774         Problem reported by Nathan Stratton Treadway in:
16775         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16776         * build-aux/git-log-fix: New file.
16778 2014-03-13  Jim Meyering  <meyering@fb.com>
16780         gitlog-to-changelog: also include the file, git-log-fix
16781         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16782         Reported by Assaf Gordon.
16784 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16786         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16787         This fixes a bug when ignoring case and when comparing the
16788         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16789         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16790         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16791         titlecase letter is neither lowercase nor uppercase, but
16792         uppercasing the titlecase letter (via towupper) yields the
16793         uppercase letter, so the two letters should match when ignoring case.
16794         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16795         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16796         Don't test whether a character is lowercase before uppercasing it.
16798 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16800         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16801         This is basically one of the options Bruno Haible proposed in:
16802         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16803         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16804         * lib/stdint.in.h: Use it.
16805         * modules/stdint (Depends-on): Add sys_types.
16807 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16809         parse-datetime: fix crash or infloop in TZ="" parsing
16810         * lib/parse-datetime.y (parse_datetime): Break out of the
16811         TZ="" parsing loop once the second significant " is found.
16812         Also skip over any subsequent whitespace to be consistent
16813         with the non TZ= case.
16814         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16816 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16818         savedir: new symbol for fast-read version
16819         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16820         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16821         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16822         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16824 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16826         unistd: port readlink to Mac OS X 10.3.9
16827         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16828         around self-include problem in Mac OS X 10.3.9 when combined with
16829         readlink module.  Problem reported by Klaus Zietler in
16830         <http://bugs.gnu.org/16825>.
16832 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16834         diffseq: remove TOO_EXPENSIVE heuristic
16835         Problem with diffutils reported by Vincent Lefevre in
16836         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16837         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16838         Although appropriate for circa-1993 hardware, these days the heuristic
16839         seems to be more trouble than it's worth.
16840         * lib/diffseq.h: Modernize citations.
16841         (struct context): Remove member too_expensive.
16842         All uses changed.
16843         (struct partition): Remove members lo_minimal, hi_minimal.
16844         All uses changed.
16845         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16846         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16847         1993 to make 'diff' run faster (but not as well) on large inputs.
16848         These days, computers are fast enough that it's typically better
16849         to run slower but more accurately.
16850         * lib/fstrcmp.c: Remove duplicate comment.
16851         * lib/fstrcmp.c (strcmp_bounded):
16852         * lib/git-merge-changelog.c (compute_differences):
16853         Adjust to diffseq.h changes.
16854         * NEWS: Document the change.
16856         savedir: simplify by using stpcpy
16857         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16858         (streamsavedir): Use stpcpy instead.
16859         * modules/savedir (Depends-on): Add stpcpy.
16861 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16863         spawn: fix link error on uclibc
16864         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16865         to incorporate -lrt if needed (on uclibc for example).
16866         * modules/posix_spawn: Reference the substituted LIB.
16868 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16869         timer: fix uClibc detection of threading
16870         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16871         enabled in uClibc.
16873 2014-02-21  Eric Blake  <eblake@redhat.com>
16875         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16876         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16878 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16880         exclude: add support for posix regexps
16882         This commit adds support for POSIX extended regular expressions
16883         and fixes a long-standing memory leak (pattern buffer was never
16884         freed).  It also implements a new interface function to read
16885         exclude patterns from a FILE, which passes an additional parameter
16886         to its callback function, thereby allowing to preserve its state
16887         between invocations.
16889         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16890         (pattern_buffer): New struct.
16891         (exclude): New member patbuf.
16892         (exclude_add_pattern_buffer): New function.
16893         (free_exclude_segment): Free regexps.
16894         (free_exclude): Free allocated pattern buffers.
16895         (exclude_patopts): New function.
16896         (file_pattern_matches): Use exclude_patopts.
16897         (add_exclude): support regexps.
16898         (add_exclude_fp): New function.
16899         (add_exclude_file): Rewrite using add_exclude_fp.
16900         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16901         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16902         (add_exclude_fp)
16903         (add_exclude_file): Rewrite using add_exclude_fp.
16904         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16905         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16906         (add_exclude_fp)
16907         (exclude_add_pattern_buffer): New prototypes.
16908         * modules/exclude: Depends on regex and filename.
16910 2014-02-20  Eric Blake  <eblake@redhat.com>
16912         maintainer-makefiles: use $(SED) for syntax check
16913         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16914         * top/maint.mk: Change sed to $(SED).
16916 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16917             Paul Eggert  <eggert@cs.ucla.edu>
16919         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16920         Patch based on an idea by Dick Streefland in
16921         <https://savannah.gnu.org/patch/?7892>.
16922         * NEWS: Document this.
16923         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16924         (direntry_t, comparison_function): New types.
16925         (direntry_cmp_name): New function.
16926         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16927         (streamsavedir, savedir): New arg OPTION.
16928         (streamsavedir): Simplify memory allocation.
16929         (fdsavedir): Remove.
16930         * lib/savedir.h (enum savedir_option): New type.
16931         (streamsavedir, savedir): New arg OPTION.
16932         (fdsavedir): Remove.
16934 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16936         file-type: add support for doors and other less-common file types
16937         Problem with S_ISDOOR reported by Rich Burridge.
16938         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16939         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16940         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16942 2014-01-23  Eric Blake  <eblake@redhat.com>
16944         pthread: work around winpthread header pollution on mingw
16945         * lib/time.in.h: Move pthread workarounds...
16946         * lib/pthread.in.h: ...here.
16947         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16948         detect macro pollution on mingw.
16949         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16951 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16953         qacl: check for fchmod
16954         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16955         and qset-acl.c both use HAVE_FCHMOD.
16957 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16959         fdopen-tests: port to Tru64
16960         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16961         descriptor that is not open, as POSIX doesn't specify the
16962         resulting behavior and the test does not work on Tru64.
16963         Problem reported by Steven M. Schweda in:
16964         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
16966         stdalign: port to HP-UX compilers
16967         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
16968         if __HP_cc or __HP_aCC are nonzero.
16970 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16972         strtoimax: port to platforms lacking 'long long'
16973         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
16974         check whether strtoll is declared, which causes the C file to
16975         wrongly report an error.  Problem reported by Steven M. Schweda in:
16976         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
16977         * lib/strtoimax.c (strtoull):
16978         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
16979         (strtoll): Declare only if HAVE_LONG_LONG_INT.
16981 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
16983         relocatable-perl: fix texi syntax
16984         * doc/relocatable-maint.texi: Escape braces.
16986 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
16988         relocatable-perl: like relocatable-script, but for Perl scripts
16989         * build-aux/relocatable.pl.in: Add.
16990         * doc/relocatable-maint.texi: Add documentation.
16991         * modules/relocatable-perl: Add.
16993 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
16995         tests: fix export bug in previous patch
16996         Problem reported by Jim Meyering.
16997         * tests/init.sh (re_shell): New var, which is exported instead of
16998         re_shell_.
17000         tests: simplify porting to Solaris 10 /bin/sh
17001         Some test cases in 'grep' need a shell that groks '$(';
17002         export re_shell_ for their benefit.  Problem reported for 'grep'
17003         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
17004         * tests/init.sh (re_shell_): Export if it's used.
17006 2014-01-06  Eric Blake  <eblake@redhat.com>
17008         md5, sha1, sha256, sha512: support older autoconf
17009         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
17010         for autoconf < 2.63b.
17012         include_next: port to autoconf 2.63
17013         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
17015 2014-01-04  Jim Meyering  <meyering@fb.com>
17017         maint: add a gnulib-local rule to keep non-ascii out of .texi files
17018         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
17019         so that "make sc_maint" will ding anyone who puts non-ascii
17020         in any of gnulib's .texi files.
17022 2014-01-03  Jim Meyering  <meyering@fb.com>
17024         freadable, fwritable, fwriting: declare with the "pure" attribute
17025         * lib/freadable.h (freadable): Declare with the "pure" attribute.
17026         * lib/fwritable.h (fwritable): Likewise.
17027         * lib/fwriting.h (fwriting): Likewise.
17028         Suggested by Bruno Haible.
17030         maint.mk: adapt openat.h-include-without-use test
17031         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
17032         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
17033         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
17034         With this change, running "make sc_maint" in gnulib's top-level
17035         directory now passes for me.
17037 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17039         doc: use ASCII in .texi files where UTF-8 isn't needed
17040         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
17041         * doc/posix-functions/setkey.texi, doc/regex.texi:
17042         Use ASCII input, not UTF-8.
17044 2014-01-02  Jim Meyering  <meyering@fb.com>
17046         freading: declare with the "pure" attribute
17047         * lib/freading.h (freading): Declare with the "pure" attribute.
17049         manywarnings: remove -Wmudflap
17050         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
17051         it is no longer supported in gcc-4.9-to-be.
17053 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17055         relocatable-script: remove unused code
17056         Problem reported by Reuben Thomas in:
17057         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
17058         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
17060 2014-01-01  Jim Meyering  <meyering@fb.com>
17062         maint: fix public-submodule-commit to work with newer git
17063         * top/maint.mk (public-submodule-commit): Remove excess quoting.
17064         We were over-quoting the test arguments, and somewhere prior to
17065         version 1.8.5.2.229, git stopped removing those excess quotes,
17066         which made the test fail, since the unexpanded strings would
17067         always differ; using GIT_TRACE=1 confirmed that the git merge-base
17068         command wasn't even being run.
17070 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17072         doc: update main copyright year
17073         * doc/gnulib.texi: Update copyright date.
17075 2014-01-01  Eric Blake  <eblake@redhat.com>
17077         version-etc: new year
17078         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
17079         * all files: run 'make update-copyright'
17081 2013-12-24  Eric Blake  <eblake@redhat.com>
17083         passfd: give nicer error for recvfd at eof
17084         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
17085         * tests/test-passfd.c (main): Enhance test to cover this.
17087 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17089         gettimeofday: port recent C++ fix to Emacs
17090         Without this further patch, Emacs won't build due to
17091         the portcheck failing.  Also, this simplifies the patch a bit.
17092         * lib/time.in.h (localtime, gmtime): Don't replace unless
17093         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
17094         * lib/time.in.h (localtime, gmtime):
17095         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
17096         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17097         * modules/time (time.h):
17098         Don't worry about the possibility of localtime and gmtime
17099         being absent; they're present in all C libraries we know about.
17100         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17101         Don't assume sys_time is present and has been initialized.
17102         Instead, use a hack that should work even if it hasn't been.
17103         Don't use a portcheck for gmtime or localtime; this supports
17104         the hack.
17105         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
17107 2013-12-17  John W. Eaton  <jwe@gnu.org>
17109         gettimeofday: fix C++ crosscompilation
17111         Never replace gmtime and localtime by macros when compiling with
17112         C++, this prevents <ctime> from being included.
17114         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
17115         define gmtime and localtime as preprocessor macros.  Instead
17116         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
17117         REPLACE_LOCALTIME substitutions.
17118         * lib/time.in.h: Declare gmtime and localtime when needed.
17119         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
17120         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
17121         * modules/time: Depend on gettimeofday, and substitute the above
17122         variables in time.h.
17124 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17126         qacl: port to Windows better
17127         See Eli Zaretskii in
17128         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
17129         * lib/file-has-acl.c (acl_access_nontrivial):
17130         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
17131         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
17133 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
17135         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
17136         * lib/gl_openssl.h: Cast void pointers to a specific type.
17138 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17140         open-tests: fix build failure with -Werror=old-style-declaration
17141         * tests/test-open.h: Reorder the inline to avoid the issue.
17143 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17145         md5, sha1, sha256, sha512: fix link error with partial libcrypto
17146         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
17147         init time, so that if early checks find crypto routines,
17148         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
17149         avoiding link failures.
17151 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
17153         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
17154         This provides a new way to specify the default for
17155         gl_CRYPTO_CHECK, one that is reflected in the --help message.
17156         Emacs uses this, as well as the old way.
17157         This attempts to implement a suggestion by Pádraig Brady in
17158         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
17159         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
17160         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
17162         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
17163         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
17164         Add support for a new option, --with-openssl=auto, which causes
17165         the library to be used if available and silently ignored if not.
17166         Add support to allow configure.ac to specify its own
17167         default, by setting with_openssl_default before invoking gl_INIT.
17169 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
17171         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
17172         Problem reported by Daiki Ueno in:
17173         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
17174         * tests/test-open.h (__always_inline):
17175         New macro, if not already defined.
17176         (test_open): Use it.
17178 2013-12-04  Eric Blake  <eblake@redhat.com>
17180         include_next: minimize code duplication
17181         * modules/include_next (Depends-on): Add absolute-header.
17182         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
17183         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
17185 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17187         getcwd: fix compile error in configure check
17188         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
17190 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17192         regex: suppress core dumps from detection code
17193         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
17194         to suppress core dumps that may well occur on glibc systems.
17195         These core dumps might not be cleaned up automatically, or could
17196         trigger some system core dump handling logic.
17198 2013-12-03  Pádraig Brady  <P@draigBrady.com>
17200         md5, sha1, sha256, sha512: support mandating use of openssl
17201         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
17202         description, to list the now 3 separate options.  also don't
17203         mention the default=no, since this is implicit given the option
17204         is described as --with-openssl rather than --without-openssl.
17205         If projects change the default they're free to document that.
17206         with --with-openssl[=yes] we now error out when the specified
17207         hash algorithm is not available in libcrypto.
17209 2013-12-03  Ivailo  <xakepa10@gmail.com>
17211         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
17212         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
17213         -Wformat-nonliteral checks, as these edge cases are part of the test.
17215 2013-12-03  Eric Blake  <eblake@redhat.com>
17217         regex: avoid glibc deadlock during configure
17218         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
17219         glibc bug 15078 in turn triggers bug 16159.
17220         Reported by Michal Privoznik.
17222 2013-12-02  Pádraig Brady  <P@draigBrady.com>
17224         md5, sha1, sha256, sha512: use openssl routines if available.
17225         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
17226         routines will be used if available, requiring apps to link @LIB_CRYPTO@
17227         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
17228         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
17229         in the standard system location.
17230         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
17231         * m4/sha256.m4: Likewise with SHA256.
17232         * m4/sha512.m4: Likewise with SHA512.
17233         * m4/md5.m4: Likewise with MD5.
17234         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
17235         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
17236         * lib/sha256.h: Likewise with SHA256.
17237         * lib/sha512.h: Likewise with SHA512.
17238         * lib/md5.h: Likewise with MD5.
17239         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
17240         * lib/sha256.c: Likewise with SHA256.
17241         * lib/sha512.c: Likewise with SHA512.
17242         * lib/md5.c: Likewise with MD5.
17243         * modules/crypto/sha1 (Link:): Add the new optional lib.
17244         (Depends-on:): Add dependency on extern-inline.
17245         * modules/crypto/sha256: Likewise.
17246         * modules/crypto/sha512: Likewise.
17247         * modules/crypto/md5: Likewise.
17248         * modules/crypto/sha1-tests: Reference the lib here too.
17249         * modules/crypto/md5-tests: Likewise.
17250         * modules/crypto/gc-des-tests: Likewise.
17251         * modules/crypto/gc-hmac-md5-tests: Likewise.
17252         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17253         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17254         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17255         * modules/crypto/gc-md5-tests: Likewise.
17256         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17257         * modules/crypto/gc-sha1-tests: Likewise.
17258         * modules/crypto/gc-tests: Likewise.
17259         * modules/crypto/hmac-md5-tests: Likewise.
17260         * modules/crypto/hmac-sha1-tests: Likewise.
17261         * modules/crypto/hmac-sha256-tests: Likewise.
17262         * modules/crypto/hmac-sha512-tests: Likewise.
17264 2013-11-29  RV1971  <rv1971@web.de>
17266         base64: (trivial) fix compilation regression on some compilers
17267         * lib/base64.c: Don't return the void function,
17268         instead split to a separate return statement.
17270 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17272         ignore-value: revert previous code change
17273         * lib/ignore-value.h (ignore_value): Use __extension__ and
17274         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
17275         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
17276         Change the comment to try to explain this better.
17278 2013-11-27  Pádraig Brady  <P@draigBrady.com>
17280         selinux-h: improve stub types and add more stub functions
17282         * lib/se-selinux.in.h: Change security_context_t to a typedef
17283         rather than a define, as it's a pointer type and so is better
17284         as a typedef to avoid issues declaring multiple variables
17285         with the comma operator.  Also add stub for string_to_security_class().
17286         * lib/se-context.in.h: Add stub functions for
17287         context_{type,range,role,user}_get().
17289 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
17291         ignore-value: prefer GCC version back through 2.0
17292         The code didn't match the comments, so I did a bit of software
17293         archaeology.  GCC 2.0 seems to support __extension__ and
17294         __typeof__, so fix both code and comments to use 2.0.
17295         * lib/ignore-value.h (ignore_value): Use __extension__ and
17296         __typeof__ for GCC 2.0 through 3.3, too.
17298 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
17300         pty: Activate the signature wrapper of forkpty.
17301         The intended preprocessor macro HAVE_FORKPTY is
17302         never defined, yet `lib/forkpty.c' depends on it.
17304         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
17305         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
17306         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
17308 2013-11-18  Jim Meyering  <meyering@fb.com>
17309         and Paul Eggert  <eggert@cs.ucla.edu>
17311         quotearg: don't attempt to store 1 << 31 into an "int"
17312         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
17313         gcc's new -fsanitize=undefined and running its tests triggered some
17314         new test failures due to undefined behavior, all with this diagnostic:
17315           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
17316             cannot be represented in type int
17317         Rather than shifting "1" left to form a mask, shift the bits right and
17318         simply use "1" as the mask.
17320 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17322         error: depend on stdio
17323         Problem reported by Nikos Mavrogiannopoulos in
17324         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
17325         * modules/error (Depends-on): Add stdio.
17327 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
17329         * doc/relocatable-maint.texi (Supporting Relocation): Improve
17330         wording.
17331         Reported by Reuben Thomas <rrt@sc3d.org>.
17333 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17335         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
17336         New function and macro, to work around _DARWIN_C_SOURCE problem.
17337         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
17339 2013-11-11  Pádraig Brady  <P@draigBrady.com>
17341         base64: provide a fast path for encoding well sized buffers
17342         Avoid conditionals in the base64 encoding loop,
17343         which was seen to give 60% better throughput.
17344         * lib/base64.c (base64_encode_fast): A new function to be called
17345         when we don't want to NUL terminate, and we have enough space
17346         in the output to encode the given input.
17347         (base64_encode): Call the _fast() version when appropriate.
17348         Also remove a redundant mask with 0x3F on the first encoded byte.
17350 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
17352         extern-inline: port better to OS X 10.9
17353         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
17354         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
17355         OS X 10.9, except for g++ where the bug is still present.
17356         See <http://trac.macports.org/ticket/41033>.
17358 2013-11-08  Eric Blake  <eblake@redhat.com>
17360         fpending: fix regression on DragonFly BSD
17361         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
17362         * lib/fpending.h (__fpending): Don't declare twice.
17363         Reported by GW in
17364         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
17366 2013-11-05  Jim Meyering  <meyering@fb.com>
17368         hash: relax license to LGPLv2+, for libguestfs
17369         * modules/hash (License): Change from GPL to LGPLv2+.
17371 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17373         intprops: port to Oracle Studio c99
17374         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
17375         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
17377 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
17379         obstack: pacify HP C
17380         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
17381         warning "conversion from pointer to smaller integer" from HP
17382         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
17383         C89 or later nowadays, so cast to void instead of int.  Privately
17384         reported by H.Merijn Brand.  Also, change header to match glibc's,
17385         to make checking against glibc easier.
17387 2013-10-29  Jim Meyering  <meyering@fb.com>
17389         maint.mk: prefer gpgv2 over gpgv
17390         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
17391         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
17392         Reported by Gary Vaughan.
17394 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17396         isnan: port to VAX
17397         Reported by John Klos for NetBSD-5/VAX in
17398         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
17399         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
17400         (FUNC): Use it.
17402 2013-10-28  Jim Meyering  <meyering@fb.com>
17404         gnulib-tool: protect against CDPATH
17405         * gnulib-tool: Many "cd" built-in functions print a directory name
17406         to stdout when CDPATH is set, e.g.,
17407           $ bash -c 'CDPATH=/; cd tmp'
17408           /tmp
17409         Unset it, when possible.  Prompted by a comment from Bruce Korb.
17411         maint.mk: restore functionality removed by recent change...
17412         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
17413         the context of a shallow-cloned gnulib repository: "git describe"
17414         would fail in such a directory.  However, that change made it so
17415         the reported gnulib revision no longer includes the version number
17416         or a commit count, even when run from a full clone.
17417         * top/maint.mk (gnulib-version): Use the full "git describe"
17418         output when possible, e.g., the form above, rather than the
17419         abbreviated, no-tag, no-commit-count string, and fall back to
17420         using a 10-byte hash, rather than the default minimal-length
17421         hash prefix, since while the minimal-length one may be fine today,
17422         it is likely not to be unique for very long.
17424 2013-10-26  Jim Meyering  <meyering@fb.com>
17426         maint.mk: fix "release" target to build _version
17427         This fixes a bug in README-release whereby following the outlined
17428         steps, one would publish a tarball whose programs would report
17429         --version output not consistent with the package version number.
17430         This bug caused grep-2.15 to produce a grep program whose
17431         --version option made it print 2.14.56-1e3d rather than 2.15.
17432         * top/maint.mk (release): Making this target build "_version"
17433         ensures that the new version number is reflected in configure.
17435 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
17437         install-reloc: Support multi-binary installation.
17438         * build-aux/install-reloc: Support installing multiple programs in
17439         one invocation, as done by Automake starting with commit
17440         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
17441         Haible <bruno@clisp.org>, archived at
17442         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
17443         Reported by Sylvain <beuc@gnu.org>.
17445 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17447         selinux-h: Really build without selinux when library is missing.
17448         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
17449         continue without selinux, as already told in the warning message.
17451 2013-10-21  Jim Meyering  <meyering@fb.com>
17453         regex: also remove dependency on HAVE_WCSCOLL
17454         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
17456 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
17458         xfreopen: Fix typo. s/frepoen/freopen/
17459         * lib/xfreopen.c: Fix description.
17460         * modules/xfreopen: Likewise.
17462 2013-10-21  Jim Meyering  <meyering@fb.com>
17464         regex: don't depend on wcscoll
17465         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
17466         It is no longer used.
17468 2013-10-20  Jim Meyering  <meyering@fb.com>
17470         error: add the printf attribute to a static function
17471         * lib/error.c (error_tail): Add the printf attribute, to placate
17472         gcc's -Werror=suggest-attribute=format option.
17474 2013-09-30  Jim Meyering  <meyering@fb.com>
17476         fpending, obstack, strerror-override: use pure+const function attrs
17477         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
17478         * lib/obstack.c (_obstack_allocated_p): Likewise.
17479         * lib/obstack.h (_obstack_memory_used): Likewise.
17480         (_obstack_memory_used): Likewise.
17481         * lib/strerror-override.h (strerror_override): Declare with
17482         the "const" attribute.
17484 2013-10-18  Eric Blake  <eblake@redhat.com>
17486         extern-inline: make safe for -Wundef usage
17487         Reported by Vladimir 'phcoder' Serbinenko in
17488         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
17489         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
17491 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17493         mkfifo-tests, etc.: allow HP-UX 11.11 bug
17494         Problem reported by Daniel Richard G. in
17495         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
17496         * doc/posix-functions/mkfifo.texi (mkfifo):
17497         * doc/posix-functions/mkfifoat.texi (mkfifoat):
17498         * doc/posix-functions/mknod.texi (mknod):
17499         * doc/posix-functions/mknodat.texi (mknodat):
17500         Document the HP-UX 11.11 bug.
17501         * tests/test-mkfifo.h (test_mkfifo):
17502         Allow the HP-UX 11.11 bug.
17504 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17506         acl: allow cross-compilation to Gentoo
17507         Problem reported by Gabriel Marcano in
17508         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
17509         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
17510         test only whether it links.
17512 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17514         mgetgroups: remove dependency on realloc-gnu
17515         The dependency violates the comment in realloc-gnu, which
17516         says that tests can't depend on realloc-gnu; some tests depend
17517         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
17518         Problem reported by Daniel Richard G. in
17519         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
17520         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
17521         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
17522         not realloc-gnu.
17524 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17526         regex-tests: port to HP-UX 11.11
17527         Problem reported by Daniel Richard G. in
17528         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
17529         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
17531 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17533         verify: document some 'assume' pitfalls
17534         * doc/verify.texi (Compile-time Assertions):
17535         Mention that 'assume (E)' can sometimes slow things down.
17536         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
17538 2013-10-10  Eric Blake  <eblake@redhat.com>
17540         strtoumax: fix typo in previous commit.
17541         * modules/strtoumax (Depends-on): Fix typo.
17542         * modules/strtoimax (Depends-on): Likewise.
17544 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17546         strtoumax: port to Solaris 8
17547         This problem was introduced in the recent HP-UX patch.
17548         Reported by Tom G. Christensen in
17549         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
17550         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
17551         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
17553 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17555         strtoimax, strtoumax: port to HP-UX 11.11
17556         Problem reported by Daniel Richard G. in
17557         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
17558         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
17559         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
17560         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
17561         REPLACE_STRTOUMAX.
17562         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
17563         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
17564         Replace the function if defined as a macro but not as a function.
17565         * modules/inttypes-incomplete (inttypes.h): Substitute
17566         REPLACE_STRTOUMAX.
17567         * modules/strtoumax (configure.ac): Replace strtoumax if
17568         REPLACE_STRTOUMAX.
17570 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17572         strtoimax: port to HP-UX 11.11
17573         Problem reported by Daniel Richard G.
17574         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
17575         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
17576         they might clash with inttypes.h.
17578 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17580         New module 'count-trailing-zeros'.
17581         * MODULES.html.sh: Mention it.
17582         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
17583         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
17584         * modules/count-trailing-zeros-tests:
17585         * tests/test-count-trailing-zeros.c:
17586         New files.
17588         count-leading-zeros: port to MSC; support types wider than 64 bits
17589         The ideas behind the MSC port are stolen from Emacs.
17590         * lib/count-leading-zeros.h:
17591         Don't include verify.h: it's no longer needed, as types wider than
17592         64 bits are now supported.
17593         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
17594         performance with MSC.  All uses changed.  Do not assume that TYPE
17595         has at most 64 bits.
17596         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
17597         All uses changed.  Fold the subtraction from 31 into the table.
17599         count-one-bits: port to MSC; support types wider than 64 bits
17600         The ideas behind the MSC port are stolen from Emacs.
17601         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
17602         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
17603         Don't include verify.h: it's no longer needed, as types wider than
17604         64 bits are now supported.
17605         (COUNT_ONE_BITS_GENERIC): New macro.
17606         (popcount_supported) [_MSC_VER]: New inline function.
17607         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
17608         performance with MSC.  All uses changed.  Do not assume that TYPE
17609         has at most 64 bits.
17610         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
17612 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
17614         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
17615         * lib/mountlist.c (read_file_system_list): fix leak of directory
17616         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
17618 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17620         tests: improve diagnostic when an assertion fails
17621         * tests/macros.h (ASSERT): Report the assertion that failed.
17623 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17625         verify: new macro 'assume'
17626         This is taken from Emacs, and should be generally useful.
17627         * doc/verify.texi (assume): Document it.
17628         * lib/verify.h (assume): New macro.
17629         (__has_builtin): Expand to 0 if not defined.
17631 2013-09-26  Eric Blake  <eblake@redhat.com>
17633         dup2, dup3: work around another cygwin crasher
17634         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
17635         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
17636         * tests/test-dup2.c (main): Likewise.
17637         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
17638         * lib/dup3.c (dup3): Likewise.
17639         * doc/posix-functions/dup2.texi (dup2): Document it.
17640         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17642         getdtablesize: work around cygwin issue
17643         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
17644         * modules/getdtablesize (configure.ac): Build replacement.
17645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
17646         * modules/unistd (Makefile.am): Expose the witness.
17647         * lib/unistd.in.h (getdtablesize): Declare replacement.
17648         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
17649         * tests/test-getdtablesize.c (main): Test it.
17650         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
17652 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
17654         pmccabe2html: escaping of special characters
17655         Escape all '<', '>', and '&' in HTML output.
17656         * build-aux/pmccabe2html (html_fnc): Call gsub()
17657         instead of sub() to capture all '<', '>', and '&'.
17658         Neither of '<' and '>' is special in a regexp,
17659         so first arguments to gsub() are corrected. Also,
17660         in replacement strings, ampersand must be escaped.
17661         Finally, '&' must be handled first, then '<' and '>'.
17663 2013-09-24  Eric Blake  <eblake@redhat.com>
17665         manywarnings: enable nicer gcc warning messages
17666         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
17667         some -f options for optimal warnings.
17669 2013-09-21  Jim Meyering  <meyering@fb.com>
17671         timespec: use the new TIMESPEC_RESOLUTION in a few more places
17672         * lib/timespec-add.c (timespec_add): Also replace 999999999
17673         with TIMESPEC_RESOLUTION - 1.
17674         * lib/timespec-sub.c (timespec_sub): Likewise.
17676 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17678         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
17679         Problem reported by Dagobert Michelsen via Eric Blake in
17680         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
17681         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
17682         not AC_COMPILE_IFELSE.
17684 2013-09-23  Eric Blake  <eblake@redhat.com>
17686         configmake: support new --runstatedir option
17687         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
17688         even if autoconf was too old to provide the command line option.
17689         * modules/configmake (Makefile.am): Propagate it to .h file.
17691 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17693         ctype, string: depend on extern-inline
17694         This is needed to complete the recent OS X fixes.
17695         Also, fix related documentation as suggested by Eric Blake.
17696         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17697         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
17698         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
17699         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
17700         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
17701         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
17702         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
17703         * doc/posix-functions/toupper.texi:
17704         List the 'ctype' gnulib module.
17705         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
17706         * doc/posix-functions/strncpy.texi:
17707         List the 'string' gnulib module.
17708         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
17709         Add string.
17710         * modules/ctype, modules/string (Depends-on): Add extern-inline.
17712 2013-09-19  Pádraig Brady  <P@draigBrady.com>
17714         userspec: support optional parameters to parse_user_spec()
17715         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
17716         then avoid group processing and treat the full spec as a user.
17717         (parse_with_separator): Allow the USERNAME and GROUPNAME to
17718         be optional params (NULL), in which case they're ignored.
17720 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17722         timespec: new function make_timespec, and new constants
17723         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
17724         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
17725         (make_timespec): New function.
17726         * lib/dtotimespec.c (dtotimespec):
17727         * lib/timespec-add.c (timespec_add):
17728         * lib/timespec-sub.c (timespec_sub):
17729         * lib/utimens.c (validate_timespec):
17730         * lib/utimensat.c (rpl_utimensat):
17731         Use these new constants and functions.
17733         stdio: OS X port of putc_unlocked + extern inline
17734         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
17735         * doc/posix-functions/putc_unlocked.texi:
17736         * doc/posix-functions/putchar_unlocked.texi:
17737         Document this portability problem.
17739         signal: OS X port of sigaddset etc. + extern inline
17740         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17741         (sigismember): #undef on problematic Apple platforms.
17742         * doc/posix-functions/sigaddset.texi:
17743         * doc/posix-functions/sigdelset.texi:
17744         * doc/posix-functions/sigemptyset.texi:
17745         * doc/posix-functions/sigfillset.texi:
17746         * doc/posix-functions/sigismember.texi:
17747         Document this portability problem.
17749         extern-inline: do not always suppress extern inline on OS X
17750         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17751         extern inline on Apple only if the particular compile-time
17752         configuration is known to have the problem.
17753         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17754         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17755         other Gnulib modules.
17757         extern-inline: document fixes for ctype and wctype macros
17758         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17759         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17760         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17761         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17762         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17763         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17764         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17765         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17766         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17767         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17768         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17769         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17770         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17771         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17772         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17773         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17774         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17775         * doc/posix-functions/strncpy.texi:
17776         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17777         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17778         Document that Gnulib fixes portability problems with these
17779         functions on OS X 10.8 and earlier when called from plain inline
17780         or extern inline functions.
17782 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17784         fflush, freadahead, fseeko: Fix for Android
17785         Suggested by Bruno Haible in:
17786         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17787         * lib/stdio-impl.h: Use local __sfileext definition.
17789 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17791         pmccabe2html: Portability to other awk versions.
17792         The functions systime() and strftime() are available
17793         in Gawk only.  Properly close two HTML-tags 'style'
17794         and 'span'.
17795         * build-aux/pmccabe2html (BEGIN): Store timing
17796         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17797         systime() in HTML_COMMENT.
17798         (html_header): Correctly close tag 'style'.
17799         (END): Replace strftime() by CHRONOS_TIME.  Close
17800         tag 'span' correctly, not as 'div'.
17802 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17804         getgroups: statement without effect
17805         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17806         Change equality conditional to expected assignment.
17808 2013-09-09  Eric Blake  <eblake@redhat.com>
17810         glob: fix compilation
17811         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17813 2013-09-07  Eric Blake  <eblake@redhat.com>
17815         glob: fix build for platforms without __THROW
17816         * lib/glob.in.h (__THROW): Add definition again.
17818 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17820         regex-quote: fix buffer access out of bounds
17821         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17822         * lib/regex-quote.c (regex_quote_spec_pcre):
17823         Fix typo that resulted in an out-of-bounds read.
17825 2013-09-04  Eric Blake  <eblake@redhat.com>
17827         glob: avoid -Wattribute warnings on glibc
17828         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17829         __THROWNL, not __THROW, on static functions.
17830         * lib/glob.in.h (__THROW): Adjust...
17831         (__THROWNL): ...accordingly.
17833 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17835         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17836         Suggested by Bruce Korb in:
17837         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17838         * doc/extern-inline.texi (extern inline):
17839         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17840         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17841         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17842         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17843         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17844         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17845         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17846         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17847         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17848         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17849         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17850         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17851         * lib/xtime.h:
17852         Check that _GL_INLINE_HEADER_BEGIN is defined.
17854 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17856         bootstrap: remove the --version requirement from ancillary tools
17857         * build-aux/bootstrap (check_exists): A new refactored function to
17858         determine if a command exists.
17859         (find_tool): Use the new function which does not require the
17860         --version option to be supported.
17861         (check_versions): Use the new function.
17863 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17865         gc: support HMAC-SHA256 and HMAC-SHA512.
17866         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17867         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17868         functions.
17869         (gc_hmac_md5): Use symbolic constant.
17870         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17871         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17872         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17873         * m4/sha256.m4: Protect against empty expansion.
17874         * m4/sha512.m4: Likewise.
17875         * lib/hmac-sha256.c: New file.
17876         * lib/hmac-sha512.c: Likewise.
17877         * m4/gc-hmac-sha256.m4: Likewise.
17878         * m4/gc-hmac-sha512.m4: Likewise.
17879         * m4/gc-sha256.m4: Likewise.
17880         * m4/gc-sha512.m4: Likewise.
17881         * modules/crypto/gc-hmac-sha256: Likewise.
17882         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17883         * modules/crypto/gc-hmac-sha512: Likewise.
17884         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17885         * modules/crypto/hmac-sha256: Likewise.
17886         * modules/crypto/hmac-sha256-tests: Likewise.
17887         * modules/crypto/hmac-sha512: Likewise.
17888         * modules/crypto/hmac-sha512-tests: Likewise.
17889         * tests/test-gc-hmac-sha256.c: Likewise.
17890         * tests/test-gc-hmac-sha512.c: Likewise
17891         * tests/test-hmac-sha256.c: Likewise.
17892         * tests/test-hmac-sha512.c: Likewise
17894 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17896         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17897         of AC_CHECK_DECLS.
17899 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17901         selinux-at: omit unnecessary include
17902         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17903         this source file doesn't use its macros, and subsidiary files that
17904         use the macros already include it.
17906 2013-08-21  Eric Blake  <eblake@redhat.com>
17908         d-ino: avoid false negative on symlink
17909         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17910         Reported by Stephane Chazelas.
17912 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17914         bootstrap: port to OpenBSD sed
17915         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17916         does not interpret `-' as a file argument to mean stdin.
17918 2013-08-15  Eric Blake  <eblake@redhat.com>
17920         warnings: minor optimization
17921         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17923         warnings: check -Wfoo rather than -Wno-foo
17924         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17925         -Wno-, test if the compiler recognizes the positive form instead.
17927 2013-08-15  Karl Berry  <karl@gnu.org>
17929         * config/srclist-update: add option "doclicense" to placate
17930         pulling *.texi files from Emacs.  Write terse usage
17931         documentation at the top.
17933 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17935         xvasprintf-tests: port to GCC with hardening flags
17936         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17937         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17938         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17940 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17942         fpending: port to recent Cygwin change to stdio_ext.h
17943         Reported by LRN in
17944         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17945         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17946         just declare __fpending unless it's a macro.
17947         A duplicate decl shouldn't hurt.
17948         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17949         call compiles and links, instead of separately checking for
17950         decl and lib function.
17951         * modules/fpending (configure-ac):
17952         Adjust to fpending.m4's renaming of shell variable.
17954 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17956         sys_time: port to OpenBSD
17957         * lib/sys_time.in.h: Simply delegate to the system's header
17958         in the BSDish cases as well.  Problem reported by Mike Miller in
17959         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17960         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17961         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17962         wider than time_t.
17964 2013-08-09  Pádraig Brady  <P@draigBrady.com>
17966         bootstrap: support checksum utils having -c but not --status
17967         * build-aux/bootstrap: Only look for sha1sum if updating po files.
17968         Add sha1 to the list of supported checksum utils since it's now
17969         supported through adjustments below.
17970         (update_po_files): Remove the use of --status
17971         in a way that will suppress all error messages, but since this is
17972         only used to minimize updates, it shouldn't cause an issue.
17973         Exit early if there is a problem updating the po file checksums.
17974         (find_tool): Remove the check for --version support as this
17975         is optional as per commit 86186b17.  Don't even check for the
17976         presence of the command as if that is needed, it's supported
17977         through configuring prerequisites in bootstrap.conf.
17978         Prompt that when a tool isn't found, one can define an environment
17979         variable to add to the hardcoded search list.
17981 2013-08-05  Jim Meyering  <meyering@fb.com>
17983         regex: port to non-glibc/lock-using systems
17984         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
17985         system with GNULIB_LOCK would fail due to absence of the
17986         included "glthread/lock.h".  This would affect any package
17987         for which the "lock" module is used only by the regex module,
17988         and not explicitly used.
17989         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
17990         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
17991         Add a dependency on the "lock" module.
17993 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17995         localecharset: make locale_charset thread-safe on Mac OS X
17996         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
17997         instead of MB_CUR_MAX.
17999 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18001         gettext: update to version 0.18.3
18002         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
18003         require AC_PROG_SED to allow user to specify custom sed command when
18004         generating en@quot PO file.
18006 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
18008         bootstrap: use correct source when copying build-aux files
18009         * build-aux/bootstrap (gnulib_extra_files): This variable is
18010         relative to upstream gnulib layout, not downstream.
18012 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18014         tmpdir: fix bug in VMS port
18015         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
18016         See Steven M. Schweda in
18017         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
18019 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18021         tmpdir: port to VMS, to // != /, and to long dirs
18022         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
18023         __secure_getenv, so that we're more like the glibc version.
18024         All uses changed.
18025         (path_search): Don't put slash after directory if __VMS.
18026         Problem reported by Steven M. Schweda in
18027         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
18028         Simplify code to add slash; no need for a loop.
18029         Do not remove trailing slash from "//".
18030         Do not assume dlen <= INT_MAX.
18032 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18034         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
18035         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
18036         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
18037         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
18039         accept4, dup3, pipe2: port to Cygwin
18040         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
18041         * lib/accept4.c (accept4) [O_BINARY]:
18042         * lib/dup3.c (dup3) [O_BINARY]:
18043         * lib/pipe2.c (pipe2) [O_BINARY]:
18044         Use set_binary_mode, not setmode.
18045         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
18046         * modules/binary-io (Depends-on): Remove module indicator.
18047         These last two bits undo the previous change to pipe2 and binary-io.
18049 2013-07-09  Pádraig Brady  <P@draigBrady.com>
18051         mountlist: add support for deallocating returned list entries
18052         * lib/mountlist.c (free_mount_entry): A new exported function
18053         to deallocate a mount list entry.
18054         (read_file_system_list): Refactor to use the new deallocation function.
18055         Suggested by Anton Ovchinnikov.
18057 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18059         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
18060         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
18061         * lib/stdalign.in.h (_Alignas, _Alignof):
18062         Port to FreeBSD 9.1, and to C11 and C++11.
18063         (_Alignas): Also support ICC.
18064         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
18065         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
18067 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18069         fnmatch: don't goto over declaration
18070         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
18071         undefined behavior for goto over a declaration.
18072         Problem reported by Charlie Brown in
18073         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
18075         pipe2: decouple from binary-io a bit
18076         This is for Emacs, which needs pipe2 but not binary-io.
18077         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
18078         * modules/binary-io (Depends-on): Add module indicator.
18080 2013-07-03  Eric Blake  <eblake@redhat.com>
18082         mgetgroups: relax license to LGPLv2+
18083         * modules/getugroups (License): Change from GPLv3+.
18084         * modules/mgetgroups (License): Likewise.
18085         * modules/getgroups (License): Change from LGPLv3+.
18087         xalloc-oversized: relax license to LGPLv2+
18088         * modules/xalloc-oversized (License): Change from GPLv3+.
18090         nproc: relax license to LGPLv2+
18091         * modules/nproc (License): Change from LGPLv3+.
18093         bootstrap: honor --no-git
18094         * build-aux/bootstrap: Don't even try to use git when user is
18095         pointing to a static checkout.
18097 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18099         ignore-value: port to gcc -pedantic
18100         * lib/ignore-value.h (ignore_value):
18101         Port to gcc -pedantic, by using __extension__.
18102         Reindent as per usual gnulib style nowadays.
18103         Simplify GCC version check.
18105 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18107         extern-inline: port to gcc -std=c89
18108         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
18109         Do not use __gnu_inline__ if pedantic and pre-C99.
18111 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18113         doc: document extern-inline
18114         * doc/extern-inline.texi: New file.
18115         * doc/gnulib.texi (alloca-opt): Include it.
18116         * m4/extern-inline.m4: Move some comments to documentation,
18117         and others closer to what they describe.
18119         doc: chatter less
18120         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
18121         (updated-stamp): Use it.  This causes 'make' to output just
18122         one file name rather than zillions.
18124         fflush, fseeko: port to musl cross-compiles
18125         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
18126         on some implementation that (1) is not known to be buggy,
18127         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
18128         cross-compiled to so we can't easily check for lack of
18129         conformance.  This is for cross-compiling to musl.
18130         Reported by Rich Felker in
18131         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
18132         * m4/fclose.m4 (gl_FUNC_FCLOSE):
18133         * m4/fflush.m4 (gl_FUNC_FFLUSH):
18134         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
18135         Adjust to above change.
18136         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
18137         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
18138         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
18139         known not to work, or unknown.
18141 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18143         msvc-inval: port to mingw-w64
18144         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
18145         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
18146         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
18148 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18150         getcwd-lgpl: port to Tru64
18151         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
18152         Problem reported by Steven M. Schweda in
18153         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
18155         tests: port large-fd POSIX spawn tests to OS X
18156         Problem reported by Daiki Ueno in
18157         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
18158         * tests/test-posix_spawn_file_actions_addclose.c:
18159         * tests/test-posix_spawn_file_actions_adddup2.c:
18160         * tests/test-posix_spawn_file_actions_addopen.c:
18161         Include <limits.h>, for OPEN_MAX, if available.
18162         (big_fd): New static function.
18163         (main): Use it.
18165 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
18167         tests/nap.h: use an adaptive delay to avoid ctime update issues
18168         The recent change in nap.h (5191133e) decreased the probability of lost
18169         races to about a third, however such problems could still be observed
18170         in virtual machines and openSUSE's OBS.
18171         Before, nap() detected the needed time once empirically and then used
18172         that delay (together with a small correction multiplier) in further
18173         calls.  This problem has been reported and discussed several times,
18174         including guesses about possible kernel issues:
18175         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
18176         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
18177         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
18178         http://bugs.gnu.org/12820
18179         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
18180         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
18181         Now, nap() avoids the race alltogether by verifying on a reference
18182         file whether a timestamp difference has happened.
18183         * tests/nap.h (nap_fd): Define file descriptor variable for the
18184         witness file.
18185         (nap_works): Change return value to bool.  Change passing
18186         the old file's status by value instead of by reference as this function
18187         does no longer update that timestamp; rename the function argument from
18188         st to old_st.  Remove the local variables cdiff and mdiff because that
18189         function now returns true/false instead of the precise delay.
18190         (guess_delay): Remove function.
18191         (clear_tmp_file): Add new function to close and unlink the witness file.
18192         (nap): Instead of re-using the delay which has been calculated during
18193         the first call, avoid the race by actually verifying that a timestamp
18194         difference can be observed on the current file system.  Use an adaptive
18195         approach for the delay to minimize execution time.  Assert that the
18196         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
18197         = 2^31 - 1 = 2.1s.
18198         Use atexit to call clear_tmp_file when the process terminates.
18200 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18202         sig2str: port to C++
18203         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
18204         Reported by Daniel J Sebald in
18205         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
18207 2013-05-30  Eric Blake  <eblake@redhat.com>
18209         docs: mention cygwin shortcoming in <sys/un.h>
18210         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
18212         vasnprintf: silence mingw compiler warning
18213         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
18215 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
18217         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
18218         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
18219         This fixes a porting bug I recently reintroduced in regex, and
18220         some other instances that I discovered while testing the fix.
18221         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
18222         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
18223         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
18224         with an empty argument if this is a pedantic pre-C99 GCC.
18225         * lib/verify.h: Do not use _Static_assert if this is a pedantic
18226         pre-C11 GCC.
18228         regex: adapt to locking regime instead of depending on pthread
18229         Instead of depending on pthread, adapt to whatever thread
18230         modules are in use.  Problem reported by Ludovic Courtès in
18231         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
18232         and by Mats Erik Andersson in
18233         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
18234         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18235         Support either the 'lock' module, or the 'pthread' module, or
18236         no module.
18237         (lock_lock, lock_unlock): New macros.
18238         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
18239         * modules/lock, modules/pthread (configure.ac): Add module indicator.
18240         * modules/regex (Depends-on): Remove pthread.
18242 2013-05-22  Eric Blake  <eblake@redhat.com>
18244         getgroups: document portability issues
18245         * doc/glibc-functions/initgroups.texi (initgroups): Mention
18246         multithread safety.
18247         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
18248         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
18249         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
18250         getugroups.
18251         * doc/posix-functions/getgroups.texi (getgroups): Mention
18252         multithread safety and mgetgroups.
18254 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
18256         test-lchown, test-chown: also skip test if chown fails with EPERM
18257         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
18258         skip this test, to handle FAT file systems.
18259         * tests/test-chown.h (test_chown): Likewise.
18261 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18263         regex: fix dfa race in multithreaded uses
18264         Problem reported by Ludovic Courtès in
18265         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
18266         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18267         New macros.  All uses of __libc_lock_define, __libc_lock_init
18268         changed to use the first two of these.
18269         (__libc_lock_lock, __libc_lock_unlock): New macros, for
18270         non-glibc platforms.
18271         (struct re_dfa_t): Define the lock unconditionally.
18272         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
18273         '#ifdef _LIBC"s.
18274         * modules/regex (Depends-on): Add pthread, if we use the
18275         included regex.
18277         * lib/regcomp.c: Do actions that are not needed for glibc,
18278         but may be needed elsewhere.
18279         (regfree, re_compile_internal): Destroy the lock.
18280         (re_compile_internal): Check for lock-initialization failure.
18282         malloca: port to compilers that reject size-zero arrays
18283         This fixes a bug introduced in my previous patch.
18284         * lib/malloca.c (struct preliminary_header): Use an int
18285         rather than a character array of size int; that's simpler.
18286         (struct header): Remove, replacing with ...
18287         (union header): New type.  This avoids the need for declaring a
18288         character array of size zero, which is not allowed on some platforms.
18289         All uses changed.
18291 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
18293         parse-datetime, tests: don't use "string" + int
18294         Recent versions of 'clang' complain about C source code that
18295         uses expressions of the form '"string literal" + integer',
18296         I guess on the theory that it's confusing for readers who are
18297         used to C++.  On those grounds I suppose it's OK to make this
18298         minor style change.
18299         * lib/parse-datetime.y (parse_datetime):
18300         * tests/test-fchdir.c (main):
18301         * tests/test-snprintf-posix.h (test_function):
18302         * tests/test-snprintf.c (main):
18303         * tests/test-vasnprintf-posix.c (test_function):
18304         * tests/test-vasnprintf.c (test_function):
18305         * tests/test-vsnprintf.c (main):
18306         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
18307         Rewrite '"str" + E' to '&"str"[E]'.
18309 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
18311         argmatch: port to C++
18312         * lib/argmatch.h [__cplusplus]: Add extern "C".
18314         argp: typo fix
18315         * lib/argp-help.c: Typo in comment.
18317 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
18319         manywarnings: update for GCC 4.8.0
18320         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18321         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
18322         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
18323         -Wmissing-noreturn, as they are duplicates of other warnings.
18324         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
18325         was documented to be flaky in earlier versions of GCC.
18327         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
18328         * tests/test-spawn.c (main):
18329         * tests/test-sys_socket.c (main):
18330         * tests/test-sys_wait.c (main):
18331         Don't have a switch value that isn't covered by a case.
18333         getaddrinfo-tests: port --enable-gcc-warnings to clang
18334         * tests/test-getaddrinfo.c (simple):
18335         Avoid casts from looser to stricter-aligned pointers.
18337         thread: port --enable-gcc-warnings to clang
18338         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
18339         Include <signal.h>, to pacify a warning about pthread_sigmask.
18341         stdio: use __REDIRECT for fwrite, fwrite_unlocked
18342         * lib/stdio.in.h (fwrite):
18343         When working around bug 11959, use __REDIRECT rather than '#define
18344         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
18345         fix the -Wunused-value issue with clang, and it works with GCC too.
18346         Problem with targeting reported by Eric Blake in
18347         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
18348         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
18349         debugging the fwrite issue.
18351         stdio: port --enable-gcc-warnings to clang
18352         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
18353         since the GCC workaround for fwrite does not pacify clang.
18355         sig2str: port --enable-gcc-warnings to clang
18356         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
18358         obstack: port --enable-gcc-warnings to clang
18359         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
18360         Avoid casts from looser to stricter-aligned pointers.
18362         memchr2: port --enable-gcc-warnings to clang
18363         * lib/memchr2.c (memchr2):
18364         Avoid casts from looser to stricter-aligned pointers.
18366         mbsstr: port --enable-gcc-warnings to clang
18367         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
18368         Avoid casts from looser to stricter-aligned pointers.
18370         malloca: port --enable-gcc-warnings to clang
18371         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
18372         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
18374         inttostr: port --enable-gcc-warnings to clang
18375         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
18377         warnings: port to clang
18378         Problem reported by Daniel P. Berrange via Eric Blake in
18379         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
18380         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
18381         (gl_WARN_ADD): Use it.
18383 2013-05-11  Jim Meyering  <meyering@fb.com>
18385         quotearg: do not read beyond end of buffer
18386         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
18387         end of an ARG for which no length was specified.  With an N-byte
18388         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
18389         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
18390         via coreutils' misc/sort-debug-keys.sh test and detected by running
18391         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
18392         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
18393         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
18394         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
18395         characters correctly."
18397 2013-05-11  Daiki Ueno  <ueno@gnu.org>
18399         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
18400         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
18401         compilation target is Mac OS X 10.6.
18402         Problem reported by parafin and Andoni Morales in
18403         <http://savannah.gnu.org/bugs/?37844> and
18404         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
18406 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
18408         mkdir-p: remove assumptions about umask and mode
18409         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
18410         umask is 0, or that MODE is a subset of MODE_BITS.
18412 2013-05-10  Eric Blake  <eblake@redhat.com>
18414         maint.mk: catch more abuse of HAVE_DECL in syntax-check
18415         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
18417 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
18419         deps: require Automake >= 1.9.6 in generated Makefile fragments
18421         That is the same minimal version required in the DEPENDENCIES file.
18422         Moreover, the old code generated a requirement of Automake >= 1.5,
18423         and that is an insanely outdated version.
18425         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
18426         * tests/havelib/rpathlx/Makefile.am: Likewise.
18427         * tests/havelib/rpathly/Makefile.am: Likewise.
18428         * tests/havelib/rpathlyx/Makefile.am: Likewise.
18429         * tests/havelib/rpathlz/Makefile.am: Likewise.
18430         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
18431         * tests/havelib/rpathx/Makefile.am: Likewise.
18432         * tests/havelib/rpathy/Makefile.am: Likewise.
18433         * tests/havelib/rpathz/Makefile.am: Likewise.
18435 2013-05-08  Eric Blake  <eblake@redhat.com>
18437         bootstrap: AC_INIT may have more than four parameters
18438         * build-aux/bootstrap (extract_package_name): Correctly extract
18439         non-empty tarname field.  Avoid range in regex.
18440         Based on a report by Sami Kerola <kerolasa@iki.fi>.
18442 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18444         qacl: port to MS-Windows port of GNU Emacs
18445         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
18446         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
18447         port of GNU Emacs.  Problem reported by Eli Zaretskii in
18448         <http://bugs.gnu.org/14295#14>.
18450 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
18452         acl: include quote.h
18453         * lib/copy-acl.c: Include quote.h.
18454         * lib/set-acl.c: Likewise.
18456 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
18458         fchownat, renameat, unlinkat: update statat dependencies
18459         These modules use statat and lstatat, not fstatat; so depend on
18460         the statat module, which was split out recently from fstatat.
18461         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
18462         * modules/renameat: Likewise.  Also delete fstat.
18463         URL: http://bugs.gentoo.org/468790
18465 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
18467         Assume gnulib is checked out from Git, not CVS
18469         In fact, access to the gnulib repository through CVS has been
18470         disabled, or more precisely, got broken and was never restored; see:
18471         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
18473         Note that support for CVS is not removed completely and unthinkingly
18474         by this change: only support for CVS checkouts of gnulib itself is
18475         removed.  For example, the 'bootstrap' script still cater to .cvsingore
18476         files and CVS directories, for the benefit of those poor gnulib clients
18477         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
18479         * gnulib-tool: Simplify accordingly.
18480         * posix-modules: Likewise.
18481         * MODULES.html.sh: Likewise.
18482         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
18483         repository.
18484         * doc/gnulib-intro.texi: Likewise.
18485         * doc/gnulib-readme.texi: Likewise.
18486         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
18487         sample '.gitignore' file rather than a sample '.cvsignore'.
18488         * NEWS: Update.
18489         * m4/extensions.m4: While at it, remove a comment mistakenly referring
18490         to "CVS Autoconf" rather than "git Autoconf".
18492 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
18494         utimensat-tests, etc.: try to fix some races
18495         Problem reported by Bernhard Voelker in
18496         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
18497         I don't know whether this patch fixes that race condition, but it
18498         fixes *some* race conditions, so it should be a win.
18499         * modules/chown-tests (Depends-on):
18500         * modules/fchownat-tests (Depends-on):
18501         * modules/fdutimensat-tests (Depends-on):
18502         * modules/futimens-tests (Depends-on):
18503         * modules/lchown-tests (Depends-on):
18504         * modules/stat-time-tests (Depends-on):
18505         * modules/utimens-tests (Depends-on):
18506         * modules/utimensat-tests (Depends-on):
18507         Depend on nanosleep, not usleep.
18508         * modules/chown-tests (test_chown_LDADD):
18509         * modules/lchown-tests (test_lchown_LDADD):
18510         * modules/stat-time-tests (test_stat_time_LDADD):
18511         New macro.
18512         * modules/fchownat-tests (test_fchownat_LDADD):
18513         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
18514         * modules/futimens-tests (test_futimens_LDADD):
18515         * modules/utimens-tests (test_utimens_LDADD):
18516         * modules/utimensat-tests (test_utimensat_LDADD):
18517         Add $(LIB_NANOSLEEP).
18518         * modules/stat-time-tests (Files): Add tests/nap.h.
18519         * tests/nap.h: Include <limits.h>, for INT_MAX.
18520         (lt_mtime): Remove.
18521         (diff_timespec): New function.
18522         (get_stat): Rename from get_mtime.  All callers changed.
18523         (nap_works): Determine the needed delay by inspecting the
18524         file system's timestamp jumps; this should be more reliable.
18525         Look at both mtime and ctime, and take the maximum of the two jumps.
18526         (nap_works, guess_delay):
18527         Return a nanosecond count, not a microsecond count.
18528         All callers changed.
18529         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
18530         failure.
18531         (nap): Multiply the guess by 1.125, to accommodate the case where
18532         the file system's clock is a bit slower than nanosleep's clock.
18533         * tests/test-stat-time.c (BASE): New macro.
18534         Include nap.h.
18535         (nap): Remove; nap.h now defines this.  This removes a duplicate
18536         implementation of 'nap'.
18538         utimens, utimensat: work around Solaris UTIME_OMIT bug
18539         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
18540         Linux kernel 2.6.32 does.  Work around it in the same way.
18541         * doc/posix-functions/futimens.texi (futimens):
18542         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
18543         * lib/utimens.c (fdutimens, lutimens):
18544         * lib/utimensat.c (rpl_utimensat): Work around the bug.
18546         gettext: now it's your responsibility to add -I$(top_builddir)/intl
18547         Formerly, it was your responsibility to do this for all Makefile.ams
18548         other than Gnulib's.  Now it's your responsibility to do it for
18549         Gnulib's Makefile.am, too.
18550         * NEWS: Document this.
18551         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
18553         acl: include errno.h to get errno
18554         Reported by Daiki Ueno in
18555         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
18556         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
18558 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18560         tests: don't assume getdtablesize () <= 10000000
18561         * modules/cloexec-tests:
18562         * modules/dup2-tests:
18563         * modules/dup3-tests:
18564         * modules/nonblocking-tests:
18565         * modules/posix_spawn_file_actions_addclose-tests:
18566         * modules/posix_spawn_file_actions_adddup2-tests:
18567         * modules/posix_spawn_file_actions_addopen-tests:
18568         * modules/unistd-safer-tests:
18569         Depend on the getdtablesize module.
18570         * tests/test-cloexec.c:
18571         * tests/test-dup-safer.c:
18572         * tests/test-dup2.c:
18573         * tests/test-dup3.c:
18574         * tests/test-fcntl.c:
18575         * tests/test-nonblocking.c:
18576         * tests/test-posix_spawn_file_actions_addclose.c:
18577         * tests/test-posix_spawn_file_actions_adddup2.c:
18578         * tests/test-posix_spawn_file_actions_addopen.c:
18579         Don't assume getdtablesize () <= 10000000.
18581 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
18583         extern-inline: work around bug in Sun c99
18584         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18585         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
18587 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18589         qacl: new module, broken out from the acl module
18590         This is for GNU Emacs, which wants the acl functions but does
18591         not want 'error' invoked when they fail.
18592         * lib/acl-internal.h: Do not include error.h, quote.h.
18593         (ENOSYS, ENOTSUP): Remove; no longer needed.
18594         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
18595         * lib/acl.h: Include <stdbool.h>.
18596         (acl_errno_valid): New function.
18597         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18598         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
18599         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
18600         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
18601         (ACL_INTERNAL_INLINE): Remove; no longer needed.
18602         * lib/file-has-acl.c (file_has_acl):
18603         * lib/qcopy-acl.c (qcopy_acl):
18604         * lib/qset-acl.c (qset_acl):
18605         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
18606         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
18607         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
18608         lib/file-has-acl.c, m4/acl.m4 to qacl module.
18609         Add lib/set-acl.c.
18610         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
18611         Add qacl.
18612         (configure.ac): Move gl_FUNC_ACL to qacl module.
18613         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
18614         Rename set-mode-acl.c to set-acl.c.
18615         * lib/acl-errno-valid.c: New file.
18616         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
18617         copy_acl function remains in copy-acl.c.
18618         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
18619         (_): Remove; not needed.
18620         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
18621         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
18622         * modules/qacl: New file, moved from the old modules/acl.
18623         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
18624         Remove set-mode-acl.c, copy-acl.c.
18625         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
18627         alignof, intprops, malloca: port better to IBM's C compiler
18628         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
18629         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
18630         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
18632 2013-04-25  Daiki Ueno  <ueno@gnu.org>
18634         wctype-h: fix gettext link error on mingw
18635         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
18636         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
18637         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
18638         rpl_towupper and rpl_towupper.
18640 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
18642         regex-tests, regex: allow glibc re_search behavior
18643         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
18644         re_search input data to make the multi-character collating element
18645         in it clearly visible, and treat re_search return code 0 as valid.
18646         * m4/regex.m4 (gl_REGEX): Likewise.
18648 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18650         stdalign: doc fix
18651         * doc/posix-headers/stdalign.texi (stdalign.h):
18652         Gnulib doesn't support '_Alignof expr'.
18654 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
18656         stdalign: port to stricter ISO C11
18657         ISO C11 says that _Alignof's operand must be a parenthesized type.
18658         Problem reported by Eli Zaretskii in
18659         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
18660         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18661         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
18663 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18665         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
18666         Problem reported by Marco Atzeri in
18667         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
18668         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
18669         Simply delegate to the system <sys/select.h> in this case too.
18670         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
18671         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
18672         be needed on Solaris either.
18673         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
18674         Simply delegate to the system <sys/time.h> in this case.
18676 2013-03-19  Karl Berry  <karl@gnu.org>
18678         * build-aux/gnupload: check for erroneous (with gnupload) use of
18679         ftp-upload.gnu.org, tweak help.
18681 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18683         copy-file, rpmatch: fix problems found by cppcheck
18684         Reported by Arno Onken in
18685         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
18686         * lib/rpmatch.c (try): Fix memory leak.
18687         * lib/copy-file.c: Include "ignore-value.h".
18688         (qcopy_file_preserving): Ignore chown value.
18689         * modules/copy-file (Depends-on): Add ignore-value.
18691 2013-01-27  Jim Meyering  <jim@meyering.net>
18693         prefix-gnulib-mk: give better diagnostics
18694         * build-aux/prefix-gnulib-mk: Don't just "die".
18695         Give better diagnostics upon failure.
18697 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18699         putenv: port to Solaris 10
18700         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
18701         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
18702         is not what is wanted here.
18703         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
18704         declaration, not for its existence.
18706 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18708         mktime: fix configure typo
18709         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
18711 2013-03-12  Eric Blake  <eblake@redhat.com>
18713         regex-tests: skip UTF-8 test on mingw
18714         * modules/regex-tests (Depends-on): Add localcharset.
18715         * tests/test-regex.c (main): Use it to skip test on mingw.
18717 2013-03-11  Eric Blake  <eblake@redhat.com>
18719         tests: make it easier to bypass alarm time in debugger
18720         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
18721         * tests/test-memmem.c (main): Likewise.
18722         * tests/test-passfd.c (main): Likewise.
18723         * tests/test-ptsname.c (main): Likewise.
18724         * tests/test-ptsname_r.c (main): Likewise.
18725         * tests/test-strcasestr.c (main): Likewise.
18726         * tests/test-strstr.c (main): Likewise.
18728         regex: port to mingw's recent addition of undeclared alarm
18729         * doc/posix-functions/alarm.texi (alarm): Document that alarm
18730         exists but still doesn't work in newer mingw.
18731         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
18732         not existence.  Ensure SIGALRM is not trapped.
18733         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
18734         * m4/regex.m4 (gl_REGEX): Likewise.
18735         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
18736         * tests/test-regex.c (main): Use correct probe for alarm.
18738         putenv: avoid compilation warning on mingw
18739         * lib/putenv.c (_unsetenv): Protect variable declaration.
18740         (putenv): Fix indentation.
18742 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18744         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18745         * lib/unistd.in.h: be careful not to include un-needed system
18746         stdlib.h from here, because that prevents gnulib stdlib.h from
18747         defining rpl_strtod correctly.
18749 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18751         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18752         changesets, but for the 'precision 0' test.
18753         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18754         round-to-even, since POSIX says rounding is implementation-defined
18755         and OS X 10.8.2 rounds 1.51 to 1 here.
18757         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18758         changeset.
18759         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18760         round-to-even, since POSIX says rounding is implementation-defined
18761         and OS X 10.8.2 rounds 1.5 to 1 here.
18763 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18765         vasnprintf-posix-tests: allow rounding 1.5 to 1
18766         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18767         round-to-even, since POSIX says rounding is implementation-defined
18768         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18769         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18771         bootstrap: port to FreeBSD
18772         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18773         that treat '--' differently.  Reported by Mats Erik Andersson in
18774         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18776 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18778         regex: rename remaining __attribute calls to __attribute__.
18779         2012-02-25 changed definition of __attribute, but left some uses
18780         unchanged, preventing compilation of regex module on most non-gcc
18781         environments.
18782         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18783         (lookup_collation_sequence_value, build_range_exp)
18784         (build_collating_symbol): Set attributes with newly renamed
18785         __attribute__ decorator.
18786         * lib/regex_internal.c (re_string_peek_byte_case)
18787         (re_node_set_compare, re_node_set_contains): Likewise.
18788         * lib/regexec.c (acquire_init_state_context): Likewise.
18790 2013-03-06  Bruno Haible  <bruno@clisp.org>
18792         execute: Revert last change, but use a different condition.
18793         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18794         on Windows.
18796 2013-03-05  Eric Blake  <eblake@redhat.com>
18798         execute: drop dead code
18799         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18801 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18803         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18804         * m4/non-recursive-gnulib-prefix-hack.m4
18805         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18806         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18807         <http://bugs.gnu.org/10305#237>.
18809 2013-03-04  Eric Blake  <eblake@redhat.com>
18811         test-getsockopt: avoid compiler warning
18812         * tests/test-getsockopt.c (includes): Ensure close is declared.
18814 2013-03-02  Bruno Haible  <bruno@clisp.org>
18816         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18817         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18819 2013-03-02  Bruno Haible  <bruno@clisp.org>
18821         gettext: Update to version 0.18.2.
18822         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18823         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18824                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18826 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18828         regex: merge patches from libc
18830         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18831         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18832         All uses changed.
18833         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18834         (re_string_wchar_at, re_string_elem_size_at):
18835         Mark function as possibly unused.
18837         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18838         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18839         elements compare against the byte sequence of it, not its name.
18841 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18843         putenv: port better to native Windows
18844         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18845         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18846         (_unsetenv): Use _putenv if available.
18847         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18848         a bit less likely to cause damage.
18849         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18850         Fix the wrong value with SetEnvironmentVariable.
18851         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18852         code better.
18854 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18856         regex: ignore old-style-definition warnings
18857         * lib/regex.c: Add pragma to ignore these warnings.
18858         Problem reported for GNU tar by Pavel Raiskup.
18860 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18862         getcwd: support coreutils better
18863         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18864         but this might not be correct in coreutils, which disables
18865         the raw decl checks.  Problem reported by Nagendra in
18866         <http://bugs.gnu.org/10305#192>.
18867         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18868         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18869         Test the getcwd function, not any macro, since getcwd.c wants the
18870         function.
18871         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18872         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18873         compile, as might happen if there's a macro but no function.
18875         strtod: support coreutils better
18876         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18877         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18878         disables the raw decl checks.  This assumes there is an underlying
18879         strtod, but that's a safe assumption these days.
18880         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18882         mountlist: port to HP NonStop
18883         Reported by Joachim Schmitz in
18884         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18885         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18886         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18888 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18890         extern-inline: avoid compilation error with HP-UX cc
18891         Reported by Richard Lloyd in
18892         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18893         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18894         Suppress extern inline with HP-UX cc.  This should be safe,
18895         though it may hurt performance.  Perhaps someone with some HP-UX
18896         experience can come up with a higher-performance fix.
18898 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18900         putenv: fix heap corruption with mixed putenv/_putenv
18901         Problem reported by Michael Goffioul in
18902         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18903         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18904         Rely on _putenv to allocate the new environment.
18905         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18906         * modules/putenv (configure.ac): Use it.
18908 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18910         unsetenv etc.: port to Solaris 11 + GNU Emacs
18911         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18912         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18913         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18914         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18915         idea but is too painful to fix right now), and without this gnulib
18916         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18917         compiling unsetenv.c on Solaris 11.  Fix the problem for
18918         unsetenv.c, and fix other similar occurrences.
18920 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18922         secure_getenv: fix C++ declaration typo
18923         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18924         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18925         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18927 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18929         careadlinkat: stop exporting careadlinkatcwd
18930         Only Emacs used it directly, and Emacs no longer needs it.
18931         * NEWS: Document this simplification.
18932         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18933         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18934         for readlink.
18935         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18936         Don't include stdlib.h; no longer needed.
18937         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18938         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18939         * modules/areadlink (Depends-on): Add readlink.
18940         (Maintainer): Add self.
18941         * modules/careadlinkat (Depends-on): Remove readlink.
18943         extensions: port better to HP-UX
18944         This is merged from git Autoconf.
18945         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18946         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18947         so that it's compatible with the value used when compiling.
18949         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18950         Problem reported by Mats Erik Andersson in
18951         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18952         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18953         openpty function exists, not merely when we intend to replace it.
18954         This corrects the 2013-01-31 patch, which mistakenly defined
18955         HAVE_OPENPTY even on hosts that lacked it.
18957 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18959         secure_getenv: fix include typo
18960         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18962         secure_getenv: port better to FreeBSD and Solaris
18963         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18964         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
18965         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
18966         This works better on BSDish platforms.
18967         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
18968         Test for issetugid if __secure_getenv is missing.
18970 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18972         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
18973         Some of these changes are merged in from git Autoconf.
18974         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18975         When deciding whether to define _XOPEN_SOURCE, inspect the
18976         preprocessor macro __hpux instead of the more-heavyweight
18977         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
18978         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
18979         as the key for __EXTENSIONS__.
18981         unistd: avoid namespace pollution on non-glibc systems
18982         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
18983         This avoids namespace pollution on non-glibc systems, by causing
18984         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
18985         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
18986         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
18988 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18990         tmpdir: use secure_getenv
18991         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
18992         Define to secure_getenv, not getenv.
18993         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
18994         as that's now secure_getenv's job.
18995         * modules/tmpdir (Depends-on): Add secure_getenv.
18997         tempname: use secure_getenv
18998         * lib/tempname.c (__secure_getenv) [!_LIBC]:
18999         Define to secure_getenv, not getenv.
19000         * modules/tempname (Depends-on):
19001         Add secure_getenv.
19003         secure_getenv: new module
19004         * MODULES.html.sh (Extra functions based on ANSI C 89):
19005         Add secure_getenv.
19006         * doc/glibc-functions/secure_getenv.texi: New file.
19007         * doc/gnulib.texi: Include it.
19008         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
19009         New files.
19010         * lib/stdlib.in.h (secure_getenv): New decl.
19011         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
19012         * modules/stdlib (stdlib.h):
19013         Add secure_getenv checks.
19015 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
19017         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
19018         Reported for OS X 10.8.2 by Assaf Gordon in
19019         <http://bugs.gnu.org/13516>.
19020         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
19021         !HAVE_OPENAT && !HAVE_FDOPENDIR.
19022         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
19023         so that they can be kept in sync more easily.  Avoid PATH_MAX
19024         test on the Hurd.  Sync from test-getcwd.c for errno tests after
19025         mkdir or chdir failure.
19026         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
19027         lib/getcwd.c.
19028         (test_abort_bug): Do not test for the deep directory bug unless we
19029         have openat support.  Avoid PATH_MAX test on the Hurd.
19031         regex-tests, regex: fix bug: memset undeclared
19032         * tests/test-regex.c: Don't include regex.h twice.  Include
19033         string.h, to declare memset.  Christensen's report also mentioned
19034         this issue.
19035         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
19036         test-regex.c, to avoid future problems like this.  Remove
19037         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
19038         twice.
19040         regex-tests: fix link errors on older Solaris
19041         These need to link with @LIBINTL@ to get libintl_gettext.
19042         Problem reported by Tom G. Christensen in
19043         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
19044         * modules/regex-tests (test_regex_LDADD): New macro.
19046 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
19048         regex-tests: new module
19049         * modules/regex-tests, tests/test-regex.c: New files.
19051         regex: fix off-by-one error in configure test
19052         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
19054 2013-01-31  Eric Blake  <eblake@redhat.com>
19056         regex: avoid infinite configure test
19057         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
19059 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
19061         openpty: fix bug where HAVE_OPENPTY wasn't defined
19062         See the thread starting at:
19063         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
19064         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
19065         openpty function exists, not merely when we intend to replace it.
19067 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19069         sys_time: port to Solaris 2.6
19070         There is a circularity problem on Solaris 2.6, where <time.h> includes
19071         <sys/time.h> for struct timespec.  The include nesting is gnulib
19072         <time.h>, system <time.h>, gnulib <sys/time.h>, system
19073         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
19074         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
19075         <sys/siginfo.h>; the last, innermost file needs struct
19076         timestruc_t, which is defined in <sys/time.h>, which has not been
19077         fully parsed.  Problem reported by Tom G. Christensen in
19078         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
19079         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
19080         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
19081         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
19082         uses split double-inclusion guards.
19084 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19086         regex: test for buffer overrun
19087         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
19088         for the just-fixed regex bug.
19090 2013-01-29  Andreas Schwab  <schwab@suse.de>
19092         regex: fix buffer overrun in regexp matcher [BZ #15078]
19093         * lib/regexec.c (extend_buffers): Add parameter min_len.
19094         (check_matching): Pass minimum needed length.
19095         (clean_state_log_if_needed): Likewise.
19096         (get_subexp): Likewise.
19098 2013-01-28  Pádraig Brady  <P@draigBrady.com>
19100         mountlist: don't consider "devtmpfs" as dummy
19101         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
19102         as there is storage associcated with it.
19104 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19106         futimens-tests, utimens-tests: Depend on gettext.
19107         This works around a problem introduced in my 2013-01-12 patch,
19108         which added @LIBINTL@ to these modules.
19109         * modules/futimens-tests (Depends-on):
19110         * modules/utimens-tests (Depends-on): Add gettext.
19112 2013-01-26  Eric Blake  <eblake@redhat.com>
19114         test-getpeername: fix typo
19115         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
19117 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
19119         bootstrap: remove the need for a sorted .gitignore file
19120         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
19121         rename to insert_if_absent(), so that we don't need or generate
19122         a sorted .gitignore file.  We do require a .gitignore with no
19123         existing duplicate entries and enforce that.
19124         (sort_patterns): Remove this function as we now use the simpler
19125         technigue of inserting blacklist entries at the top of the file,
19126         assuming gnulib won't be inserting !whitelist entries.
19128 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19130         readlinkat: don't depend on gl_FUNC_OPENAT
19131         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
19132         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
19133         renameat.m4, symlinkat.m4; but one thing at a time.
19135         statat: new module, split out from fstatat
19136         GNU Emacs needs the POSIX-specified fstatat, but not the
19137         gnulib-specified statat and lstat.  Split the latter two into a
19138         new module 'statat'.
19139         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
19140         * lib/openat.h, lib/statat.c (STATAT_INLINE):
19141         Rename from FSTATAT_INLINE. All uses changed.
19142         * modules/fstatat (Files): Remove lib/statat.c.
19143         (gl_MODULE_INDICATOR([fstatat])): Remove.
19144         (lib_SOURCES): Remove.
19145         (Maintainer): Add self.
19146         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
19147         * tests/test-fstatat.c (BASE): Don't define if already defined.
19148         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
19150 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
19152         tests: don't assume fd 99 is closed
19153         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
19154         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
19155         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
19156         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
19157         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
19158         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
19159         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
19160         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
19161         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
19162         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
19163         * tests/test-fwrite.c, tests/test-getpeername.c:
19164         * tests/test-getsockname.c, tests/test-getsockopt.c:
19165         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
19166         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
19167         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
19168         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
19169         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
19170         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
19171         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
19172         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
19173         * tests/test-unlinkat.c, tests/test-unlockpt.c:
19174         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
19175         Close file descriptor 99, instead of assuming it's already closed.
19177 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19179         stpncpy: port to OS X 10.8
19180         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
19181         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
19183 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
19185         unistd: port to recent mingw
19186         * lib/unistd.in.h: Remove special invocation convention for mingw,
19187         which breaks for the latest mingw version.  See John W. Eaton in
19188         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
19190         largefile: port better to Mac OS X 10.5
19191         This patch is backported from Autoconf git.
19192         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
19193         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
19194         with ino_t size being different for configuration time versus
19195         build/run time.  Problem reported by PHO in
19196         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
19198 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19200         doc: clarify -Werror
19201         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
19202         clarify that it's intended for developers, not for ordinary builds,
19203         and mention --enable-gcc-warnings as one possible use.
19205 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
19207         stdint: fix build with Android's Bionic fox x86
19208         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
19209         was already included as _SSIZE_T_DEFINED_ might also be defined
19210         in include/machine/_types.h, which is included by stdio.h
19212 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
19214         net_if-tests: port to Solaris 7 + GCC 3.4.6
19215         Problem reported by Tom G. Christensen in
19216         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
19217         * tests/test-net_if.c (ni): Move to next the code that uses it,
19218         so that it's declared only if needed.
19220 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
19222         net_if-tests: port to older Solaris
19223         Problem reported by Tom G. Christensen in
19224         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19225         * modules/net_if-tests (NET_IF_LIB): New substitution.
19226         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
19227         (HAVE_IF_NAMEINDEX): New C macro.
19228         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
19230         system-quote-tests: port to older Solaris
19231         Problem reported by Tom G. Christensen in
19232         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19233         * tests/test-system-quote-child.c (fopen, fread): Undef.
19235         c-xvasprintf etc.: fix link errors on older Solaris
19236         These need to link with @LIBINTL@ to get libintl_gettext.
19237         Problem reported by Tom G. Christensen in
19238         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19239         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
19240         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
19241         * modules/futimens-tests (test_futimens_LDADD):
19242         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
19244 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
19246         locale: port to Solaris 2.6 and 7 + GNU gettext
19247         * lib/locale.in.h: Just include_next <locale.h> when
19248         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
19249         when combining the localename module with GNU gettext 0.18.2.
19250         Problem reported by Tom G. Christensen in
19251         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
19253 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19255         stdlib: port to Solaris 2.6
19256         Also, the code worked on Solaris 7 through 9 only by accident.
19257         Problem reported by Tom G. Christensen in
19258         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
19259         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
19260         simply include the system stdlib.h.
19261         * lib/getopt.in.h (__need_system_stdlib_h):
19262         * lib/pthread.in.h (__need_system_stdlib_h):
19263         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
19264         Define when including <stdlib.h>, to avoid problems at least for
19265         the pthread case on Solaris 2.6 and 7.  These .h files can get by
19266         with the system stdlib.h.
19268 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
19270         doc: update main copyright year
19271         * doc/gnulib.texi: Update copyright date.
19273         doc: improve ISO 8601 discussion
19274         * doc/parse-datetime.texi (Combined date and time of day items):
19275         Specify more carefully what formats are supported and what is
19276         done with excess precision.
19278 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
19280         doc: avoid small caps
19281         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
19282         they're more trouble than they're worth.  Suggested by Karl Berry
19283         in <http://bugs.gnu.org/13360>.
19285         regex: conform to strict C
19286         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
19287         From Aharon Robbins.
19289         gnulib-tool: fix incompatibility with autopoint 0.18.2
19290         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
19291         Problem reported by Tom G. Christensen in
19292         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
19294 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
19296         fprintftime: bring back and reword fwrite comment
19297         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
19299         stdio: remove now-unnecessary stdio.c
19300         Since stdio.in.h no longer uses inline functions, we no longer
19301         need to compile the extern versions.
19302         * lib/stdio.c: Remove.
19303         * modules/stdio (Files): Remove lib/stdio.c.
19304         (lib_SOURCES): Remove.
19306         unicodeio: depend on stdio, not ignore-value
19307         * lib/unicodeio.c: Do not include ignore-value.h.
19308         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
19309         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
19311         fprintftime: depend on stdio, not ignore-value
19312         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
19313         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
19314         since the stdio module arranges to silence that warning now.
19315         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
19317 2012-10-04  Simon Josefsson  <simon@josefsson.org>
19319         stdint-tests: Fix expanded-before-required-warning.
19320         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
19322 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
19324         fwrite: silence __wur only for older glibc versions
19325         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
19326         This will help us remove this workaround some time in the far future.
19328 2013-01-03  Eric Blake  <eblake@redhat.com>
19330         fwrite: silence __wur without using inline
19331         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
19332         just gcc, and in a way that avoids inline issues.
19333         * modules/stdio (Depends-on): Drop extern-inline.
19335 2013-01-03  Jim Meyering  <jim@meyering.net>
19337         update-copyright: avoid copyright notice date corruption
19338         Given a sequence of copyright year numbers in which the final
19339         one was a two-digit number that happened to be a substring of
19340         a preceding four-digit year number, we would mistakenly update
19341         the substring (from two- to four-digit) rather than the two-digit
19342         number at the end, which, combined with the addition of the current
19343         4-digit year number would yield two 5-digit year numbers, e.g.,
19344         here, it would convert the first "99" to "1999, 2013" rather than
19345         the final one:
19346           1991, 99
19347           11999, 20131, 1999
19348         * build-aux/update-copyright: Tighten a regexp.
19349         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
19350         Reported by Joseph Myers in
19351         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
19353 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19355         regex: omit needless signed-pointer casts
19356         * lib/regcomp.c (build_charclass, build_charclass_op):
19357         Use char *, not unsigned char *, for class name and extra.
19358         The char values are always nonnegative so there's no need to
19359         insist on unsigned char * here, and using char * removes the need
19360         for casts.  Reported by Aharon Robbins in
19361         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19363         regex: support Gawk, which never uses alloca
19364         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
19365         Do not include in this case.  Gawk doesn't supply a substitute
19366         alloca.h and doesn't need one.
19368         regex: port __libc_lock_define usage to C89
19369         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
19370         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
19371         does not conform to C89, as it has an empty macro argument.
19372         Reported by Aharon Robbins in
19373         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19375 2013-01-01  Eric Blake  <eblake@redhat.com>
19377         maint: update all copyright year number ranges
19378         Run "make update-copyright".
19380         version-etc: bump copyright year reported in --version
19381         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
19383 2012-12-31  Eric Blake  <eblake@redhat.com>
19385         sigprocmask-tests: skip test if pid is unexpectedly large
19386         * tests/test-sigprocmask.c (main): Add range check.
19388         git-version-gen: avoid test -z portability glitch
19389         * build-aux/git-version-gen: Prefer portable test spelling, since
19390         git-version-gen is run on more than just developer machines.
19392 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
19394         git-version-gen: add --fallback option to use if git is not present
19395         * build-aux/git-version-gen: Add support for the new option --fallback,
19396         which comes into play when there is no $tarball_version_file and
19397         git is not working.
19398         (scriptversion): Update.
19400         maint.mk: handle missing git with more grace
19401         * top/maint.mk (no-submodule-changes, public-submodule-commit):
19402         Quietly proceed if git is not present.
19404 2012-12-31  Eric Blake  <eblake@redhat.com>
19406         dup2: work around cygwin bug
19407         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
19408         * lib/dup2.c (rpl_dup2): Work around it.
19409         * doc/posix-functions/dup2.texi (dup2): Document it.
19411 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19413         regex: remove unnecessary dependency on localcharset.h
19414         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
19415         hasn't been needed for years.
19416         * modules/regex (Depends-on): Remove localcharset.
19418         regex: revert single-byte change
19419         * lib/regexec.c (check_node_accept_bytes): Revert previous change
19420         to this function.  This was alredy fixed in a different way, at
19421         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
19422         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
19423         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
19425         regex: simplify based on Gawk version
19426         * lib/regex_internal.c (re_dfa_add_node): Simplify.
19427         Reported by Aharon Robbins in
19428         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19430 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19432         regex: check that pattern char is single-byte
19433         Reported by Aharon Robbins in
19434         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19435         * lib/regexec.c (check_node_accept_bytes):
19436         Return 0 if the pattern string has a multibyte character here.
19438         regex: implement rational ranges
19439         Reported by Aharon Robbins in
19440         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19441         * lib/regcomp.c (build_range_exp) [!_LIBC]:
19442         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
19443         Implement rational ranges.
19445         regex: avoid redefining __wctype
19446         Reported by Aharon Robbins in
19447         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19448         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
19449         #undef before defining.
19451         regex: port to hosts where malloc (0) == NULL
19452         Reported by Aharon Robbins in
19453         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19454         * lib/regex_internal.c (re_node_set_alloc):
19455         Don't assume that malloc (0) yields nonnull.
19456         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
19457         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
19458         * modules/regex (Files): Add m4/eealloc.m4.
19460         regex: port to C89
19461         Reported by Aharon Robbins in
19462         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19463         * lib/regcomp.c (init_word_char): Declaration before statement.
19465         regex: merge glibc changes
19466         Also, copy the license wording from glibc.  This simplifies
19467         merging changes.  gnulib-tool will change the wording to GPL as
19468         appropriate, when importing it to other packages.  The only
19469         glibc change made since the last merge, which needs merging, is:
19470         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
19471         * lib/regex_internal.h (gettext): Remove use of INTUSE.
19473         * users.txt: Add Emacs.
19475         doc: omit mention of version when not needed
19476         * doc/gnulib-intro.texi (Portability and Application Code):
19477         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
19478         Don't mention particular dates or versions when not necessary, so
19479         that the documentation won't go out of date so quickly.
19481         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
19483 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
19485         bootstrap: pass --force to autoreconf.
19486         * build-aux/bootstrap (AUTORECONFFLAGS): New.
19487         Add "--force" so that Automake's ylwrap and other such tools
19488         be updated at each bootstrap invocation.
19489         Use it.
19491 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19493         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
19494         The earlier patch forgot to update one of the #if conditions, causing
19495         a problem on Debian testing i386 reported by Mats Erik Andersson
19496         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
19497         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
19498         (__argp_fmtstream_puts, argp_fmtstream_puts)
19499         (__argp_fmtstream_write, argp_fmtstream_write)
19500         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
19502         * doc/gnulib-readme.texi: Minor fixups.
19503         (Portability guidelines): Modernize URLs.  Remove some repetition.
19504         (Indent with spaces not TABs): Reword to avoid too-long lines.
19505         Remove some '@ifset standalone' stuff that isn't used.
19507         * doc/gnulib-readme.texi (Portability guidelines):
19508         ctype.h, not ctime.h.
19510         Correct name of POSIX.1-2001.
19511         * doc/posix-functions/fgetc.texi (fgetc):
19512         * doc/posix-functions/fgets.texi (fgets):
19513         * doc/posix-functions/fread.texi (fread):
19514         * doc/posix-functions/fscanf.texi (fscanf):
19515         * doc/posix-functions/getc.texi (getc):
19516         * doc/posix-functions/getchar.texi (getchar):
19517         * doc/posix-functions/scanf.texi (scanf):
19518         POSIX.1-2001, not POSIX-2001.
19520         doc: move README into manual
19521         * README: Move contents to new file doc/gnulib-readme.texi.
19522         Replace with a one-line summary.
19523         * doc/gnulib.texi (Brief Overview): New section,
19524         with old intro preface.  Include gnulib-readme.texi for contents.
19525         (Philosophy): Rename from "Introduction", since this
19526         section no longer introduces the rest.  Write a new preface.
19527         * doc/gnulib-readme.texi: New file, with the old contents of
19528         README texinfo-ized.  This way, the README info appears
19529         in the online and printed manual.
19531 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
19533         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
19534         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
19535         c_vasprintf() prototype.
19537 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
19539         c-vasprintf: Fix "empty declaration" warning reported by GCC.
19540         * lib/c-vasprintf.h: Remove stray semicolon.
19542 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19544         gettext: avoid obsolete macro AM_PROG_MKDIR_P
19545         It is obsolete and is planned to be removed from Automake 1.14; see
19546         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
19547         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
19548         (installdirs-data, installdirs-data-yes):
19549         Use $(MKDIR_P), not $(mkdir_p).
19550         * m4/intl.m4 (AM_INTL_SUBDIR):
19551         * m4/po.m4 (AM_PO_SUBDIRS):
19552         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
19554 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19556         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
19557         On this platform, we are not optimizing but we are using
19558         the substitute for extern inlines, so compile as if
19559         C99-style extern inline, or a substitute, is available.
19560         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
19561         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
19562         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
19563         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
19564         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
19565         Declare as ARGP_FS_EI, not as extern.
19566         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
19567         (__option_is_short, _option_is_end, __option_is_end)
19568         [!_LIBC && __USE_EXTERN_INLINES]:
19569         Declare as ARGP_EI, not as extern.
19571 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19573         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
19574         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
19575         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
19576         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
19577         ...), as the latter is fatal with older Autoconfs.
19578         Problem reported and fix suggested by Eric Blake in thread starting at
19579         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
19581 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19583         AC_PROG_MKDIR_P: don't workaround if not buggy
19584         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
19585         Define only for Autoconf versions before 2.62.
19586         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
19587         undocumented m4_PACKAGE_VERSION, for consistency with the
19588         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19589         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
19590         was introduced in 2.62.
19592 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
19594         New 'c-*printf' modules for formatted output in C locale.
19596         New module 'c-vasnprintf'.
19597         * modules/c-vasnprintf: New file.
19598         * lib/c-vasnprintf.c: New file.
19599         * lib/c-vasnprintf.h: New file.
19601         New module 'c-snprintf'.
19602         * modules/c-snprintf: New file.
19603         * modules/c-snprintf-tests: New file.
19604         * lib/c-snprintf.c: New file.
19605         * lib/c-snprintf.h: New file.
19606         * tests/test-c-snprintf.c: New file.
19607         * tests/test-c-snprintf.sh: New file.
19609         New module 'c-vsnprintf'.
19610         * modules/c-vsnprintf: New file.
19611         * modules/c-vsnprintf-tests: New file.
19612         * lib/c-vsnprintf.c: New file.
19613         * lib/c-vsnprintf.h: New file.
19614         * tests/test-c-vsnprintf.c: New file.
19615         * tests/test-c-vsnprintf.sh: New file.
19617         New module 'c-vasprintf'.
19618         * modules/c-vasprintf: New file.
19619         * modules/c-vasprintf-tests: New file.
19620         * lib/c-asprintf.c: New file.
19621         * lib/c-vasprintf.c: New file.
19622         * lib/c-vasprintf.h: New file.
19623         * tests/test-c-vasprintf.c  +: New file.
19624         * tests/test-c-vasprintf.sh: New file.
19626         New module 'c-xvasprintf'.
19627         * modules/c-xvasprintf: New file.
19628         * modules/c-xvasprintf-tests: New file.
19629         * lib/c-xasprintf.c: New file.
19630         * lib/c-xvasprintf.c: New file.
19631         * lib/c-xvasprintf.h: New file.
19632         * tests/test-c-xvasprintf.c: New file.
19633         * tests/test-c-xvasprintf.sh: New file.
19635 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19637         argp: better 'inline'
19638         Use extern-inline module to declare extern inline functions.
19639         This avoids some bogus warning diagnostics.  Problem discovered
19640         when modifying GNU tar to use the manywarnings module.
19641         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
19642         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
19643         Define based on extern-inline.
19644         * modules/argp (Depends-on): Add extern-inline.
19646 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19648         filemode, sys_stat: Handle MPX files a la AIX.
19649         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
19650         * lib/sys_stat.in.h (S_ISMPX): New macro.
19651         * tests/test-sys_stat.c: Add tests for MPX files.
19653 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19655         x-to-1: honor $PERL
19656         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
19657         a chance to use his preferred version of Perl.  This is typically
19658         required by Darwin users whose default /usr/bin/perl does not have all
19659         the libraries required by help2man, and who need to use their MacPorts
19660         installation of Perl instead.
19662 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19664         gnu-web-doc-update: add all the new files, even in new directories
19665         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
19666         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
19667         Use it.
19668         (main): Don't use cvsutils to get the list of unknown files,
19669         just add all the existing files and directories.
19671 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19673         gnu-web-doc-update: improve --help
19674         * build-aux/gnu-web-doc-update: Move comments into --help.
19676 2012-12-07  Eric Wong  <normalperson@yhbt.net>
19678         mountlist: recognize more "dummy" file systems
19679         * lib/mountlist.c (ME_DUMMY_0):
19680         Add these dummy FS names to the list:
19681         - "debugfs" virtual filesystem for kernel debugging
19682         - "devpts" PTY slave filesystem
19683         - "devtmpfs" device filesystem on top of tmpfs/ramfs
19684         - "fusectl" control filesystem for FUSE
19685         - "mqueue" enumerates POSIX message queues
19686         - "rpc_pipefs" kernel <-> userspace bridge for NFS
19687         - "sysfs" is for exporting kernel objects
19688         - "devfs" device filesystem for Linux 2.4 and FreeBSD
19690 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
19692         extern-inline: avoid incompatibility with Darwin Libc
19693         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
19694         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
19695         Problem reported by Akim Demaille in
19696         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
19698 2012-12-11  Simon Josefsson  <simon@josefsson.org>
19700         gnupload: Work with GnuPG using gpg-agent (for smartcards).
19701         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
19702         let it handle password prompting.
19704 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
19706         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
19707         * lib/canonicalize.c (canonicalize_filename_mode):
19708         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
19709         fetching the current directory.  Don't overrun the beginning of
19710         rpath if there's no slashes after the MS-Windows drive letter.
19712 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
19714         maint.mk: avoid extra forks
19715         * top/maint.mk (_cfg_mk): The GNU make manual documents that
19716         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
19717         So use that instead of "$(shell test -f FILE && echo FILE)".
19719 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
19721         vasnprintf: fix ASCII_ONLY typo
19722         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19723         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19724         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19725         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
19726         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
19728 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
19730         list, oset, xlist, xoset: fix extern inline issue with C99
19731         This was introduced by my recent changes for 'inline'.
19732         Problem reported for gettext by Daiki Ueno in
19733         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
19734         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
19735         (gl_list_nx_create, gl_list_size, gl_list_node_value)
19736         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
19737         (gl_list_previous_node, gl_list_get_at)
19738         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
19739         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19740         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19741         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19742         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19743         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19744         (gl_list_iterator_free, gl_sortedlist_search)
19745         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19746         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19747         (gl_sortedlist_remove):
19748         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19749         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19750         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19751         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19752         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19753         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19754         (gl_list_add_at, gl_sortedlist_add):
19755         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19756         Wrap these extern decls inside "#if 0", because they are implemented
19757         as inline functions, and extern inline is not what's wanted here.
19758         It would simplify these .h files to remove the extern decls entirely,
19759         although a downside would be less-clear separation between
19760         specification and implementation.
19762 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19764         sys_stat: no 'static inline'
19765         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19766         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19768         extern-inline: no 'static inline'
19769         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19770         Do not require AC_C_INLINE.
19771         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19772         'static inline', for older compilers.
19774         snippet/warn-on-use: no 'static inline'
19775         * build-aux/snippet/warn-on-use.h:
19776         Remove unnecessary 'inline' in comment.
19778         rbtree-list, rbtreehash-list: no 'static inline'
19779         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19780         * lib/gl_anytree_list2.h (node_at):
19781         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19782         (gl_oset_first, add_nodes_to_buckets):
19783         Now static, not static inline.
19785         regex: no 'static inline'
19786         * lib/regex_internal.c (calc_state_hash):
19787         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19788         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19789         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19790         Now static, not static inline.
19791         (inline) [__GNUC__ < 3 && _LIBC]:
19792         Remove macro; no longer needed.
19794         xvasprintf: no 'static inline'
19795         * lib/xvasprintf.c (xstrcat):
19796         Now static, not static inline.
19797         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19798         Do not require AC_C_INLINE.
19800         parse-datetime, parse-duration: no 'static inline'
19801         * lib/parse-datetime.y (to_uchar):
19802         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19803         (scale_n_add):
19804         Now static, not static inline.
19805         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19806         * modules/parse-duration (configure.ac):
19807         Do not require AC_C_INLINE.
19809         getaddrinfo: no 'static inline'
19810         * lib/getaddrinfo.c (validate_family):
19811         Now static, not static inline.
19812         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19813         Do not require AC_C_INLINE.
19815         ftruncate, fts, lstat, openat, raise: no 'static inline'
19816         * lib/ftruncate.c (chsize_nothrow):
19817         * lib/fts.c (opendirat, diropen):
19818         * lib/lstat.c (orig_lstat):
19819         * lib/openat.c (orig_openat):
19820         * lib/raise.c (raise_nothrow):
19821         Now static, not static inline.
19822         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19823         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19824         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19825         * m4/openat.m4 (gl_PREREQ_OPENAT):
19826         * m4/raise.m4 (gl_PREREQ_RAISE):
19827         Do not require AC_C_INLINE.
19829         fflush, stat: no 'static inline'
19830         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19831         (clear_ungetc_buffer, disable_seek_optimization)
19832         (restore_seek_optimization, update_fpos_cache):
19833         * lib/stat.c (orig_stat):
19834         Now static, not static inline.
19835         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19836         (update_fpos_cache):
19837         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19838         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19839         * m4/stat.m4 (gl_PREREQ_STAT):
19840         Do not require AC_C_INLINE.
19842         error, filevercmp: no 'static inline'
19843         * lib/error.c (is_open, flush_stdout):
19844         * lib/filevercmp.c (order):
19845         Now static, not static inline.
19846         * m4/error.m4 (gl_PREREQ_ERROR):
19847         * modules/filevercmp (configure.ac):
19848         Do not require AC_C_INLINE.
19850         dup, execute, fatal-signal, etc.: no 'static inline'
19851         * lib/dup.c (dup_nothrow):
19852         * lib/execute.c (nonintr_close, nonintr_open):
19853         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19854         * lib/fopen.c (orig_fopen):
19855         * lib/freadseek.c (freadptrinc):
19856         * lib/freopen.c (orig_freopen):
19857         * lib/fstat.c (orig_fstat, fstat_nothrow):
19858         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19859         (get_rusage_as_via_iterator):
19860         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19861         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19862         * lib/isatty.c (_isatty_nothrow):
19863         * lib/open.c (orig_open):
19864         * lib/read.c (read_nothrow):
19865         * lib/sigprocmask.c (signal_nothrow):
19866         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19867         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19868         * lib/wait-process.c (unregister_slave_subprocess):
19869         * lib/write.c (write_nothrow):
19870         Now static, not static inline.
19871         * lib/spawn-pipe.c (nonintr_open): Define only if
19872         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19873         * m4/dup.m4 (gl_PREREQ_DUP):
19874         * m4/execute.m4 (gl_EXECUTE):
19875         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19876         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19877         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19878         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19879         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19880         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19881         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19882         * m4/open.m4 (gl_PREREQ_OPEN):
19883         * m4/read.m4 (gl_PREREQ_READ):
19884         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19885         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19887         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19888         * m4/write.m4 (gl_PREREQ_WRITE):
19889         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19890         Do not require AC_C_INLINE.
19892         c-strtod, memcoll, readutmp: no 'static inline'
19893         * lib/c-strtod.c (c_locale):
19894         * lib/memcoll.c (strcoll_loop):
19895         * lib/readutmp.c (desirable_utmp_entry):
19896         Now static, not static inline.
19897         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19898         * m4/memcoll.m4 (gl_MEMCOLL):
19899         * m4/readutmp.m4 (gl_READUTMP):
19900         Do not require AC_C_INLINE.
19902         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19903         * lib/arctwo.c (to_uchar):
19904         * lib/md4.c (set_uint32):
19905         * lib/md5.c (set_uint32):
19906         * lib/sha1.c (set_uint32):
19907         * lib/sha256.c (set_uint32):
19908         * lib/sha512.c (set_uint64):
19909         Now static, not static inline.  This is a bit simpler, and doesn't
19910         affect performance with GCC and default optimization.
19911         * m4/arctwo.m4 (gl_ARCTWO):
19912         * m4/md4.m4 (gl_MD4):
19913         * m4/md5.m4 (gl_MD5):
19914         * m4/sha1.m4 (gl_SHA1):
19915         * m4/sha256.m4 (gl_SHA256):
19916         * m4/sha512.m4 (gl_SHA512):
19917         Do not require AC_C_INLINE.
19919         cond, lock, thread: better 'inline'
19920         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19921         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19922         New macros.  Use them instead of static inline, for header functions.
19923         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19924         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19925         * lib/glthread/lock.c (gl_waitqueue_init)
19926         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19927         * lib/glthread/thread.c (get_current_thread_handle):
19928         Change 'static inline' to 'inline'.
19929         * lib/glthread/cond.h, lib/glthread/thread.h:
19930         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19931         * m4/cond.m4 (gl_COND):
19932         * m4/lock.m4 (gl_PREREQ_LOCK):
19933         * m4/thread.m4 (gl_THREAD):
19934         Do not require AC_C_INLINE.
19935         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19937         chdir-long, cycle-check, savewd: better 'inline'
19938         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19939         (find_non_slash):
19940         * lib/cycle-check.c (is_zero_or_power_of_two):
19941         * lib/savewd.c (savewd_delegating):
19942         Change 'static inline' to 'inline'.
19943         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19944         Replace all remaining uses of 'static inline' with it.
19945         * lib/savewd.h:
19946         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19947         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19948         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19949         * m4/savewd.m4 (gl_SAVEWD):
19950         Do not require AC_C_INLINE.
19951         * modules/savewd (Depends-on): Add extern-inline.
19953         base32, base64: no need for 'inline'
19954         * lib/base32.c (to_uchar, get_8, decode_8):
19955         * lib/base64.c (to_uchar, get_4, decode_4):
19956         Change 'static inline' to 'inline'.
19957         * m4/base32.m4 (gl_PREREQ_BASE32):
19958         * m4/base64.m4 (gl_PREREQ_BASE64):
19959         Do not require AC_C_INLINE.
19961         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19962         * lib/gl_array_oset.c (gl_array_nx_add_at):
19963         (gl_array_remove_at):
19964         * lib/gl_linkedhash_list.c (hash_resize_after_add)
19965         (add_to_bucket, remove_from_bucket):
19966         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
19967         Change 'static inline' to 'static', as it's simpler to omit
19968         'inline' unless there's a significant performance advantage.
19970         list, oset, xlist, xoset, xsublist: simplify via extern inline
19971         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
19972         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
19973         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
19974         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
19975         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
19976         New macro.  Replace all uses of 'static inline' with it.
19977         [HAVE_INLINE]: Implement functions as *_INLINE functions,
19978         instead of as macros FOO that are defined to static inline
19979         functions FOO_inline.
19980         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
19981         * lib/gl_xsublist.c:
19982         Reimplement from scratch, by defining the corresponding *_INLINE
19983         macro and including the corresponding .h file.  This is simpler.
19984         * modules/list, modules/oset, modules/xlist, modules/xoset:
19985         (Files): Remove m4/gl_list.m4.
19986         (configure.ac): Remove gl_LIST.
19987         * m4/gl_list.m4: Remove.
19988         * modules/list, modules/oset, modules/xlist, modules/xoset:
19989         * modules/xsublist:
19990         (Depends-on): Depend on extern-inline, not inline.
19992         xalloc: better 'inline'
19993         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
19994         New macro.  Replace all uses of 'static inline' with it.
19995         (static_inline): Remove.
19996         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
19997         Let 'extern inline' do the work automatically, instead of doing
19998         it by hand.
19999         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
20000         Remove.  All uses removed.
20001         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
20003         gethrxtime: better 'inline'
20004         * lib/xtime.c: New file.
20005         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
20006         * lib/xtime.h (XTIME_INCLUDE):
20007         New macros.  Replace all uses of 'static inline' with them.
20008         * lib/gethrxtime.c (gethrxtime): Define only if
20009         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
20010         this source file is now always compiled, because of the extern inline.
20011         * lib/gethrxtime.h, lib/xtime.h:
20012         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20013         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
20014         if gethrtime works, as they're not needed in that case.
20015         (gl_XTIME): Do not require AC_C_INLINE.
20016         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
20017         compiled now.  Move the check into gl_GETHRXTIME.
20018         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
20019         (Depends-on): Add extern-inline.
20020         (configure.ac): gethrxtime is always compiled now.
20021         (lib_SOURCES): Add gethrxtime.c.
20023         wctype-h: better 'inline'
20024         * lib/wctype-h.c: New file.
20025         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
20026         New macro.  Replace all uses of 'static inline' with it.
20027         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20028         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
20029         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
20030         (Depends-on): Add extern-inline.
20032         unistd: better 'inline'
20033         * lib/unistd.c: New file.
20034         * lib/unistd.in.h (_GL_UNISTD_INLINE):
20035         New macro.  Replace all uses of 'static inline' with it.
20036         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20037         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
20038         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
20039         (Depends-on): Add extern-inline.
20041         sys_socket: better 'inline'
20042         * lib/sys_socket.c: New file.
20043         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
20044         New macro.  Replace all uses of 'static inline' with it.
20045         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20046         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
20047         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
20048         (Depends-on): Add extern-inline.
20050         stdio: better 'inline'
20051         * lib/stdio.c: New file.
20052         * lib/stdio.in.h (_GL_STDIO_INLINE):
20053         New macro.  Replace all uses of 'static inline' with it.
20054         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20055         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
20056         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
20057         (Depends-on): Add extern-inline.
20059         sigaction: better 'inline'
20060         * lib/sig-handler.c: New file.
20061         * lib/sig-handler.h (SIG_HANDLER_INLINE):
20062         New macro.  Replace all uses of 'static inline' with it.
20063         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20064         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
20065         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
20066         (Depends-on): Add extern-inline.
20068         selinux-h: better 'inline'
20069         * lib/se-context.c, lib/se-selinux.c: New files.
20070         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
20071         * lib/se-context.in.h (SE_CONTEXT_INLINE):
20072         New macro.  Replace all uses of 'static inline' with it.
20073         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20074         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
20075         New macro.  Replace all uses of 'static inline' with it.
20076         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20077         * modules/selinux-h (Files, lib_SOURCES):
20078         Add lib/se-context.c, lib/se-selinux.c.
20079         (Depends-on): Add extern-inline.
20080         (configure.ac): Do not require AC_C_INLINE.
20082         pthread: better 'inline'
20083         * lib/pthread.c: New file.
20084         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
20085         New macro.  Replace all uses of 'static inline' with it.
20086         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20087         * m4/pthread.m4 (gl_PTHREAD_CHECK):
20088         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
20089         * modules/pthread (Files): Add lib/pthread.c.
20090         (Depends-on): Add extern-inline.
20092         math: better 'inline'
20093         * lib/math.c: New file.
20094         * lib/math.in.h (_GL_MATH_INLINE):
20095         New macro.  Replace all uses of 'static inline' with it.
20096         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20097         * m4/math_h.m4 (gl_MATH_H):
20098         Do not require AC_C_INLINE.
20099         * modules/math (Files, lib_SOURCES):
20100         Add lib/math.c.
20101         (Depends-on): Add extern-inline.
20103         count-one-bits: better 'inline'
20104         * lib/count-one-bits.c: New file.
20105         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
20106         New macro.  Replace all uses of 'static inline' with it.
20107         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20108         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
20109         Do not require AC_C_INLINE.
20110         * modules/count-one-bits (Files, lib_SOURCES):
20111         Add lib/count-one-bits.c.
20112         (Depends-on): Add extern-inline.
20114         count-leading-zeros: better 'inline'
20115         * lib/count-leading-zeros.c: New file.
20116         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
20117         New macro.  Replace all uses of 'static inline' with it.
20118         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20119         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
20120         Do not require AC_C_INLINE.
20121         * modules/count-leading-zeros (Files, lib_SOURCES):
20122         Add lib/count-leading-zeros.c.
20123         (Depends-on): Add extern-inline.
20125         bitrotate: better 'inline'
20126         * lib/bitrotate.c: New file.
20127         * lib/bitrotate.h (BITROTATE_INLINE):
20128         New macros.
20129         Replace all uses of 'static inline' with them.
20130         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20131         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
20132         (Depends-on): Add extern-inline.
20133         (configure.ac): Do not require AC_C_INLINE.
20135 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
20137         maint.mk: avoid gratuitous failure
20138         Reported by Stefano Lattarini in
20139         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
20140         * top/maint.mk (public-submodule-commit): Quote more safely.
20142 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
20144         canonicalize, canonicalize-lgpl: support MS-Windows file names
20145         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
20146         for test cases, which it'd be nice to add at some point.
20147         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
20148         * lib/canonicalize.c (canonicalize_filename_mode):
20149         * lib/canonicalize-lgpl.c (__realpath):
20150         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
20151         slash is at the beginning of the file name.  Use ISSLASH, instead
20152         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
20153         the first character with '/'.  Test for
20154         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
20155         with a drive letter.
20156         * lib/canonicalize.c (SLASHES): New macro.
20157         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
20159 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
20161         fts: introduce FTS_VERBATIM
20162         * lib/fts_.h (FTS_VERBATIM): New bit flag.
20163         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
20164         * lib/fts.c (fts_open): Honor it.
20166 2012-11-09  Pádraig Brady  <P@draigBrady.com>
20168         getlogin-tests: allow errno == ENXIO
20169         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20170         with errno == ENXIO (No controlling tty).
20171         getlogin_r-tests: Likewise. Also allow errno == ENOENT
20172         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
20173         with errno == ENOENT.  This was reported to happen in various
20174         situations on GNU/Linux.
20176 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
20178         getlogin-tests: allow errno == ENOENT
20179         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20180         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
20181         when running a test in an Emacs shell buffer.
20183 2012-11-08  Jim Meyering  <jim@meyering.net>
20185         tests/nap.h: avoid warning about unused variable
20186         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
20188         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
20189         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
20190         white space before each of the special-cased file names, to avoid
20191         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
20192         in http://bugs.gnu.org/12830.
20194 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
20196         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
20197         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
20198         fails with errno == EBADF when fd is opened with O_PATH.
20199         Reported by Jim Meyering in
20200         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
20201         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20202         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
20204 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20206         test-utimens: speed up by taking shorter naps
20207         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
20208         New functions.
20209         (nap): Use them, to do a better job of guessing the delay.
20210         On Fedora 17 with ext4 atop md atop hard disks, this made
20211         test-utimens run 10x faster, because the test napped for
20212         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
20213         <http://bugs.gnu.org/12820#11>.
20215 2012-11-07  Jim Meyering  <jim@meyering.net>
20217         mountlist.c: fix a compilation failure
20218         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
20219         I introduced while transforming commit v0.0-7683-g613bcb6
20221 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20223         errno: port to LynxOS 178 2.2.2
20224         Problem reported by Joel Brobecker in
20225         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
20226         * doc/posix-headers/errno.texi (errno.h): Document this.
20227         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
20228         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
20229         Supply a string for EILSEQ.
20230         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
20232 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20234         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
20235         Linux kernel 2.6.39 introduced O_PATH (see
20236         <http://lwn.net/Articles/433854/>) and this is a better fallback
20237         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
20238         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20239         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
20240         * lib/fcntl.in.h (O_ACCMODE):
20241         * tests/test-fcntl-h.c (main):
20242         Do not reject O_ACCMODE merely because it has more than the
20243         minimal number of bits, as POSIX allows extensions here.
20245 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
20247         mountlist: do not classify a bind-mounted dir entry as "dummy"
20248         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
20249         the "none"-testing clause.
20250         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
20251         exception for bind-mounted directories.
20253 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
20255         quote: provide a means to escape strings with nul characters
20256         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
20257         (quote, quote_n): Rename formal arguments for consistency with
20258         quotearg.
20260 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20262         test-raise: don't assume 199 is an invalid signal
20263         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
20265         sh-quote-tests: port to Solaris 9
20266         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
20267         Problem reported by Dagobert Michelsen in
20268         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
20270 2012-10-28  Jim Meyering  <jim@meyering.net>
20272         maint.mk: rename a new configurable variable
20273         * top/maint.mk (_gl_translatable_string_re): Rename from
20274         translation-markers: _gl_ prefix to insulate from user Makefile code,
20275         and the _re suffix to inform that it's a regular expression.
20277 2012-10-26  Eric Blake  <eblake@redhat.com>
20279         maint.mk: let packages tweak sc_po_check pattern
20280         * top/maint.mk (sc_po_check): Add translation-markers, to allow
20281         finding files with other translation markers.
20283 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20285         euidaccess: speed up 'configure' on GNU hosts
20286         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
20287         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
20288         it's needed only in this case.  Use AC_CHECK_DECLS, not
20289         AC_CHECK_DECLS_ONCE.
20290         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
20291         or AC_REQUIRE for AC_FUNC_GETGROUPS.
20293         * lib/regexec.c (re_search_internal): Fix grammar in comment.
20295 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20297         fchmodat, fchownat, fstatat: port to non-inlining compilers
20298         Problem reported for FreeBSD 9 by Jim Meyering in
20299         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
20300         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
20301         New files, which define FCHMODAT_INLINE etc.
20302         * lib/fchmodat.c (FCHMODAT_INLINE):
20303         * lib/fchownat.c (FCHOWNAT_INLINE):
20304         * lib/fstatat.c (FSTATAT_INLINE):
20305         Remove, as chmodat.c etc. now do this.
20306         * modules/fchmodat (Files): Add lib/chmodat.c.
20307         * modules/fchownat (Files): Add lib/chownat.c.
20308         * modules/fstatat (Files): Add lib/statat.c.
20310 2012-10-15  Jim Meyering  <jim@meyering.net>
20312         fchmodat.c, fchownat.c: compile-impeding typos
20313         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
20314         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
20315         Introduced in commit v0.0-7636-gd202279.
20317 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20319         fcntl-h: support GNU flags like O_IGNORE_CTTY
20320         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
20321         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
20322         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
20323         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
20324         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
20325         Define to 0 if not already defined.
20326         * tests/test-fcntl-h.c: Test these new flags.
20328 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
20330         faccessat, etc.: support AT_FDCWD-only use
20331         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
20332         this function only if its first argument is AT_FDCWD.
20333         Emacs wants faccessat for AT_EACCESS but not for any first-arg
20334         values other than AT_FDCWD, so it doesn't want all the openat
20335         machinery with fchdir etc.
20336         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
20337         * modules/fstatat, modules/mkdirat, modules/openat (Files):
20338         * modules/unlinkat (Files):
20339         Remove lib/openat-priv.h, as at-internal supplies this file.
20340         Removing this file here allows us to support programs like Emacs
20341         that avoid at-internal.
20343         faccessat: speed up 'configure' on mainstream hosts
20344         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
20345         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
20346         since it's only on unusual platforms that we need to check for
20347         'access', and it's better not to slow 'configure' down on all
20348         platforms.
20350         faccessat: port to Solaris 10
20351         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
20352         Needed on Solaris 10, which doesn't have AT_EACCESS,
20353         so we need the Gnulib fcntl.h, which defines it.
20355 2012-10-14  Pádraig Brady  <P@draigBrady.com>
20356         canonicalize: fix C89 compilation
20357         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
20358         declarations so C89 is supported.  Also remove the comment
20359         referencing memorty allocation as the suggested feature could
20360         not be implemented as suggested.
20361         Reported by Michael Goffioul.
20363 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
20365         group-member: omit unnecessary dependencies
20366         This is for Emacs, which has its own allocator and where we
20367         don't want to use xalloc.
20368         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
20369         since we no longer use xmalloc.  Do not include stdbool.h, since
20370         the changes below happen to remove the only use of bool.
20371         (GROUPBUF_SIZE): New constant.
20372         (struct group_info): Remove n_groups member.  Add groupbuf member.
20373         This lets us get the groups without using malloc, usually.
20374         (free_group_info, get_group_info): Adjust to this.
20375         (get_group_info): Return the number of groups found, or -1 on error.
20376         Use plain malloc not xmalloc, and treat its failure as if there
20377         are no groups, as the user already loses in case of error.
20378         (group_member): Simplify, based on changes to get_group_info.
20379         * modules/group-member (Depends-on): Remove dependencies on
20380         xalloc and stdbool.  Add dependency on xalloc-oversized.
20382 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
20384         gethrxtime: port to C++
20385         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
20387 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
20389         ptsname: fix macro-name typo
20390         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
20392 2012-10-03  Simon Josefsson  <simon@josefsson.org>
20394         inttostr: Relax license.
20395         * modules/inttostr (License): Change from LGPL to LGPLv2+.
20397 2012-10-03  Eric Blake  <eblake@redhat.com>
20399         ptsname_r: support ptys returned by FreeBSD posix_openpt
20400         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
20401         lives in /dev/pts/.
20403 2012-10-02  Eric Blake  <eblake@redhat.com>
20405         pselect: reject invalid file descriptors
20406         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
20407         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
20408         * modules/pselect (Depends-on): Add dup2.
20409         * doc/posix-functions/pselect.texi (pselect): Document this.
20411         select: reject invalid file descriptors
20412         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
20413         * lib/select.c (rpl_select) [!win32]: Work around it.
20414         * modules/select (Depends-on): Add dup2.
20415         * doc/posix-functions/select.texi (select): Document this.
20417         select: enhance test
20418         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
20419         New functions.
20420         (test_function): Enhance test.
20421         (do_select_bad_fd): Avoid any stale errno values.
20423         ptsname: reject invalid file descriptors
20424         http://www.austingroupbugs.net/view.php?id=503
20425         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
20426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
20427         * modules/stdlib (Makefile.am): Replace witness.
20428         * lib/stdlib.in.h (ptsname): Allow for replacement.
20429         * modules/ptsname (configure.ac): Trigger replacement.
20430         * doc/posix-functions/ptsname.texi (ptsname): Document this.
20432 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
20434         hash-pjw-bare: new module
20435         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
20436         * lib/hash-pjw-bare.h: Likewise.
20437         * modules/hash-pjw-bare: New file.
20438         * MODULES.html.sh (Misc): Add it.
20440 2012-10-02  Eric Blake  <eblake@redhat.com>
20442         manywarnings: cater to more gcc infelicities
20443         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
20444         -Wuninitialized without -O.
20446 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
20448         select, poll tests: Make setsockopt invocation effective.
20449         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
20450         the bind() call.
20451         * tests/test-select.h (open_server_socket): Likewise.
20453 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
20455         sockets, sys_stat: restore AC_C_INLINE
20456         This undoes the 2012-09-22 patch.
20457         * m4/sockets.m4 (gl_SOCKETS):
20458         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20459         Restore AC_C_INLINE, since MSVC requires __inline or _inline
20460         and does not support plain 'inline'.  Reported by Bruno Haible in
20461         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
20463 2012-09-30  Bruno Haible  <bruno@clisp.org>
20465         localeconv tests: Avoid test failure on OpenIndiana.
20466         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
20467         skip the 'grouping' and 'mon_grouping' tests.
20468         Reported by Jim Meyering.
20470 2012-09-30  Bruno Haible  <bruno@clisp.org>
20472         havelib: Follow libtool developments.
20473         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
20474         Suggested by Simon Josefsson.
20476 2012-09-29  Jim Meyering  <meyering@redhat.com>
20478         fstatat.c: fix a compile-impeding typo
20479         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
20480         Introduced in commit v0.0-7636-gd202279.
20481         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
20483 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
20485         extern-inline: provide a -Wundef safe config.h
20486         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
20487         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
20488         to produce a -Wundef warning free config.h.
20490 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20492         hash-pjw: relax license to LGPLv2+
20493         * modules/hash-pjw (License): Relax, with consent of author.
20495 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20497         maint.mk: fix strict vs. lazy variable issues with RELEASE
20498         * top/maint.mk (_equal): New function.
20499         (member_check): Strip the result to avoid spurious spaces.
20500         (url_dir_list): Do not use ifeq, which is strict, as it will
20501         require RELEASE_TYPE to be defined.
20502         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
20503         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
20504         (announcement_Cc_alpha,announcement_mail_headers_alpha)
20505         (announcement_Cc_beta,announcement_mail_headers_beta)
20506         (announcement_Cc_stable,announcement_mail_headers_stable): these.
20507         (release): Do not depend on $(release-type), as it forces its
20508         evaluation.  Bounce to it.
20510 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20512         maint.mk: formatting changes
20513         * top/maint.mk: Indent bodies of if's.
20515 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
20517         maint.mk: factor the validation of RELEASE_TYPE
20518         With help from Jim Meyering.
20519         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
20520         * top/maint.mk (_empty, _sp): Move their definition earlier.
20521         (member-check, release-type): New.
20522         Use the latter instead of $(RELEASE_TYPE).
20523         Remove now useless local checks.
20525 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20527         maint.mk: provide "make upload" to ease uploading
20528         See
20529         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
20530         Do not depend simply on the current $(VERSION), as there may have been
20531         new commits since the tarball generation.  Rather, rely on $(RELEASE),
20532         as "make release-commit" already does.
20534         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
20535         "make TYPE".
20537         * top/maint.mk (upload_command, upload, release): New.
20538         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
20539         (VERSION): first word of $(RELEASE) is always right.
20540         (emit_upload_commands): Adjust.
20541         * top/README-release: Update.
20543 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20545         maint.mk: silent rules
20546         With help from Stefano Lattarini.
20547         * top/maint.mk (writable-files): Use $(AM_V_GEN).
20548         (announcement): Use $(AM_V_at).
20550 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20552         localename: port gl_locale_name_thread_unsafe to FreeBSD
20553         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
20554         and use the simpler FreeBSD implementation on Mac OS X as well.
20555         Original idea suggested by Ed Maste in
20556         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
20558 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20560         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
20561         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
20562         * lib/mbuiter.c, lib/xsize.c: New files.
20563         * lib/binary-io.h (BINARY_IO_INLINE):
20564         * lib/eealloc.h (EEALLOC_INLINE):
20565         * lib/mbfile.h (MBFILE_INLINE):
20566         * lib/mbiter.h (MBITER_INLINE):
20567         * lib/mbuiter.h (MBUITER_INLINE):
20568         * lib/xsize.h (XSIZE_INLINE):
20569         New macros.
20570         Replace all uses of 'static inline' with them.
20571         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20572         * m4/eealloc.m4 (gl_EEALLOC):
20573         * m4/mbfile.m4 (gl_MBFILE):
20574         * m4/mbiter.m4 (gl_MBITER):
20575         * m4/xsize.m4 (gl_XSIZE):
20576         Do not require AC_C_INLINE.
20577         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
20578         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
20579         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
20580         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
20581         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
20582         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
20583         * modules/binary-io, modules/eealloc, modules/mbfile:
20584         * modules/mbiter, modules/mbuiter:
20585         (Depends-on): Add extern-inline.
20587         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
20588         * lib/pipe-filter-aux.c: New file.
20589         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
20590         Replace all uses of 'static inline' with it.
20591         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20592         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
20593         (filter_retcode): No real need for inline here.
20594         * modules/pipe-filter-gi, modules/pipe-filter-ii:
20595         (Files): Add lib/pipe-filter-aux.c.
20596         (Depends-on): Add extern-inline.
20597         (configure.ac): Do not require AC_C_INLINE.
20598         (lib_SOURCES): Add pipe-filter-aux.c.
20600         fdutimensat: omit unnecessary AC_C_INLINE
20601         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
20603         fchmodat, fchownat, fstatat: use extern-inline
20604         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
20605         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
20606         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
20607         New macros.
20608         * lib/openat.h:
20609         Replace all uses of 'static inline' with them.
20610         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20611         * modules/fchmodat, modules/fchownat, modules/fstatat:
20612         * modules/openat-h:
20613         (Depends-on):
20614         Add extern-inline.
20615         (configure.ac): Remove AC_C_INLINE.
20617         acl, mbchar, priv-set: use extern-inline
20618         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
20619         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
20620         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
20621         New macros.
20622         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
20623         Replace all uses of 'static inline' with it.
20624         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20625         * m4/acl.m4 (gl_FUNC_ACL):
20626         * m4/mbchar.m4 (gl_MBCHAR):
20627         * m4/priv-set.m4 (gl_PRIV_SET):
20628         Remove AC_C_INLINE, since 'inline' is no longer used directly.
20629         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
20630         Add extern-inline.
20632         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
20633         * m4/sockets.m4 (gl_SOCKETS):
20634         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20635         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
20636         environments where it's already guaranteed to work, so we needn't
20637         check for it at 'configure'-time.
20639         tls-tests: omit unnecessary 'inline'
20640         * tests/test-tls.c (perhaps_yield): No longer inline.
20641         Simplicity and portability trump efficiency in test cases.
20643         utimens-tests: avoid unnecessary 'inline'
20644         * modules/fdutimensat-tests (configure.ac):
20645         * modules/futimens-tests (configure.ac):
20646         * modules/utimens-tests (configure.ac):
20647         * modules/utimensat-tests (configure.ac):
20648         Remove AC_C_INLINE.
20649         * tests/test-utimens-common.h (ctime_compare):
20650         No longer inline.  Simplicity and portability trump efficiency here.
20652         misc: don't limit commentary to inline functions
20653         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
20654         * lib/xalloc-oversized.h, lib/xsize.h:
20655         Contrast macros to functions in general, not just to inline functions,
20656         when the commentary does not apply only to inline functions.
20658 2012-09-20  Jim Meyering  <meyering@redhat.com>
20660         non-recursive-gnulib-prefix-hack: new module
20661         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
20662         the file that originated in Bison.
20663         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
20664         largely copied from a snippet that resided in bison's configure.ac.
20665         * modules/non-recursive-gnulib-prefix-hack: New file.
20666         * MODULES.html.sh (Support for maintaining and releasing projects):
20667         Add it.
20669 2012-09-18  Jim Meyering  <meyering@redhat.com>
20671         maint.mk: generalize _gl_tight_scope for non-recursive make
20672         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
20673         that *.h would describe additional .h files in the directory
20674         specified by $(_gl_TS_dir).  I.e., add this...
20675         (_gl_TS_other_headers): New variable.
20677         maint.mk: exempt trailing blanks found in "binary" files
20678         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
20679         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
20680         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20682 2012-09-17  Jim Meyering  <meyering@redhat.com>
20684         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
20685         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
20686         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
20687         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20689 2012-09-17  Jim Meyering  <meyering@redhat.com>
20691         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
20692         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
20693         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
20694         It is not in the same category as "exit (0)" or "exit (1)", and
20695         besides, I know of no symbolic name for that 77.  Reported by
20696         Richard W.M. Jones in
20697         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20699 2012-09-17  Jim Meyering  <meyering@redhat.com>
20701         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
20702         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
20703         all uses of #define, not just those that start in column 1.
20704         Richard W.M. Jones reported a false positive in
20705         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20707 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20709         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
20710         * lib/localcharset.c (locale_charset) [DARWIN7]:
20711         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
20712         as these two values are incompatible.  Problem reported by Max Horn.
20713         For more discussion, please see
20714         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
20716         doc: document sticky-EOF issue
20717         * doc/posix-functions/fgetc.texi (fgetc):
20718         * doc/posix-functions/fgets.texi (fgets):
20719         * doc/posix-functions/fread.texi (fread):
20720         * doc/posix-functions/fscanf.texi (fscanf):
20721         * doc/posix-functions/getc.texi (getc):
20722         * doc/posix-functions/getchar.texi (getchar):
20723         * doc/posix-functions/scanf.texi (scanf):
20724         Mention that glibc and default Solaris do not conform to
20725         C99 and POSIX-2001 or later, with respect to how getchar
20726         etc. behave when feof reports nonzero.
20728 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20730         poll: fix poll(0, NULL, msec)
20731         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
20732         but nfd is 0.  In that case poll should behave like select.
20734 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20735             Paolo Bonzini  <bonzini@gnu.org>
20737         poll: fix for systems that can't recv() on a non-socket
20738         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
20739         is readable.  In this case POLLHUP will not be supported.
20740         * doc/posix-functions/poll.texi: Document this.
20742 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20744         poll/select: document portability problems not fixed by Gnulib.
20745         * doc/posix-functions/poll.texi: poll does not work well on
20746         pipes under Windows.  It has the same limitations as select on
20747         BeOS.
20748         * doc/posix-functions/select.texi: select does not work well
20749         on pipes under Windows.
20751 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20753         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20754         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20755         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20756         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20758 2012-09-06  Eric Blake  <eblake@redhat.com>
20760         net_if: give more details about the bug being fixed
20761         * doc/posix-headers/net_if.texi: Add clarification.
20763 2012-09-05  Eric Blake  <eblake@redhat.com>
20765         net_if: new module
20766         * modules/net_if: New module, borrowing ideas from netinet_in.
20767         * m4/net_if_h.m4: New file.
20768         * lib/net_if.in.h: Likewise.
20769         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20770         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20771         * tests/test-net_if.c: Make function checks conditional.
20772         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20774 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20776         readutmp: fix non-portable UT_PID use
20777         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20778         Use `UT_PID (u) > 0' as absolute condition.
20780 2012-09-04  Jim Meyering  <meyering@redhat.com>
20782         fts: reduce two or more trailing spaces to just one, usually
20783         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20784         or more slashes, trim all but the final one.  But if a name consists
20785         solely of two slashes, don't modify it.  If it consists solely of
20786         three or more slashes, strip all but one.
20788         This is part of the solution to a minor problem with rm:
20789         it would print a bogus ELOOP diagnostic when failing to remove
20790         the slash-decorated name of a symlink-to-directory:
20792             $ mkdir d && ln -s d s && env rm -r s/
20793             rm: cannot remove 's': Too many levels of symbolic links
20795         With the change below and a trivial don't-trim-trailing-slashes
20796         adjustment to remove.c, it does this:
20798             $ env rm -r s/
20799             rm: cannot remove 's/': Not a directory
20801         Improved by: Eric Blake
20803         fts: when there is no risk of overlap, use memcpy, not memmove
20804         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20806 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20808         stdbool: be more compatible with mixed C/C++ compiles
20809         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20810         Define to bool, true, false, respectively, as GCC's builtin
20811         stdbool.h does.  Problem reported by Michael Goffioul in
20812         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20814 2012-08-28  Jim Meyering  <meyering@redhat.com>
20816         revert last change: it was not needed
20817         * tests/test-vc-list-files-git.sh: There's already a test for
20818         a working git, just below.
20820 2012-08-28  Jim Meyering  <meyering@redhat.com>
20822         tests: test-vc-list-files-git.sh: skip if git is not available
20823         * tests/test-vc-list-files-git.sh: Skip this test when git is
20824         not available.
20826 2012-08-26  Bruno Haible  <bruno@clisp.org>
20828         gnulib-tool: Remove no-op option --no-changelog.
20829         * gnulib-tool (func_usage): Don't mention --no-changelog.
20830         (do_changelog): Remove variable.
20831         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20833 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20835         doc: remove fdl-1.2.texi
20836         It is no longer used or maintained, and its use of @acronym
20837         is problematic.  See the thread containing
20838         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20839         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20840         * doc/old-licenses/fdl-1.2.texi: Remove.
20842         execinfo: port to FreeBSD
20843         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20844         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20845         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20846         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20848 2012-08-23  Jim Meyering  <meyering@redhat.com>
20850         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20851         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20852         to placate gcc's -Wold-style-declaration.
20854 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20856         doc: do not use @acronym
20857         * doc/inet_ntoa.texi (inet_ntoa):
20858         * doc/parse-datetime.texi (Seconds since the Epoch)
20859         (Specifying time zone rules):
20860         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20861         Don't use @acronym.  Problem reported by John Darlington in
20862         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20864 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20866         stdnoreturn: port to newer GCCs
20867         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20868         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20869         Problem reported by Jim Meyering in
20870         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20871         Also, rename the 'test' function to a void a clash with the
20872         already-supplied 'main' function; this fixes a bug that incorrectly
20873         rejected GCC 4.7.1's <stdnoreturn.h>.
20874         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20875         Document GCC problem.
20877 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20879         pipe-filter: fix comment typo
20880         * lib/pipe-filter.h: Mention correct function.
20882 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20884         execinfo: new module
20885         This is for Emacs.  Currently, it provides a no-effect stub
20886         on all platforms where it does not already work.
20887         It already works on glibc-based systems, and on Solaris 11.
20888         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20889         New files.
20890         * doc/glibc-headers/execinfo.texi (execinfo.h):
20891         * MODULES.html.sh (Misc): Document it.
20893 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20895         extern-inline: support old GCC 'inline'
20896         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20897         if available.  This applies to GCC versions 2.7 through 4.2, or
20898         when newer GCC is using -fgnu89-inline.  The goal is to address
20899         some of the performance issues mentioned by Bruno Haible in
20900         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20902 2012-08-20  Eric Blake  <eblake@redhat.com>
20904         maint.mk: avoid redundant file name in message
20905         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20906         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20907         (sc_makefile_path_separator_check): Remove bogus $(ME).
20909 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20911         timer-time: fix link order when static linking on glibc
20912         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20913         _after_ -lrt so that it's significant.
20915 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20917         timespec: omit unnecessary AC_C_INLINE
20918         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20920         stat-time: omit unnecessary AC_C_INLINE
20921         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20922         Do not require AC_C_INLINE.
20924         ignore-value: omit unnecessary AC_C_INLINE
20925         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20927         sys_select: avoid 'static inline'
20928         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20930         mktime: avoid 'static inline'
20931         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20932         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20934 2012-08-19  Bruno Haible  <bruno@clisp.org>
20936         gnulib-tool: Improve coding style.
20937         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20938         func_emit_lib_Makefile_am.
20939         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20941 2012-08-19  Bruno Haible  <bruno@clisp.org>
20943         gnulib-tool: Fix indentation.
20944         * gnulib-tool (func_import): Fix indentation.
20946 2012-08-19  Bruno Haible  <bruno@clisp.org>
20948         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20949         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20950         on the list of removed files.
20952 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20954         test-parse-datetime: avoid glibc leap-second glitch
20955         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20956         with the 2012 rules.  Problem reported by Bruce Dubbs in
20957         <http://bugs.gnu.org/12206>.
20959 2012-08-14  Bruno Haible  <bruno@clisp.org>
20961         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20962         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20963         from argument.
20964         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20966 2012-08-14  Eric Blake  <eblake@redhat.com>
20968         ldexp: relax license
20969         * modules/ldexp (License): Trivial relax, since the module only
20970         provides a permissively licensed m4 file.
20972 2012-08-13  Bruno Haible  <bruno@clisp.org>
20974         gnulib-tool: Fix persistence of --witness-c-macro option.
20975         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
20976         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20978 2012-08-11  Eric Blake  <eblake@redhat.com>
20980         count-leading-zeros: use a lookup table on non-gcc compilers
20981         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
20982         alternate implementation, suggested by Jim Meyering.
20984 2012-08-10  Eric Blake  <eblake@redhat.com>
20986         count-leading-zeros: new module
20987         * modules/count-leading-zeros: New module.
20988         * m4/count-leading-zeros.m4: New file.
20989         * lib/count-leading-zeros.h: Likewise.
20990         * modules/count-leading-zeros-tests: New test.
20991         * tests/test-count-leading-zeros.c: New file.
20992         * MODULES.html.sh (Integer arithmetic functions): Document it.
20994 2012-08-07  Simon Josefsson  <simon@josefsson.org>
20995             Jim Meyering  <meyering@redhat.com>
20997         maintainer-makefile: Fix syntax error with dash.
20998         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
20999         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
21001 2012-08-05  Jim Meyering  <meyering@redhat.com>
21003         extern-inline: also ignore -Wmissing-declarations
21004         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
21005         required with gcc-4.8.0-to-be.
21007         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
21008         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
21009         for /error ?([^,]*)/.  This avoids false-positives for strings like
21010         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
21012 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
21014         gnumakefile: better interaction with Automake-NG
21015         * modules/gnumakefile [Makefile.am]: The makefiles generated by
21016         Automake-NG always contain a definition of VPATH, even in non-VPATH
21017         builds (its value being simply '.' in that case).  So, in the
21018         'clean-GNUmakefile' rule, to determine whether running under a
21019         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
21020         '$(VPATH)' expands to the empty string.
21022 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
21024         base64: Use extern C scope in header file, for C++.
21025         * lib/base64.h: Add C++ namespace protection.
21027 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21029         stat-time, timespec, u64: support naive out-of-dir builds
21030         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
21031         Use '#include "foo.h"', not '#include <foo.h>', when including
21032         one's own interface.  This works better when configuring with
21033         out-of-directory builds, since packages need not add an
21034         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
21036 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21038         utimens: use extern-inline
21039         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
21040         * lib/utimens.h: Add copyright notice, since this is now large enough
21041         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21042         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
21043         * modules/utimens (Depends-on): Add extern-inline.
21045         u64: use extern-inline
21046         * lib/u64.c: New file.
21047         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21048         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
21049         * modules/u64 (Files): Add lib/u64.c.
21050         (Depends-on): Add extern-inline.
21051         (configure.ac): No need to require AC_C_INLINE, since extern-inline
21052         does that now.
21053         (lib_SOURCES): Add u64.c.
21055         timespec: use extern-inline
21056         * lib/timespec.c: New file.
21057         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21058         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
21059         * modules/timespec (Files): Add lib/timespec.c.
21060         (Depends-on): Add extern-inline.
21061         (lib_SOURCES): Add timespec.c.
21063         stat-time: use extern-inline
21064         * lib/stat-time.c: New file.
21065         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21066         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
21067         * modules/stat-time (Files): Add lib/stat-time.c.
21068         (Depends-on): Add extern-inline.
21069         (lib_SOURCES): Add stat-time.c.
21071         extern-inline: new module
21072         * modules/extern-inline, m4/extern-inline.m4: New files.
21073         This is for better support of 'extern inline' a la ISO C99,
21074         with a portable alternative on compilers that do not support
21075         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
21076         of the Emacs executable, when compiled with debugging disabled,
21077         which is a typical way that Emacs is built while developing.
21079 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
21081         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
21082         * build-aux/do-release-commit-and-tag: Move variable definitions
21083         together.
21084         ($branch): Instead of defaulting to "master", default to the current
21085         branch (as gnu-web-doc-update does).
21086         (help): Display the current values of the option arguments.
21087         * top/maint.mk (release-commit): New.
21088         * top/README-release: Simplify the corresponding step.
21090 2012-07-30  Eric Blake  <eblake@redhat.com>
21092         passfd: fix comment on recvfd
21093         * lib/passfd.c (recvfd): Fix comment.
21094         Reported by Jann Horn <jannhorn@googlemail.com>.
21096 2012-07-30  Jim Meyering  <meyering@redhat.com>
21098         maint.mk: avoid a sub-shell
21099         * top/maint.mk (release-prep): Remove unneeded sub-shell.
21101 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21103         maint.mk: use silent-rules support from Automake
21104         * top/maint.mk (news-check, vc-diff-check, announcement)
21105         (no-submodule-changes, alpha beta stable, release-prep)
21106         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
21108 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21110         maint.mk: provide a web-manual-update target
21111         * top/maint.mk: here.
21112         * top/README-release: Use it to simplify the web manual update step.
21114 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21116         README-release: shorten the circuit to post a news
21117         * top/README-release: Point directly to the news submission form.
21119 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21121         gnu-web-doc-update: fix --help
21122         * build-aux/gnu-web-doc-update: The information "top level" was written
21123         twice.
21125 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21127         maint.mk: absolute VPATH issue
21128         * top/maint.mk (release-prep): Help Git find .git/.
21129         From Jim Meyering.
21131 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21133         gitlog-to-changelog: fix previous change
21134         * build-aux/gitlog-to-changelog: Fix condition.
21135         Add missing ";".
21137 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21139         gitlog-to-changelog: don't expect .git to be in $srcdir
21140         Reported by Bruno Haible.
21141         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
21142         * build-aux/gitlog-to-changelog (&git_dir_option): New.
21143         Use it.
21145 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21147         maint.mk: absolute VPATH build fix
21148         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
21149         $(srcdir) is not a parent of $(builddir).
21151 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
21153         clean-temp: Fix memory leak.
21154         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
21155         'files' members of tmpdir.
21157 2012-07-27  Jim Meyering  <meyering@redhat.com>
21159         maint.mk: new rule: refresh-gnulib-patches
21160         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
21161         Use this rule to refresh them.
21162         * top/maint.mk (refresh-gnulib-patches): New rule.
21164 2012-07-24  Bruno Haible  <bruno@clisp.org>
21166         gnulib-tool: Fix handling of inctests variable.
21167         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
21168         Reported by Nick Bowler <nbowler@elliptictech.com>.
21170 2012-07-22  Bruno Haible  <bruno@clisp.org>
21172         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
21173         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
21174         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21175         Remove exemption for getpass.h.
21176         Suggested by Eric Blake.
21178 2012-07-20  Eric Blake  <eblake@redhat.com>
21180         verify: document conflict with -Wnested-externs
21181         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
21183         maint.mk: forbid exit(-1)
21184         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
21186 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
21188         fsusage: port back to Solaris
21189         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
21190         error (fsd not declared) on Solaris 10.  Reported privately by
21191         Andrew Borodin.
21193 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
21195         gnu-web-doc-update: fix error messages
21196         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
21198         gnu-web-doc-update: check the requirements.
21199         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
21200         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
21201         * build-aux/bootstrap (find_tool): Comment change.
21203 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
21205         maint.mk: minor simplication.
21206         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
21207         for default values.
21209 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
21211         gitlog-to-changelog: VPATH build issues
21212         If builddir is not a subdirectory of srcdir, running git from it will
21213         fail.
21214         * build-aux/gitlog-to-changelog (--srcdir): New option.
21216 2012-07-15  Bruno Haible  <bruno@clisp.org>
21218         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
21219         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
21220         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
21221         Remove exemption for fpending.h.
21222         Suggested by Eric Blake.
21224 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21226         pthread_sigmask: fix bug on FreeBSD 9
21227         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
21228         Include string.h.
21229         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
21230         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
21231         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
21232         but pthread_sigmask (1729, NULL, NULL) returns zero.
21233         See <http://bugs.gnu.org/11884>.
21234         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
21235         by inspecting whether the main call changed the old mask.
21237 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
21239         README-release: make it more legible
21240         * top/README-release: Improve typography slightly.
21242 2012-07-15  Jim Meyering  <meyering@redhat.com>
21244         maint: require that each sc_... command start with "@"
21245         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
21246         "make sc_maint" helps us avoid this nit.
21248 2012-07-15  Jim Meyering  <meyering@redhat.com>
21250         maint.mk: add leading "@" to quiet new "make syntax-check" rule
21251         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
21253 2012-07-13  Eric Blake  <eblake@redhat.com>
21255         maint.mk: new syntax check for HAVE_DECL checks
21256         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
21257         * cfg.mk
21258         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21259         Exempt some false positives.
21260         Based on a report by Karel Zak.
21262         argp: make HAVE_DECL usage consistent
21263         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
21264         macros, not whether they are defined.
21265         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
21266         convention with other declaration checks.
21267         Reported by Karel Zak, with suggestions from Paul Eggert.
21269         stat-time: relax license to LGPLv2+
21270         * modules/stat-time (License): Relax, with consent of all authors.
21272         strndup: fix m4 usage error
21273         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
21274         defined, to either 0 or 1.
21275         Reported by Karel Zak.
21277 2012-07-11  Jim Meyering  <meyering@redhat.com>
21279         maint: enable the sc_avoid_if_before_free syntax-check rule
21280         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
21281         (if_before_free_offenders_): Define.
21282         (if_before_free_basename_re_): Define.
21283         Exempt current files with useless if-before-free.
21285 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
21287         gettext: do not assume '#define ... defined ...' behavior
21288         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
21289         Do not use '#define FOO ... defined BAR ...', as the C standard says
21290         it's not portable to expect that this works after macro expansion.
21291         Problem reported for gzip by Steven M. Schweda in
21292         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
21294 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21296         getloadavg: clean out old Emacs and Autoconf cruft
21297         See Glenn Morris in <http://bugs.gnu.org/11905>.
21298         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
21299         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
21300         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
21301         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
21303 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
21305         bootstrap: let warn be like tests/init.sh's warn_
21306         Reported by Jim Meyering.
21307         * build-aux/bootstrap (warn): Remove, replaced by...
21308         (warnf_, warn_): these.
21309         Adjust callers.
21310         Shorten messages that no longer fit in 80 columns.
21312 2012-07-09  Bruno Haible  <bruno@clisp.org>
21314         getopt: Simplify after Emacs changed.
21315         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
21316         (gl_GETOPT_IFELSE): Remove macro.
21318 2012-07-09  Jim Meyering  <meyering@redhat.com>
21320         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
21321         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
21323         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
21324         Bugs in both of those conspired to make the
21325         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
21326         _sc_search_regexp's handling of non-empty $in_files would filter
21327         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
21328         choice of in_files value meant there would be no match in most
21329         projects, due to the presence of two or more Makefile.in files.
21330         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
21331         Fix a bug in how a non-empty $$in_files was processed:
21332         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
21333         in spite of the name, it's a regexp, not a list of file names.
21335 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
21337         getloadavg, getopt: fix commentary re configure.in
21338         Autoconf is deprecating the name 'configure.in', so change it to
21339         to the new name 'configure.ac' in a couple of places.
21340         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
21341         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
21342         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
21343         Emacs has renamed it to configure.ac, and it no longer refers
21344         to these macros anyway.
21346         timespec: mark functions with const attributes
21347         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
21348         Mark with _GL_ATTRIBUTE_CONST.
21350 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21352         canonicalize[-lgpl]: handle "guessing" values when cross-building
21353         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
21354         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
21355         matches "*yes" instead of just "yes".  Regression introduced in commit
21356         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
21358 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21359             Bruno Haible  <bruno@clisp.org>
21361         canonicalize: make the right guess when cross-compiling to GNU
21362         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
21363         determine whether cross-compiling to glibc systems, so as to
21364         include GNU/Hurd.
21366 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21368         timespec-sub: avoid duplicate include
21369         * lib/timespec-sub.c: Do not include <config.h> twice.
21370         Reported by Juanma Barranquero.
21372 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
21374         bootstrap: use a more consistent error reporting scheme
21375         * build-aux/bootstrap (warn, die): New.
21376         Use them.
21378 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21380         sys_time: allow too-wide tv_sec
21381         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
21382         timeval even if tv_sec is wider than time_t.  This allows
21383         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
21384         as without this patch gnulib replaces struct timeval
21385         and OpenBSD futimes therefore has a type mismatch.
21386         * doc/posix-headers/sys_time.texi: Mention this.
21388         pthread: check for both pthread_create and pthread_join
21389         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
21390         alter the check so that it tests for both pthread_create and
21391         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
21392         Suggested by Bruno Haible and Richard Yao in
21393         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
21395         parse-datetime: doc tuneup
21396         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
21397         spacing issues.
21399 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
21401         do-release-commit-and-tag: fix the previous commit
21402         * build-aux/do-release-commit-and-tag: Actually the test was right,
21403         but the comment and the error message were misleading.
21404         Fix comment, and improve error message.
21405         Perform check first, so that NEWS is not modified uselessly.
21407         do-release-commit-and-tag: fix typo
21408         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
21409         _not_ start with a stub.
21411 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21413         pthread: check for pthread_create, not pthread_join
21414         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
21415         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
21416         pthread_join in libc.  I hope this removes the need for all the
21417         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
21418         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
21420 2012-07-04  Jim Meyering  <meyering@redhat.com>
21422         parse-datetime: fix failure to diagnose invalid input
21423         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
21424         rather than diagnosing the invalid input.  Now it reports this:
21425         date: invalid date '\260'
21426         * lib/parse-datetime.y (to_uchar): Define.
21427         (yylex): Don't sign-extend "other" bytes.
21428         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
21429         Thanks to Bruno Haible for the patch to this file.
21430         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
21431         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
21433 2012-07-03  Jim Meyering  <meyering@redhat.com>
21435         bootstrap: do not require now-removed build-aux/missing
21436         Now that build-aux/missing is, er, missing, bootstrap would
21437         silently fail.
21438         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
21439         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
21440         no longer part of gnulib.
21441         Diagnose the failure.
21443 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21445         alloca: add support for HP NonStop TNS/E native
21446         * lib/alloca.in.h (alloca): Support the new host.
21447         From a suggestion by Joachim Schmitz in
21448         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
21450 2012-07-02  Pádraig Brady  <P@draigBrady.com>
21452         fsusage: remove code not needed on non GNU/Linux systems.
21454         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21455         Don't include headers no longer needed in this case.
21456         * lib/fsusage.c [STAT_STATVFS &&
21457         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
21458         STAT_STATFS2_FRSIZE to exclude code not used in this case.
21460 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21462         fsusage: include files needed for glibc 2.6 fallback
21463         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21464         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
21465         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
21466         Problem reported by Ludovic Courtès in
21467         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
21469         fsusage: avoid needless check on GNU/Linux
21470         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
21471         on GNU/Linux systems, since it can't possibly work.
21473 2012-07-01  Bruno Haible  <bruno@clisp.org>
21475         log: Fix an autoconf >= 2.64 warning.
21476         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
21477         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21479 2012-06-28  Bruno Haible  <bruno@clisp.org>
21481         log10f: Fix possible configuration problem.
21482         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
21483         $LOGF_LIBM.
21484         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21486 2012-06-28  Bruno Haible  <bruno@clisp.org>
21488         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
21489         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
21490         not gl_cv_func_unlink_works.
21491         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21493 2012-06-27  Eric Blake  <eblake@redhat.com>
21495         config: drop scripts that automake says are not independent
21496         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
21497         * build-aux/elisp-comp: Delete.
21498         * build-aux/missing: Likewise.
21499         * build-aux/ylwrap: Likewise.
21500         * modules/elisp-comp: Likewise.
21501         * MODULES.html.sh: Drop mention of elisp-comp.
21502         * NEWS: Mention this.
21504 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21506         root-uid: new module
21507         This is for portability to Tandem's NonStop Kernel.
21508         * lib/root-uid.h, modules/root-uid: New files.
21509         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
21510         * lib/write-any-file.c, tests/test-sethostname2.c:
21511         Include "root-uid.h".
21512         * lib/euidaccess.c (euidaccess):
21513         * lib/pt_chown.c (main):
21514         * lib/unlinkdir.c (cannot_unlink_dir):
21515         * lib/write-any-file.c (can_write_any_file):
21516         * m4/mknod.m4 (gl_FUNC_MKNOD):
21517         * tests/test-sethostname2.c (geteuid, main):
21518         Don't assume ROOT_UID == 0.
21519         * modules/euidaccess (Depends-on):
21520         * modules/pt_chown (Depends-on):
21521         * modules/sethostname-tests (Depends-on):
21522         * modules/unlinkdir (Depends-on):
21523         * modules/write-any-file (Depends-on):
21524         Add root-uid.
21526         regex: use locale-independent comparison for codeset name
21527         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
21528         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
21529         for codeset name.
21530         * lib/regex_internal.h: Do not include <strings.h>, since we
21531         no longer use strcasecmp.
21532         * modules/regex (Depends-on): Remove strcase.
21534 2012-06-23  Bruno Haible  <bruno@clisp.org>
21536         getopt-posix: No longer guarantee that option processing is resettable.
21537         * doc/posix-functions/getopt.texi: Drop description of problem with
21538         internal state. Fix info about mingw and msvc9.
21539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
21540         option processing by getopt(). Run three test programs instead of one.
21541         Simplify cross-compilation guess.
21542         * NEWS: Mention the change.
21543         Reported by Rich Felker <dalias@aerifal.cx>.
21545 2012-06-26  Bruno Haible  <bruno@clisp.org>
21547         argp, regex: Ensure strcasecmp gets declared.
21548         * lib/argp-help.c: Include <strings.h>.
21549         * lib/regex_internal.h: Likewise.
21550         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
21552 2012-06-24  Bruno Haible  <bruno@clisp.org>
21554         ptsname_r: Make it consistent with ptsname on AIX.
21555         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
21556         implementation as for OSF/1.
21557         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
21558         a pty master.
21560         ptsname_r: Make it consistent with ptsname on OSF/1.
21561         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21562         OSF/1.
21564 2012-06-24  Bruno Haible  <bruno@clisp.org>
21566         ttyname_r: Fix result on OSF/1, Solaris.
21567         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
21569 2012-06-24  Bruno Haible  <bruno@clisp.org>
21571         ptsname_r: Add support for Solaris.
21572         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21573         Solaris.
21575         ptsname_r: Fix test failure on native Windows.
21576         * modules/ptsname_r (Depends-on): Add isatty.
21578         ptsname_r: Fix test failures on IRIX, Solaris.
21579         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
21580         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
21581         accordingly.
21582         * lib/ptsname_r.c: Include <fcntl.h>.
21583         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
21584         set errno if fd is invalid.
21585         * tests/test-isatty.c (main): Update comments.
21587 2012-06-24  Bruno Haible  <bruno@clisp.org>
21589         ptsname test: Extend test.
21590         * tests/test-ptsname.c: Include <errno.h>.
21591         (main): Test behaviour with invalid file descriptor.
21593 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21595         time: fix obsolete comment
21596         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
21597         reference to HAVE_STRUCT_TIMESPEC in comment.
21599 2012-06-23  Bruno Haible  <bruno@clisp.org>
21601         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
21602         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
21603         does not handle abbreviated long options with equivalent
21604         disambiguations, set gl_replace_getopt to yes.
21605         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
21607 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21609         time_r: fix typo that always overrode localtime_r decl
21610         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
21611         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
21612         not in a standard include.
21614 2012-06-22  Bruno Haible  <bruno@clisp.org>
21616         Write "Mac OS X" instead of "MacOS X".
21617         * README: Write "Mac OS X" instead of "MacOS X".
21618         * build-aux/bootstrap: Likewise.
21619         * build-aux/install-reloc: Likewise.
21620         * lib/acl-internal.h: Likewise.
21621         * lib/acl_entries.c: Likewise.
21622         * lib/argp-ba.c: Likewise.
21623         * lib/argp-pv.c: Likewise.
21624         * lib/config.charset: Likewise.
21625         * lib/copy-acl.c: Likewise.
21626         * lib/csharpexec.c: Likewise.
21627         * lib/euidaccess.c: Likewise.
21628         * lib/fbufmode.c: Likewise.
21629         * lib/fflush.c: Likewise.
21630         * lib/file-has-acl.c: Likewise.
21631         * lib/filemode.h: Likewise.
21632         * lib/fpurge.c: Likewise.
21633         * lib/freadable.c: Likewise.
21634         * lib/freadahead.c: Likewise.
21635         * lib/freading.c: Likewise.
21636         * lib/freadptr.c: Likewise.
21637         * lib/freadseek.c: Likewise.
21638         * lib/fseeko.c: Likewise.
21639         * lib/fseterr.c: Likewise.
21640         * lib/fsusage.c: Likewise.
21641         * lib/fwritable.c: Likewise.
21642         * lib/fwriting.c: Likewise.
21643         * lib/get-rusage-as.c: Likewise.
21644         * lib/get-rusage-data.c: Likewise.
21645         * lib/getdomainname.c: Likewise.
21646         * lib/idpriv-drop.c: Likewise.
21647         * lib/idpriv-droptemp.c: Likewise.
21648         * lib/localcharset.c: Likewise.
21649         * lib/locale.in.h: Likewise.
21650         * lib/localename.c: Likewise.
21651         * lib/mbsrtowcs-state.c: Likewise.
21652         * lib/nproc.c: Likewise.
21653         * lib/passfd.c: Likewise.
21654         * lib/posix_openpt.c: Likewise.
21655         * lib/printf-parse.c: Likewise.
21656         * lib/progreloc.c: Likewise.
21657         * lib/safe-read.h: Likewise.
21658         * lib/safe-write.h: Likewise.
21659         * lib/sched.in.h: Likewise.
21660         * lib/set-mode-acl.c: Likewise.
21661         * lib/signal.in.h: Likewise.
21662         * lib/stdint.in.h: Likewise.
21663         * lib/stdio-impl.h: Likewise.
21664         * lib/stdlib.in.h: Likewise.
21665         * lib/strtod.c: Likewise.
21666         * lib/sys_select.in.h: Likewise.
21667         * lib/tcgetsid.c: Likewise.
21668         * lib/unistd.in.h: Likewise.
21669         * lib/unlockpt.c: Likewise.
21670         * lib/vasnprintf.c: Likewise.
21671         * lib/vma-iter.c: Likewise.
21672         * lib/wcsrtombs-state.c: Likewise.
21673         * m4/acl.m4: Likewise.
21674         * m4/acosl.m4: Likewise.
21675         * m4/asinl.m4: Likewise.
21676         * m4/atanl.m4: Likewise.
21677         * m4/c-stack.m4: Likewise.
21678         * m4/cosl.m4: Likewise.
21679         * m4/expl.m4: Likewise.
21680         * m4/extensions.m4: Likewise.
21681         * m4/fdatasync.m4: Likewise.
21682         * m4/fmal.m4: Likewise.
21683         * m4/frexp.m4: Likewise.
21684         * m4/frexpf.m4: Likewise.
21685         * m4/frexpl.m4: Likewise.
21686         * m4/fsusage.m4: Likewise.
21687         * m4/getdomainname.m4: Likewise.
21688         * m4/getloadavg.m4: Likewise.
21689         * m4/getopt.m4: Likewise.
21690         * m4/gettext.m4: Likewise.
21691         * m4/gnulib-common.m4: Likewise.
21692         * m4/intdiv0.m4: Likewise.
21693         * m4/intlmacosx.m4: Likewise.
21694         * m4/largefile.m4: Likewise.
21695         * m4/ldexpl.m4: Likewise.
21696         * m4/link-follow.m4: Likewise.
21697         * m4/locale-ar.m4: Likewise.
21698         * m4/locale-fr.m4: Likewise.
21699         * m4/locale-ja.m4: Likewise.
21700         * m4/locale-tr.m4: Likewise.
21701         * m4/locale-zh.m4: Likewise.
21702         * m4/locale_h.m4: Likewise.
21703         * m4/lock.m4: Likewise.
21704         * m4/logl.m4: Likewise.
21705         * m4/mathfunc.m4: Likewise.
21706         * m4/minus-zero.m4: Likewise.
21707         * m4/mktime.m4: Likewise.
21708         * m4/mmap-anon.m4: Likewise.
21709         * m4/multiarch.m4: Likewise.
21710         * m4/nanosleep.m4: Likewise.
21711         * m4/nocrash.m4: Likewise.
21712         * m4/poll.m4: Likewise.
21713         * m4/printf-frexpl.m4: Likewise.
21714         * m4/printf.m4: Likewise.
21715         * m4/signbit.m4: Likewise.
21716         * m4/sinl.m4: Likewise.
21717         * m4/sqrtl.m4: Likewise.
21718         * m4/strerror_r.m4: Likewise.
21719         * m4/tanl.m4: Likewise.
21720         * m4/threadlib.m4: Likewise.
21721         * m4/ttyname_r.m4: Likewise.
21722         * m4/unlink.m4: Likewise.
21723         * m4/visibility.m4: Likewise.
21724         * m4/wcwidth.m4: Likewise.
21725         * tests/minus-zero.h: Likewise.
21726         * tests/test-alloca-opt.c: Likewise.
21727         * tests/test-copy-acl.sh: Likewise.
21728         * tests/test-copy-file.sh: Likewise.
21729         * tests/test-fdatasync.c: Likewise.
21730         * tests/test-file-has-acl.sh: Likewise.
21731         * tests/test-flock.c: Likewise.
21732         * tests/test-fsync.c: Likewise.
21733         * tests/test-localename.c: Likewise.
21734         * tests/test-malloca.c: Likewise.
21735         * tests/test-nonblocking-pipe.h: Likewise.
21736         * tests/test-nonblocking-socket.h: Likewise.
21737         * tests/test-openpty.c: Likewise.
21738         * tests/test-posix_openpt.c: Likewise.
21739         * tests/test-ptsname.c: Likewise.
21740         * tests/test-ptsname_r.c: Likewise.
21741         * tests/test-sameacls.c: Likewise.
21742         * tests/test-select.h: Likewise.
21743         * tests/test-set-mode-acl.sh: Likewise.
21744         * tests/test-snprintf-posix.h: Likewise.
21745         * tests/test-sprintf-posix.h: Likewise.
21746         * tests/test-strtod.c: Likewise.
21747         * tests/test-time.c: Likewise.
21748         * tests/test-vasnprintf-posix.c: Likewise.
21749         * tests/test-vasprintf-posix.c: Likewise.
21750         * doc/acl-resources.txt: Likewise.
21751         * doc/**/*.texi: Likewise.
21752         Reported by Max Horn <max@quendi.de>.
21754 2012-06-22  Bruno Haible  <bruno@clisp.org>
21756         grantpt: Relax requirement regarding invalid file descriptors.
21757         * lib/grantpt.c: Don't include <fcntl.h>.
21758         (grantpt): Don't verify the validity of the file descriptor.
21759         * modules/grantpt (Depends-on): Remove fcntl-h.
21760         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21761         file descriptors.
21762         * doc/posix-functions/grantpt.texi: Document more platforms on which
21763         grantpt succeeds for invalid file descriptors.
21764         Reported by Rich Felker <dalias@aerifal.cx>.
21766 2012-06-22  Bruno Haible  <bruno@clisp.org>
21768         fbufmode test: Don't test unportable behaviour.
21769         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21770         (main): Invoke it three times.
21771         Reported by Szabolcs Nagy <nsz@port70.net>
21772         and Rich Felker <dalias@aerifal.cx>.
21774 2012-06-21  Bruno Haible  <bruno@clisp.org>
21776         gnulib-tool: Refactor inctests variable.
21777         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21778         (func_modules_transitive_closure,
21779         func_modules_transitive_closure_separately,
21780         func_import, func_create_testdir): Update.
21782         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21783         * gnulib-tool: Accept option --without-tests.
21784         (func_usage): Document --without-tests option. Rearrange.
21785         (inctests): Normalize according to the mode.
21786         * NEWS: Mention the change.
21787         Suggested by Simon Josefsson.
21789 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21791         parse-duration test: Avoid spurious output.
21792         * tests/test-parse-duration.sh: Reindent with leading tabs.
21794 2012-06-21  Jim Meyering  <meyering@redhat.com>
21796         maint: disable the strncpy prohibition
21797         * cfg.mk: Do not prohibit strncpy here.
21799 2012-06-21  Bruno Haible  <bruno@clisp.org>
21801         nonblocking: Avoid compilation error on mingw64.
21802         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21803         fscanf.
21804         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21805         * modules/vfscanf (configure.ac): Likewise.
21806         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21807         definition only if stdio.h has prepared it.
21808         Reported by Daniel P. Berrange <berrange@redhat.com>.
21810 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21812         gnulib-tool: Use readlink if it is available.
21813         * gnulib-tool (func_readlink): Choose function more appropriately.
21815 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21817         posixtm-tests: port to buggy compiler
21818         Problem reported by Simon Josefsson in
21819         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21820         * modules/posixtm-tests (Depends-on): Add stdint.
21821         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21822         Now of type int_least64_t, not int64_t, both because that's
21823         what INT64_C returns and because int_least64_t works even
21824         on 72-bit hosts.
21825         (T): Use INT64_C on constants outside the traditional int range,
21826         to work around compiler bug noted by Simon.
21828         mktime: fix integer overflow in 'configure'-time test
21829         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21830         after integer overflow.  Problem reported by Rich Felker in
21831         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21832         Also, don't look for further instances of a bug if we've already
21833         found one instance; this helps 'configure' run faster.
21835 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21837         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21838         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21839         GetVersionEx correctly.
21840         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21842 2012-06-20  Bruno Haible  <bruno@clisp.org>
21844         fdopen: Allow implementations that don't reject invalid fd arguments.
21845         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21846         succeeds.
21847         Reported by Rich Felker <dalias@aerifal.cx>.
21849 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21851         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21852         bring in LIBINTL.
21854 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21856         init.sh: do not rely on autoupated PWD
21857         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21858         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21859         Although Nelson's bug was not necessarily fixed by this patch,
21860         it seems wise to make the change for safety.
21861         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21862         automagically after 'cd'; this is not reliable on older shells.
21863         (setup_): Fail if we cannot cd to temporary directory.
21865 2012-06-19  Bruno Haible  <bruno@clisp.org>
21867         stat, fstat: Avoid warnings on mingw64.
21868         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21869         redefining.
21870         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21871         Reported by Daniel P. Berrange <berrange@redhat.com>.
21873 2012-06-19  Bruno Haible  <bruno@clisp.org>
21875         stdioext: Add support for musl libc.
21877         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21878         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21880         * m4/fseterr.m4: New file.
21881         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21882         function exists.
21883         * modules/fseterr (Files): Add m4/fseterr.m4.
21884         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21885         __fseterr does not exist.
21886         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21888         * lib/freadable.h: Update comment.
21890         * lib/fwritable.h: Update comment.
21892         * lib/freading.h: Update comment.
21894         * lib/fwriting.h: Update comment.
21896         * m4/freadahead.m4: New file.
21897         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21898         that function exists.
21899         * modules/freadahead (Files): Add m4/freadahead.m4.
21900         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21901         __freadahead does not exist.
21902         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21904         * m4/freadptr.m4: New file.
21905         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21906         function exists.
21907         * modules/freadptr (Files): Add m4/freadptr.m4.
21908         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21909         __freadptr does not exist.
21910         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21912         * m4/freadseek.m4: New file.
21913         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21914         exists.
21915         * modules/freadseek (Files): Add m4/freadseek.m4.
21916         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21918         * lib/fpurge.c (fpurge): Update comment.
21920         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21922 2012-06-19  Bruno Haible  <bruno@clisp.org>
21924         *printf-posix: Put more info into config.log.
21925         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21926         exit code into config.log.
21928 2012-06-19  Bruno Haible  <bruno@clisp.org>
21930         getopt-gnu: Fix exit code overflow in autoconf test.
21931         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21932         to keep them below < 128.
21934 2012-06-17  Jim Meyering  <meyering@redhat.com>
21936         maint.mk: fix typo in code to derive GPG key at release time
21937         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21939 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21941         regex: avoid warning when pointers are not long
21942         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21943         and uintptr_t, not long, for portability to hosts where pointers and
21944         long have different sizes.  Issue noted by Daniel P. Berrange in
21945         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21946         and fix suggested by Bruno Haible in
21947         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21949 2012-06-17  Bruno Haible  <bruno@clisp.org>
21951         dummy: Relicense into the public domain.
21952         * modules/dummy (License): Set to "public domain".
21953         Suggested by Reuben Thomas.
21955 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21957         announce-gen: VPATH issues
21958         * build-aux/announce-gen (--srcdir): New option, used to trim the
21959         $srcdir part of the path from $builddir to NEWS.
21960         * top/maint.mk (announcement): Adjust.
21962 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21964         gnu-web-doc-update: VPATH builds
21965         * build-aux/gnu-web-doc-update (--builddir): New option.
21966         Revamp the handling of options.
21967         Prefer $(...) to `...`.
21968         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
21969         the template, and it is GNU mktemp specific.
21970         Prefer set -e to long series of &&.
21971         Restore the initial git branch, not "master".
21972         Properly initialize submodules (don't rely only on bootstrap).
21973         Do not reconfigure blindly, use config.status.
21974         * top/README-release: Update instructions for gnu-web-doc-update.
21976 2012-06-11  Jim Meyering  <meyering@redhat.com>
21978         maint.mk: revert most of the previous change re "all these"
21979         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
21980         For rationale, see the discussion at
21981         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
21983 2012-06-10  Karl Berry  <karl@gnu.org>
21985         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
21987         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
21989 2012-06-10  Bruce Korb  <bkorb@gnu.org>
21991         parse-duration: Relicense under LGPLv2+.
21992         * modules/parse-duration (License): Change to LGPLv2+.
21994 2012-06-10  Jim Meyering  <meyering@redhat.com>
21996         maint.mk: prohibit common grammar error: "all these"
21997         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
21998         the list of prohibited word sequences.  It should be "all of these".
21999         * lib/tempname.c (__gen_tempname): Fix one of them.
22001 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22003         do-release-commit-and-tag: support VPATH builds
22004         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
22005         (noteworthy): Defined earlier to factor its value.
22006         (noteworthy_stub): New.
22007         Use it to factor.
22008         (help_version): Split into...
22009         (help, version): these.
22010         Adjust the option processing part.
22011         Support "--option=value" in addition to "--option value".
22012         (builddir): New.
22013         (--builddir): New option.
22014         * top/README-release: Document this.
22015         Reword slightly so that the reader cannot understand that he
22016         has to do these steps before calling do-release-commit-and-tag.
22018 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22020         readme-release: also require announce-gen and maintainer-makefile
22021         * modules/readme-release (Depends-on): here.
22022         * modules/announce-gen, modules/do-release-commit-and-tag,
22023         modules/gnu-web-doc-update, modules/maintainer-makefile
22024         (Description): Point to readme-release.
22026 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22028         maint.mk: fix VPATH issues.
22029         * top/maint.mk (news-check): GNU Make understand $< very well.
22030         (release-prep): NEWS is in $(srcdir).
22032 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
22034         readme-release: require the promoted modules.
22035         * modules/readme-release (Depends-on): Add
22036         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
22037         in this text.
22039 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22040             Bruno Haible  <bruno@clisp.org>
22042         error, strerror-override: Support mingw64 from Fedora 17.
22043         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
22044         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
22045         EINPROGRESS.
22046         * lib/strerror-override.h (strerror_override): Test it.
22047         * lib/strerror-override.c (strerror_override): Likewise.
22048         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
22050 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22051             Bruno Haible  <bruno@clisp.org>
22053         error, strerror-override: Support mingw64 from Fedora 17.
22054         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
22055         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
22056         * lib/strerror-override.h (strerror_override): Test it.
22057         * lib/strerror-override.c (strerror_override): Likewise.
22059 2012-06-03  Bruno Haible  <bruno@clisp.org>
22061         error, strerror-override: Support new errno values from POSIX:2008.
22062         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
22063         ENOTRECOVERABLE.
22064         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
22065         platforms.
22066         * lib/strerror-override.c (strerror_override): Conditionalize the
22067         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
22068         * lib/strerror-override.h (strerror_override): Declare also if
22069         GNULIB_defined_EOWNERDEAD is defined.
22070         * tests/test-errno.c (e130, e131): New variables.
22071         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
22072         ENOTRECOVERABLE.
22073         Reported by Paolo Bonzini.
22075 2012-05-31  Jim Meyering  <meyering@redhat.com>
22077         savewd: add missing dependency on sys_wait module
22078         * modules/savewd (Depends-on): Add sys_wait, needed at least
22079         for MSVC.  Report and suggested change by Michael Goffioul.
22081 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22083         system-quote-tests: port to CentOS 5
22084         Problem reported by Tom G. Christensen in
22085         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
22086         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
22088 2012-05-29  Jim Meyering  <meyering@redhat.com>
22090         maint: fix typos in comments and ChangeLog
22091         Culprits identified and fixed mostly automatically using these commands:
22092         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
22093         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
22094         using http://github.com/lyda/misspell-check
22095         * ChangeLog: Fix typos.
22096         * doc/solaris-versions: Likewise.
22097         * lib/regexec.c (re_search_stub): Likewise.
22098         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22100 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22102         manywarnings: remove duplicate -Wmultichar entry
22103         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
22104         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
22105         so keep the entry marked as documented.
22107 2012-05-27  Karl Berry  <karl@gnu.org>
22109         * config/srclist.txt (mktime.c): remove last libc sync,
22110         perhaps just temporarily.
22112 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22114         regex: don't assume uint64_t or uint32_t
22115         * lib/regcomp.c (init_word_char): Don't assume that the types
22116         uint64_t and uint32_t exist.  The C standard doesn't guarantee
22117         them, and on some 32-bit compilers there is no uint64_t.
22118         Problem reported by Gianluigi Tiesi in
22119         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
22121 2012-05-25  Jim Meyering  <meyering@redhat.com>
22123         maint.mk: add strncpy-prohibiting syntax-check rule
22124         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
22126 2012-05-24  Jim Meyering  <meyering@redhat.com>
22128         maint.mk: compute $(gpg_key_ID) more portably
22129         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
22130         That use of sed is not portable to some fringe systems.
22131         Reported by Paul Eggert in
22132         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
22134 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22136         mktime: sync from glibc
22137         * config/srclist.txt: Uncomment mktime.c.
22138         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
22139         First, indent with tabs, since glibc uses tabs and doesn't want to
22140         change and we'd rather be identical to glibc.  Also, two small
22141         coding changes:
22142         (isdst_differ): Use &&, not &, as && is the usual style.
22143         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
22144         for clarity.
22146 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22148         announce-gen: du -h is more portable than du --human
22149         * build-aux/announce-gen (sizes): Invoke du with -h instead
22150         of --human.  Accept leading white space in its output.
22152 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22154         announce-gen: Improve diagnostics.
22155         * build-aux/announce-gen: When parsing command line options,
22156         prefer "announce-gen: option --release-type requires an argument"
22157         to "Option release-type requires an argument".
22159 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22161         maint.mk: gpg_key_ID: use sed more portably
22162         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
22163         the closing brace.
22164         (refresh-po): Fuse two sed invocations into one.
22166 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
22168         gitlog-to-changelog: support the log message format used in Bison.
22169         * build-aux/gitlog-to-changelog: Support --strip-tab and
22170         --strip-cherry-picked.
22172 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22174         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
22175         the rest of the current time slice to another thread in the current
22176         process. So if the thread that feeds the file decscriptor we're
22177         polling is not in the current process, we get busy-waiting.
22178         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
22179         Patch from Theodore Leblond.
22180         * lib/select.c: Split polling out of the loop that sets the output
22181         fd_sets.  Check for zero result and loop if the wait timeout is
22182         infinite.
22184 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22186         select: Fix build error on IRIX 6.5.
22187         * lib/select.c: Include stddef.h for NULL.
22189 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22191         gc: fix libgcrypt detection on older machines.
22192         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
22193         copyright years because the file has been distributed every year
22194         since it was created.
22196 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22198         crypto: fix bug in large buffer handling
22199         Problem reported by Serge Belyshev for glibc in
22200         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
22201         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
22202         * lib/md4.c (md4_process_block):
22203         * lib/md5.c (md5_process_block):
22204         * lib/sha1.c (sha1_process_block):
22205         * lib/sha256.c (sha256_process_block):
22206         Don't assume the buffer length is less than 2**32.
22207         * lib/sha512.c (sha512_process_block): Likewise.
22208         Here, the bug is present only in the rare case where the host does
22209         not support uint64_t or where size_t is wider than 64 bits.
22210         Use u64size to work around the problems.
22211         * lib/u64.h (u64size): New macro.
22213 2012-05-15  Pádraig Brady  <P@draigBrady.com>
22215         fsusage: fix block size returned on older Linux 2.6
22217         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
22218         which is available since Linux 2.6.
22219         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
22220         when the member is available so it can be used as a fallback.
22221         * doc/posix-functions/statvfs.texi: Mention the hang issue
22222         on Linux < 2.6.36.
22224 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22226         bootstrap: suppress stderr chatter
22227         * build-aux/bootstrap (insert_sorted_if_absent, main program):
22228         Omit unnecessary chatter to stderr.  The main program chatter
22229         was there only inadvertantly.
22231         bootstrap: .gitignore files created by autopoint, libtool
22232         I ran into this problem when bootstrapping the latest diffutils.
22233         After './bootstrap', 'git status' reported lots of untracked files
22234         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
22235         autopoint and do not need to be version-controlled.
22236         * build-aux/bootstrap: Put into .gitignore the files that
22237         autopoint and libtool create, by keeping track of files that exist
22238         after but not before these programs are run.
22239         (version_controlled_file): Move up.  2nd arg is now full file
22240         name, not base name; this is more convenient.  Put CVS at the end,
22241         as it's now somewhat deprecated.
22243 2012-05-14  Jim Meyering  <meyering@redhat.com>
22245         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
22246         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
22247         definition.  Reported by Bruno Haible.
22249 2012-05-13  Bruno Haible  <bruno@clisp.org>
22250             Paul Eggert  <eggert@cs.ucla.edu>
22252         binary-io: Define set_binary_mode function.
22253         * lib/binary-io.h (set_binary_mode): New function.
22254         (SET_BINARY): Define in terms of set_binary_mode.
22255         * modules/binary-io (configure.ac): Require AC_C_INLINE.
22256         * tests/test-binary-io.c (main): Accept an argument, and test either
22257         set_binary_mode or SET_BINARY depending on the argument.
22258         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
22259         argument. Clean up also t-bin-out0.tmp.
22261 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
22263         bootstrap: take advantage of POSIX shell features
22265         The 'bootstrap' script offered by Gnulib script already uses POSIX
22266         shell features (like $((...)) arithmetic expansions) that are not
22267         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
22268         means that bootstrap must already be run using a proper POSIX shell,
22269         which will thus provide more features, like ${var#pattern} parameter
22270         expansion or inversion of a command exit status with '!'.  We can
22271         thus use these features to improve the clarity and the performances
22272         of the bootstrap script.
22274         Suggested by Eric Blake.
22276         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
22277         of sed/expr plus command substitutions, to save some forks.  While
22278         we are at it, prefer the POSIX $(...) form of command substitution,
22279         rather than the legacy form `...` (since the former is visually
22280         clearer and interacts better with quoting), and prefer the idiom:
22281           "if ! CMD; then ACTION ..."
22282         over the idiom:
22283           "if CMD; then :; else ACTION ..."
22284         which was required by legacy Bourne shells not supporting '!'.
22286 2012-05-12  Bruno Haible  <bruno@clisp.org>
22288         system-quote: Add more comments.
22289         * lib/system-quote.h: Add more comments about wilcards and limitations.
22290         Suggested by Eli Zaretskii <eliz@gnu.org>.
22292         sh-quote, system-quote: Add comments about wildcards.
22293         * lib/sh-quote.h: Clarify what happens with wildcard characters.
22294         * lib/system-quote.h: Likewise.
22295         Reported by Eli Zaretskii <eliz@gnu.org>.
22297 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22299         fsusage: check for GNU/Linux statvfs problem dynamically
22300         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
22301         Define STAT_STATFS2_BSIZE too, since in this case the code now
22302         checks dynamically whether statvfs is reliable, falling back on
22303         Linux-style statfs otherwise.
22304         (statvfs_works): New function, for dynamically testing statvfs.
22305         (get_fs_usage) [STAT_STATVFS]: Use it.
22306         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
22307         statvfs on GNU/Linux hosts, since it's now done dynamically.
22309 2012-05-10  Bruno Haible  <bruno@clisp.org>
22311         system-quote, execute, spawn-pipe: Escape '?' on Windows.
22312         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
22313         '?' character.
22314         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
22315         * tests/test-system-quote-main.c (check_all): Check also strings like
22316         "??????????".
22317         Reported by Eli Zaretskii <eliz@gnu.org>.
22319 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22321         _Noreturn: port config.h to gcc -Wundef
22322         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
22323         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
22324         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
22326 2012-05-10  Bruno Haible  <bruno@clisp.org>
22328         system-quote: Refactor.
22329         * lib/system-quote.h (system_quote_copy): Fix comment.
22330         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
22331         New functions, extracted from system_quote_copy.
22332         (system_quote_length, system_quote_copy): Use these functions.
22333         Reported by Paul Eggert.
22335 2012-05-08  Bruno Haible  <bruno@clisp.org>
22337         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
22338         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
22340 2012-05-08  Bruno Haible  <bruno@clisp.org>
22342         Tests for module 'system-quote'.
22343         * modules/system-quote-tests: New file.
22344         * tests/test-system-quote.sh: New file.
22345         * tests/test-system-quote-main.c: New file.
22346         * tests/test-system-quote-child.c: New file.
22348         New module 'system-quote'.
22349         * lib/system-quote.h: New file.
22350         * lib/system-quote.c: New file.
22351         * modules/system-quote: New file.
22353 2012-05-08  Bruno Haible  <bruno@clisp.org>
22355         sh-quote: Make C++ safe and allow multiple inclusion.
22356         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
22357         declarations in extern "C".
22359 2012-05-08  Bruno Haible  <bruno@clisp.org>
22361         sh-quote tests: Make tests stricter.
22362         * tests/test-sh-quote.c (check_one): Check the return value of
22363         shell_quote_copy.
22364         (main): Check a string with a CR character. Check a string that
22365         contains UCHAR_MAX.
22367 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
22369         warnings.m4: provide a means to specify the program to compile.
22370         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
22371         (gl_WARN_ADD): here.
22372         Use gl_AS_VAR_APPEND.
22373         Support an argument to specify the program to compile.
22374         (gl_WARN_ADD): Accept an argument to specify the program to compile.
22375         AC_SUBST the WARN_CFLAGS when they are used.
22376         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
22377         leave this to gl_WARN_ADD.
22379 2012-05-08  Eric Blake  <eblake@redhat.com>
22381         doc: recommendations on gettext version
22382         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
22383         choice between versions.
22384         * DEPENDENCIES (gettext): Cover both approaches.
22386 2012-05-08  Jim Meyering  <meyering@redhat.com>
22388         init.sh: explain why EXEEXT support uses aliases rather than functions
22389         * tests/init.sh: Add a comment.
22391         init.sh: don't let bash aliases interfere with tests
22392         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
22393         is bash.  This avoids problems for those who alias standard commands to
22394         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
22395         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
22397 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
22399         stdint: be more consistent with glibc, SunOS libc
22400         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
22401         (gl_int_fast16_t, gl_uint_fast16_t)
22402         (gl_int_fast32_t, gl_uint_fast32_t)
22403         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
22404         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
22405         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
22406         Be consistent with glibc by default, and with SunOS 5.10 and later
22407         if __sun is defined.  This lessens the likelihood of clashes if
22408         code compiled for older hosts is combined with code compiled for
22409         newer ones.  Problem reported by Niels Möller in
22410         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
22412 2012-05-07  Eric Blake  <eblake@redhat.com>
22414         isatty: relax license to LGPLv2+
22415         * modules/isatty (License): Relax license.
22417 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22419         stat-size: comment fix
22420         * lib/stat-size.h: Remove obsolete comment about indenting.
22422 2012-05-06  Bruno Haible  <bruno@clisp.org>
22424         Tests for module 'sh-quote'.
22425         * modules/sh-quote-tests: New file.
22426         * tests/test-sh-quote.c: New file.
22428 2012-05-06  Bruno Haible  <bruno@clisp.org>
22430         sh-quote: Improve shell_quote_argv's signature.
22431         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
22432         * lib/sh-quote.c (shell_quote_argv): Likewise.
22434 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22436         stdint: document issues with int_fast8_t etc.
22437         * doc/posix-headers/stdint.texi (stdint.h): Say that other
22438         stdint.h substitutes may define these types differently.  See
22439         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
22441 2012-05-05  Bruno Haible  <bruno@clisp.org>
22443         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
22444         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
22445         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
22446         or 'guessing no (mishandles large arguments)'.
22448 2012-05-05  Bruno Haible  <bruno@clisp.org>
22450         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
22451         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
22452         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22453         set gl_cv_func_link_follows_symlink to "guessing no".
22455 2012-05-05  Bruno Haible  <bruno@clisp.org>
22457         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
22458         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
22459         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
22460         "guessing no".
22461         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
22463 2012-05-05  Bruno Haible  <bruno@clisp.org>
22465         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
22466         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
22467         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22468         set gl_cv_struct_dirent_d_ino to "guessing yes".
22470 2012-05-05  Bruno Haible  <bruno@clisp.org>
22472         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
22473         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
22474         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
22475         "guessing yes".
22477 2012-05-05  Bruno Haible  <bruno@clisp.org>
22479         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
22480         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
22481         compiling to a glibc system, set gl_cv_func_signbit and
22482         gl_cv_func_signbit_gcc to "guessing yes".
22484 2012-05-05  Bruno Haible  <bruno@clisp.org>
22486         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
22487         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
22488         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
22489         to "guessing yes".
22490         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
22491         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
22493 2012-05-05  Bruno Haible  <bruno@clisp.org>
22495         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
22496         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
22497         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
22498         gl_cv_func_realpath_works to "guessing yes".
22500 2012-05-05  Bruno Haible  <bruno@clisp.org>
22502         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
22503         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
22504         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
22506 2012-05-04  Bruno Haible  <bruno@clisp.org>
22508         Tweak last commit.
22509         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
22510         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22512 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22514         unistd_h: make it easier to avoid sys_types_h
22515         This is useful for Emacs, which has its own method of porting to
22516         Windows, and which therefore does not need the sys_types_h module.
22517         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
22518         code moved here from gl_SYS_TYPES_H.
22519         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
22520         using the code directly.
22521         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
22522         gl_SYS_TYPES_H.
22523         * modules/sys_types (Files):
22524         * modules/unistd (Files): Add m4/off_t.m4.
22526 2012-05-03  Bruno Haible  <bruno@clisp.org>
22528         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
22529         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
22530         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
22531         "guessing yes" or "guessing no".
22532         (gl_FUNC_LSTAT): Update.
22533         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
22534         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
22535         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
22537 2012-05-03  Bruno Haible  <bruno@clisp.org>
22539         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
22540         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
22541         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
22542         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
22543         cross-compiling, choose the first alternative on glibc systems.
22544         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
22546 2012-05-03  Bruno Haible  <bruno@clisp.org>
22548         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
22549         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
22550         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
22552 2012-05-03  Bruno Haible  <bruno@clisp.org>
22554         chown: Avoid "guessing no" when cross-compiling to glibc systems.
22555         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
22557 2012-05-03  Bruno Haible  <bruno@clisp.org>
22559         Avoid "guessing no" guesses when cross-compiling to glibc systems.
22560         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
22561         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
22562         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
22563         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
22564         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
22565         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
22566         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
22567         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
22568         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
22569         compiling to glibc systems, set gl_cv_func_chown_slash_works,
22570         gl_cv_func_chown_ctime_works to "guessing yes".
22571         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
22572         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
22573         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
22574         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
22575         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
22576         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
22577         compiling to glibc systems, set gl_cv_func_open_directory_works to
22578         "guessing yes".
22579         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
22580         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
22581         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
22582         "guessing yes".
22583         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
22584         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
22585         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
22586         compiling to glibc systems, set gl_cv_func_floorf_ieee to
22587         "guessing yes".
22588         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
22589         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
22590         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
22591         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
22592         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
22593         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
22594         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
22595         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
22596         "guessing yes".
22597         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
22598         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
22599         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
22600         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
22601         "guessing yes".
22602         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
22603         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
22604         "guessing yes".
22605         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
22606         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
22607         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
22608         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
22609         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
22610         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
22611         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
22612         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
22613         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
22614         compiling to glibc systems, set gl_cv_func_log10f_ieee to
22615         "guessing yes".
22616         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
22617         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
22618         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
22619         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
22620         "guessing yes".
22621         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
22622         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
22623         "guessing yes".
22624         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
22625         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
22626         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
22627         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
22628         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
22629         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
22630         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
22631         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
22632         compiling to glibc systems, set gl_cv_func_mkfifo_works to
22633         "guessing yes".
22634         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
22635         compiling to glibc systems, set gl_cv_func_mknod_works to
22636         "guessing yes".
22637         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
22638         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
22639         "guessing yes".
22640         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
22641         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
22642         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
22643         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
22644         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
22645         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
22646         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
22647         compiling to glibc systems, set gl_cv_func_svid_putenv to
22648         "guessing yes".
22649         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
22650         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
22651         "guessing yes".
22652         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
22653         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
22654         "guessing yes".
22655         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
22656         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
22657         to "guessing yes".
22658         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
22659         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
22660         to "guessing yes".
22661         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
22662         compiling to glibc systems, set gl_cv_func_rmdir_works to
22663         "guessing yes".
22664         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
22665         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
22666         gl_cv_func_unlink_parent_fails to "guessing yes".
22667         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
22668         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
22669         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
22670         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
22671         gl_cv_func_rename_dest_works to "guessing yes".
22672         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
22673         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
22674         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
22675         compiling to glibc systems, set gl_cv_func_roundf_ieee to
22676         "guessing yes".
22677         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
22678         compiling to glibc systems, set gl_cv_func_roundl_ieee to
22679         "guessing yes".
22680         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
22681         compiling to glibc systems, set gl_cv_func_setenv_works to
22682         "guessing yes".
22683         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
22684         compiling to glibc systems, set gl_cv_func_unsetenv_works to
22685         "guessing yes".
22686         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
22687         compiling to glibc systems, set gl_cv_func_sleep_works to
22688         "guessing yes".
22689         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
22690         compiling to glibc systems, set gl_cv_func_stat_file_slash to
22691         "guessing yes".
22692         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
22693         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
22694         "guessing yes".
22695         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
22696         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
22697         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
22698         compiling to glibc systems, set gl_cv_func_truncf_ieee to
22699         "guessing yes".
22700         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
22701         compiling to glibc systems, set gl_cv_func_truncl_ieee to
22702         "guessing yes".
22703         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
22704         compiling to glibc systems, set gl_cv_func_usleep_works to
22705         "guessing yes".
22706         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
22707         compiling to glibc systems, set gl_cv_func_futimesat_works to
22708         "guessing yes".
22710 2012-05-03  Bruno Haible  <bruno@clisp.org>
22712         Say "guessing yes" or "guessing no" when cross-compiling.
22713         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
22714         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
22715         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
22716         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
22717         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
22718         am_cv_func_working_getline to "guessing yes" or "guessing no".
22719         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
22720         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
22721         (gl_FUNC_MEMMEM): When cross-compiling, set
22722         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
22723         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
22724         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
22725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
22726         set gl_cv_func_strcasestr_works_always to "guessing yes" or
22727         "guessing no".
22728         (gl_FUNC_STRCASESTR): When cross-compiling, set
22729         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
22730         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
22731         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
22732         (gl_FUNC_STRSTR): When cross-compiling, set
22733         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
22734         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
22735         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
22736         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
22737         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
22739 2012-05-01  Bruno Haible  <bruno@clisp.org>
22741         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22742         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22743         * build-aux/reloc-ldflags: Likewise.
22744         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22746 2012-05-01  Bruno Haible  <bruno@clisp.org>
22748         gnulib-tool: Remove transitional code.
22749         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22750         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22752 2012-05-01  Bruno Haible  <bruno@clisp.org>
22754         getcwd: Fix misindentation.
22755         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22757 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22759         exclude: process exclude and include directives in order
22760         This restores the pre-2009 behavior, and is part of a fix of a
22761         grep bug reported by Quentin Arce in
22762         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22763         * lib/exclude.c (struct exclude): Remove 'tail' member.
22764         (new_exclude_segment): Prepend the new segment instead of appending.
22765         Return void, since that's now more convenient.
22766         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22767         (file_name_matches): Renamed from excluded_file_name_p.
22768         (file_pattern_matches, file_name_matches):
22769         Return true if the pattern matches, not if it excludes.
22770         All callers changed.
22771         (excluded_file_name): Process the list in reverse order;
22772         since the list is now reversed this restores the pre-2009 behavior.
22773         (add_exclude): Adjust to new reversed-order list.  Use local var
22774         rather than macro, for clarity.
22775         * tests/test-exclude7.sh: Adjust to corrected behavior.
22777         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22778         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22779         it's not possible here.  Handle the case of \ at end of pattern
22780         without dumping core.
22781         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22783         _Noreturn: future-proof non-GNU and non-MSVC compilers
22784         * build-aux/snippet/_Noreturn.h (_Noreturn):
22785         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22786         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22787         C11 or later.  This is more likely to work with random future C
22788         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22789         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22791         exclude: handle wildcards with FNM_EXTMATCH
22792         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22793         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22794         comment that "has wildcards" really means "has or may have
22795         wildcards".  Simplify by avoiding the need to call strcspn.
22797 2012-04-29  Bruno Haible  <bruno@clisp.org>
22799         gnulib-tool: Fix list of authors.
22800         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22802 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22804         bootstrap: support Automake-NG in $buildreq
22805         * bootstrap (check_versions): Handle automake and aclocal from
22806         Automake-NG specially.  They can be specified as respectively
22807         the "automake-ng" and "aclocal-ng" requirements.
22809 2012-04-25  Eric Blake  <eblake@redhat.com>
22811         bootstrap: only force latest Makefile.in.in for gettext module
22812         * build-aux/bootstrap (with_gettext): Only install latest
22813         Makefile.in.in for projects requesting bleeding edge gettext.
22815 2012-04-22  Bruno Haible  <bruno@clisp.org>
22817         doc: Mention reason for replacement on glibc/Linux systems.
22818         * doc/posix-functions/dprintf.texi: Mention the problem with special
22819         'long double' values.
22820         * doc/posix-functions/fprintf.texi: Likewise.
22821         * doc/posix-functions/printf.texi: Likewise.
22822         * doc/posix-functions/snprintf.texi: Likewise.
22823         * doc/posix-functions/sprintf.texi: Likewise.
22824         * doc/posix-functions/vdprintf.texi: Likewise.
22825         * doc/posix-functions/vfprintf.texi: Likewise.
22826         * doc/posix-functions/vprintf.texi: Likewise.
22827         * doc/posix-functions/vsnprintf.texi: Likewise.
22828         * doc/posix-functions/vsprintf.texi: Likewise.
22829         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22830         platforms with F_DUPFD_CLOEXEC problems.
22831         * doc/posix-functions/glob.texi: Mention which platforms are affected
22832         by the problem with symbolic links.
22833         * doc/posix-functions/linkat.texi: Mention the problem with
22834         AT_SYMLINK_FOLLOW on Linux.
22836 2012-04-22  Bruno Haible  <bruno@clisp.org>
22838         pwrite: Don't replace on all platforms.
22839         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22841 2012-04-22  Bruno Haible  <bruno@clisp.org>
22843         rint* tests: Avoid gcc warnings.
22844         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22845         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22846         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22848 2012-04-21  Bruno Haible  <bruno@clisp.org>
22850         users.txt: Update.
22851         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22852         switched from CVS to git, bzr, or svn.
22854 2012-04-21  Bruno Haible  <bruno@clisp.org>
22856         Large File Support for native Windows platforms.
22858         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22859         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22861         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22862         type.
22863         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22864         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22865         * doc/posix-headers/sys_types.texi: Mention the effect of the
22866         'largefile' module.
22868         * lib/fcntl.in.h: Add comments about off_t.
22869         * modules/fcntl-h (Depends-on): Add sys_types.
22871         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22872         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22873         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22874         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22875         * modules/unistd (Depends-on): Add sys_types.
22876         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22878         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22879         instead of lseek.
22880         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22881         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22882         * modules/lseek (Depends-on): Add sys_types.
22884         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22885         msvc-nothrow.h.
22886         (SetFileSize): New function.
22887         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22888         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22889         if Large File Support is requested.
22890         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22891         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22893         * lib/stdio.in.h: Add comments about off_t.
22894         * modules/stdio (Depends-on): Add sys_types.
22896         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22897         instead of ftello.
22898         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22899         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22900         (gl_PREREQ_FTELLO): New macro.
22901         * modules/ftello (Depends-on): Add sys_types.
22902         (configure.ac): Incoke gl_PREREQ_FTELLO.
22904         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22905         instead of fseeko.
22906         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22907         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22908         (gl_PREREQ_FSEEKO): New macro.
22909         * modules/fseeko (Depends-on): Add sys_types.
22910         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22912         * lib/sys_stat.in.h: Add comments about off_t.
22913         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22914         64-bit integer for st_size in 'struct stat'.
22915         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22916         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22917         * modules/sys_stat (Depends-on): Add sys_types.
22918         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22920         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22921         instead of stat or _stat.
22923         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22924         'struct _stati64' instead of fstat and 'struct stat'.
22925         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22926         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22928         Reported by Ray Satiro <raysatiro@yahoo.com>.
22930 2012-04-19  Eric Blake  <eblake@redhat.com>
22932         bootstrap: accommodate older libtool
22933         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22934         Reported by Daniel P. Berrange.
22936 2012-04-19  Jim Meyering  <meyering@redhat.com>
22938         announce-gen: avoid failure due to lack of Digest::SHA1
22939         Even with the preferred Digest::SHA available, this script
22940         would fail when the backup module, Digest::SHA1, was not installed.
22941         * build-aux/announce-gen: Quote the conditional use of "use".
22942         Reported by Reuben Thomas in:
22943         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22945         bootstrap: don't let a user's CDPATH setting affect this script
22946         When CDPATH is set, cd will sometimes generate output.
22947         When "cd" is run in a subshell whose output matters, that
22948         surprising-to-some output can cause malfunction.
22949         Unsetting CDPATH turns off this shell "feature."
22950         * build-aux/bootstrap (CDPATH): Unset.
22951         Reported by Reuben Thomas in:
22952         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22953         and inspired by his patch here:
22954         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22956 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22957         and Jim Meyering  <meyering@redhat.com>
22959         maint.mk: catch "see @xref{}" and similar
22960         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22961         prohibit "See also @xref{", "Also see @pxref{", and similar.
22963 2012-04-16  Jim Meyering  <meyering@redhat.com>
22965         bootstrap: really use gnulib's po/Makefile.in.in
22966         * build-aux/bootstrap: Correct the source file name in previous change.
22967         Reported by Akim Demaille.
22969         configmake: correct minor inconsistency in Makefile rule
22970         * modules/configmake (Makefile.am): All other rules like this one
22971         run the final "mv -f ..." in the same backslash-continued command
22972         as the one that does everything else.  This one put the mv -f ...
22973         command on a separate, non-backslash-continued line.
22974         Make it like the others.
22976         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
22977         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
22978         the one from gettext.  Reported by Akim Demaille.
22980 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
22982         Fix recursion of install-* into po directories.
22983         Bison's install-pdf bug reported by Hans Aberg at
22984         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
22985         * build-aux/po/Makefile.in.in (install-dvi, install-html)
22986         (install-info, install-pdf, install-ps): New targets.
22988 2012-04-16  Jim Meyering  <meyering@redhat.com>
22990         maint: avoid spurious "make sc_maint" failure
22991         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
22992         exempt all *.class file names, for lib/javaversion.class.
22994 2012-04-15  Bruno Haible  <bruno@clisp.org>
22996         lseek: Make configure test independent of environment.
22997         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
22998         Windows, we know that lseek() on pipes is broken; skip the runtime
22999         test.
23001 2012-04-14  Bruno Haible  <bruno@clisp.org>
23003         stat: Bypass buggy override in mingw64.
23004         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
23005         * lib/stat.c (stat) [mingw64]: Define to _stat.
23006         * doc/posix-functions/stat.texi: Mention mingw64 bug.
23008 2012-04-14  Bruno Haible  <bruno@clisp.org>
23010         pathmax: Fix compilation error on MSVC 9.
23011         * modules/pathmax (Depends-on): Add unistd.
23013 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
23015         README: document pointer comparison assumption
23016         * README (Portability guidelines): Document assumption about
23017         pointer comparisons, in response to a recent bug-gnulib comment by
23018         Jeffrey Kegler.
23020 2012-04-12  Bruno Haible  <bruno@clisp.org>
23022         Tests for module 'getrusage'.
23023         * modules/getrusage-tests: New file.
23024         * tests/test-getrusage.c: New file.
23026         New module 'getrusage'.
23027         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
23028         warn-on-use.h.
23029         (getrusage): New declaration.
23030         * lib/getrusage.c: New file.
23031         * m4/getrusage.m4: New file.
23032         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
23033         is declared.
23034         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
23035         HAVE_GETRUSAGE.
23036         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
23037         snippet/c++defs, snippet/warn-on-use.
23038         (Makefile.am): Update generation of sys/resource.h. Substitute
23039         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
23040         * modules/getrusage: New file.
23041         * doc/posix-functions/getrusage.texi: Mention the new module.
23043 2012-04-12  Bruno Haible  <bruno@clisp.org>
23045         Tests for module 'sys_resource'.
23046         * modules/sys_resource-tests: New file.
23047         * tests/test-sys_resource.c: New file.
23049         New module 'sys_resource'.
23050         * lib/sys_resource.in.h: New file.
23051         * m4/sys_resource_h.m4: New file.
23052         * modules/sys_resource: New file.
23053         * doc/posix-headers/sys_resource.texi: Mention the new module.
23055 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
23057         ioctl: Fix compilation error on mingw.
23058         * lib/ioctl.c: Include <windows.h>.
23059         Also reported by Ray Satiro <raysatiro@yahoo.com>.
23061 2012-04-04  Jim Meyering  <meyering@redhat.com>
23063         regex: correct #pragma guard expression
23064         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
23065         not 4.3.  Correct its cpp guard expression.
23067 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
23069         regex: remove unnecessary type punning
23070         Problem reported by Vladimir Serbinenko in
23071         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
23072         * lib/regex.h (struct re_pattern_buffer): Change the type of
23073         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
23074         Fix comment to match code.
23075         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
23076         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
23077         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
23078         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
23079         (set_regs):
23080         Omit no-longer-necessary casts.
23082 2012-04-03  Bruno Haible  <bruno@clisp.org>
23084         Tests for module 'ilogbl'.
23085         * modules/ilogbl-tests: New file.
23086         * tests/test-ilogbl.c: New file.
23088         New module 'ilogbl'.
23089         * lib/math.in.h (ilogbl): New declaration.
23090         * lib/ilogbl.c: New file.
23091         * m4/ilogbl.m4: New file.
23092         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
23093         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
23094         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
23095         Split sed invocation, to avoid the limit of 100 substitutions of
23096         HP-UX 'sed'.
23097         * modules/ilogbl: New file.
23098         * tests/test-math-c++.cc: Check the declaration of ilogbl.
23099         * doc/posix-functions/ilogbl.texi: Mention the new module.
23101 2012-04-03  Bruno Haible  <bruno@clisp.org>
23103         Tests for module 'ilogbf'.
23104         * modules/ilogbf-tests: New file.
23105         * tests/test-ilogbf.c: New file.
23107         New module 'ilogbf'.
23108         * lib/math.in.h (ilogbf): New declaration.
23109         * lib/ilogbf.c: New file.
23110         * m4/ilogbf.m4: New file.
23111         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
23112         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
23113         REPLACE_ILOGBF.
23114         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
23115         REPLACE_ILOGBF.
23116         * modules/ilogbf: New file.
23117         * tests/test-math-c++.cc: Check the declaration of ilogbf.
23118         * doc/posix-functions/ilogbf.texi: Mention the new module.
23120 2012-04-03  Bruno Haible  <bruno@clisp.org>
23122         Tests for module 'ilogb'.
23123         * modules/ilogb-tests: New file.
23124         * tests/test-ilogb.c: New file.
23125         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
23126         tests/test-logb-ieee.h.
23128         New module 'ilogb'.
23129         * lib/math.in.h (ilogb): New declaration.
23130         * lib/ilogb.c: New file.
23131         * m4/ilogb.m4: New file.
23132         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
23133         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
23134         REPLACE_ILOGB.
23135         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
23136         REPLACE_ILOGB.
23137         * modules/ilogb: New file.
23138         * tests/test-math-c++.cc: Check the declaration of ilogb.
23139         * doc/posix-functions/ilogb.texi: Mention the new module.
23141 2012-04-03  Bruno Haible  <bruno@clisp.org>
23143         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
23144         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
23145         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
23146         (main): Check their values.
23147         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
23148         problem.
23150 2012-04-03  Bruno Haible  <bruno@clisp.org>
23152         Tests for module 'logbl-ieee'.
23153         * modules/logbl-ieee-tests: New file.
23154         * tests/test-logbl-ieee.c: New file.
23156         New module 'logbl-ieee'.
23157         * modules/logbl-ieee: New file.
23159         Tests for module 'logb-ieee'.
23160         * modules/logb-ieee-tests: New file.
23161         * tests/test-logb-ieee.c: New file.
23163         New module 'logb-ieee'.
23164         * modules/logb-ieee: New file.
23166         Tests for module 'logbf-ieee'.
23167         * modules/logbf-ieee-tests: New file.
23168         * tests/test-logbf-ieee.c: New file.
23169         * tests/test-logb-ieee.h: New file.
23171         New module 'logbf-ieee'.
23172         * modules/logbf-ieee: New file.
23174 2012-04-03  Bruno Haible  <bruno@clisp.org>
23176         Tests for module 'logbl'.
23177         * modules/logbl-tests: New file.
23178         * tests/test-logbl.c: New file.
23180         New module 'logbl'.
23181         * lib/math.in.h (logbl): New declaration.
23182         * lib/logbl.c: New file.
23183         * m4/logbl.m4: New file.
23184         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
23185         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
23186         REPLACE_LOGBL.
23187         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
23188         REPLACE_LOGBL.
23189         * modules/logbl: New file.
23190         * tests/test-math-c++.cc: Check the declaration of logbl.
23191         * doc/posix-functions/logbl.texi: Mention the new module.
23193 2012-04-02  Bruno Haible  <bruno@clisp.org>
23195         Tests for module 'logbf'.
23196         * modules/logbf-tests: New file.
23197         * tests/test-logbf.c: New file.
23199         New module 'logbf'.
23200         * lib/math.in.h (logbf): New declaration.
23201         * lib/logbf.c: New file.
23202         * m4/logbf.m4: New file.
23203         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
23204         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
23205         REPLACE_LOGBF.
23206         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
23207         REPLACE_LOGBF.
23208         * modules/logbf: New file.
23209         * tests/test-math-c++.cc: Check the declaration of logbf.
23210         * doc/posix-functions/logbf.texi: Mention the new module.
23212 2012-04-02  Bruno Haible  <bruno@clisp.org>
23214         logb tests: More tests.
23215         * tests/test-logb.h: New file, based on tests/test-logb.c and
23216         tests/test-frexp.h.
23217         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
23218         (main): Just invoke test_function.
23219         * modules/logb-tests (Files): Add tests/test-logb.h,
23220         tests/minus-zero.h, tests/randomd.c.
23221         (Makefile.am): Add randomd.c to test_logb_SOURCES.
23223         logb: Provide replacement and workarounds.
23224         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
23225         is 1.
23226         * lib/logb.c: New file.
23227         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
23228         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
23229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
23230         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
23231         * modules/logb (Files): Add lib/logb.c.
23232         (Depends-on): Add isfinite, frexp, isnand.
23233         (configure.ac): Compile the replacement code logb.c if needed.
23234         * tests/test-math-c++.cc: Check the declaration of logb.
23235         * doc/posix-functions/logb.texi: Mention the replacement and the bug
23236         with subnormal numbers.
23238 2012-04-02  Bruno Haible  <bruno@clisp.org>
23240         log10* tests: Speed up.
23241         * tests/test-log10.h (test_function): Reduce amount of random numbers
23242         to test.
23244 2012-04-01  Bruno Haible  <bruno@clisp.org>
23246         logf-ieee: Fix test whether logf works.
23247         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
23249 2012-04-01  Bruno Haible  <bruno@clisp.org>
23251         log10l: Work around log10l-ieee test failure on IRIX 6.5.
23252         * lib/log10l.c: Include <float.h>
23253         (log10l): On IRIX, normalize the +Infinity value.
23254         * modules/log10l (Depends-on): Add 'float'.
23255         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
23256         +Infinity.
23258         log10f-ieee: Work around test failure on NetBSD 5.1.
23259         * m4/log10f-ieee.m4: New file.
23260         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
23261         test whether log10f works with a negative argument. Replace it if not.
23262         * lib/log10f.c (log10f): For negative arguments, return NaN.
23263         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
23264         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
23265         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
23267         log10f-ieee: Work around test failure on Solaris 9.
23268         * modules/log10f-ieee (Depends-on): Add log10-ieee.
23269         (configure.ac): Require gl_FUNC_LOG10F.
23271         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23272         * m4/log10-ieee.m4: New file.
23273         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
23274         whether log10 works with a negative argument. Replace it if not.
23275         * lib/log10.c (log10): For negative arguments, return NaN.
23276         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
23277         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
23278         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
23280         Tests for module 'log10l-ieee'.
23281         * modules/log10l-ieee-tests: New file.
23282         * tests/test-log10l-ieee.c: New file.
23284         New module 'log10l-ieee'.
23285         * modules/log10l-ieee: New file.
23287         Tests for module 'log10-ieee'.
23288         * modules/log10-ieee-tests: New file.
23289         * tests/test-log10-ieee.c: New file.
23291         New module 'log10-ieee'.
23292         * modules/log10-ieee: New file.
23294         Tests for module 'log10f-ieee'.
23295         * modules/log10f-ieee-tests: New file.
23296         * tests/test-log10f-ieee.c: New file.
23297         * tests/test-log10-ieee.h: New file.
23299         New module 'log10f-ieee'.
23300         * modules/log10f-ieee: New file.
23302 2012-04-01  Bruno Haible  <bruno@clisp.org>
23304         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
23305         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
23306         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
23307         workaround.
23308         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
23309         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
23310         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
23311         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
23312         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
23313         (Depends-on): Update conditions.
23314         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
23315         IRIX 6.5, OSF/1 5.1 problems.
23317 2012-04-01  Bruno Haible  <bruno@clisp.org>
23319         log10f: Work around OSF/1 5.1 bug.
23320         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
23321         * lib/log10f.c (log10f): If logf exists, use it and provide just the
23322         workaround.
23323         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
23324         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
23325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
23326         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
23327         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
23328         (Depends-on): Update conditions.
23329         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
23331 2012-04-01  Bruno Haible  <bruno@clisp.org>
23333         log10: Work around OSF/1 5.1 bug.
23334         * lib/math.in.h (log10): New declaration.
23335         * lib/log10.c: New file.
23336         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
23337         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
23338         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
23339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
23340         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
23341         * modules/log10 (Files): Add lib/log10.c.
23342         (Depends-on): Add math.
23343         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
23344         * tests/test-math-c++.cc: Check the declaration of log10.
23345         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
23347 2012-03-31  Bruno Haible  <bruno@clisp.org>
23349         log10l tests: More tests.
23350         * modules/log10l-tests (Files): Add tests/test-log10l.h,
23351         tests/minus-zero.h, tests/randoml.c.
23352         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
23353         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
23354         (main): Invoke test_function.
23356         log10f tests: More tests.
23357         * modules/log10f-tests (Files): Add tests/test-log10.h,
23358         tests/minus-zero.h, tests/randomf.c.
23359         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
23360         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
23361         (main): Invoke test_function.
23363         log10 tests: More tests.
23364         * tests/test-log10.h: New file.
23365         * modules/log10-tests (Files): Add tests/test-log10.h,
23366         tests/minus-zero.h, tests/randomd.c.
23367         (Makefile.am): Add randomd.c to test_log10_SOURCES.
23368         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
23369         (main): Invoke test_function.
23371 2012-03-31  Simon Josefsson  <simon@josefsson.org>
23373         fflush: Fix syntax error.
23374         * lib/fflush.c: Include unused-parameter.h, needed for
23375         _GL_UNUSED_PARAMETER.
23376         * modules/fflush (Depends-on): Add snippet/unused-parameter.
23378 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23380         regex: pacify GCC when compiling GRUB
23381         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
23382         a diagnostic.  Reported by Vladimir Serbinenko in
23383         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
23385 2012-03-29  Eric Blake  <eblake@redhat.com>
23387         stdio: don't assume gets any more
23388         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
23389         support.
23390         * modules/stdio (Makefile.am): Likewise.
23391         * lib/stdio-read.c (gets): Likewise.
23392         * tests/test-stdio-c++.cc: Likewise.
23393         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
23394         * lib/stdio.in.h (gets): Make warning occur in more places.
23395         * doc/posix-functions/gets.texi (gets): Update documentation.
23396         Reported by Christer Solskogen.
23398         maint.mk: fix syntax checks without exclusions
23399         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
23400         Reported by Daniel P. Berrange.
23402         strerror_r: avoid compiler warning
23403         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
23404         level.
23406         fflush: avoid compiler warning
23407         * lib/fflush.c (update_fpos_cache): Mark variables that are
23408         potentially unused.
23410 2012-03-25  Bruno Haible  <bruno@clisp.org>
23412         Tests for module 'localeconv'.
23413         * modules/localeconv-tests: New file.
23414         * tests/test-localeconv.c: New file.
23416         New module 'localeconv'.
23417         * lib/locale.in.h (localeconv): New declaration.
23418         * lib/localeconv.c: New file.
23419         * m4/localeconv.m4: New file.
23420         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
23421         REPLACE_LOCALECONV.
23422         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
23423         REPLACE_LOCALECONV.
23424         * modules/localeconv: New file.
23425         * modules/nl_langinfo (Depends-on): Add localeconv.
23426         * modules/human (Depends-on): Likewise.
23427         * doc/posix-functions/localeconv.texi: Mention the new module.
23429 2012-03-25  Bruno Haible  <bruno@clisp.org>
23431         locale: Provide a complete 'struct lconv'.
23432         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23433         'struct lconv' does not contain int_p_cs_precedes.
23434         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23435         * doc/posix-headers/locale.texi: Update.
23437         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
23438         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
23439         * doc/posix-headers/locale.texi: Update.
23441         locale: Provide a working 'struct lconv'.
23442         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
23443         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23444         'struct lconv' does not even contain decimal_point.
23445         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
23446         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
23447         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23448         * doc/posix-headers/locale.texi: Mention the problems with
23449         'struct lconv'.
23450         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23452 2012-03-24  Bruno Haible  <bruno@clisp.org>
23454         Enable common subexpression optimization in GCC.
23455         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
23456         macros.
23457         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
23458         GCC attribute 'const'.
23459         (uc_locale_language): Declare with GCC attribute 'pure'.
23460         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
23461         with GCC attribute 'const'.
23462         * lib/unictype.in.h (uc_is_general_category_withtable,
23463         uc_combining_class, uc_combining_class_name,
23464         uc_combining_class_long_name, uc_bidi_class_name,
23465         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
23466         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
23467         uc_decimal_value, uc_digit_value, uc_numeric_value,
23468         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
23469         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
23470         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
23471         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
23472         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
23473         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
23474         Declare with GCC attribute 'const'.
23475         (uc_general_category_name, uc_general_category_long_name,
23476         uc_general_category_byname, uc_general_category,
23477         uc_is_general_category, uc_combining_class_byname,
23478         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
23479         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
23480         Declare with GCC attribute 'pure'.
23481         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
23482         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
23483         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
23484         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
23485         with GCC attribute 'pure'.
23486         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
23487         'const'.
23488         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
23489         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
23490         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
23491         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
23492         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
23493         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
23494         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
23495         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
23496         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
23497         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
23498         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
23499         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
23500         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
23501         GCC attribute 'pure'.
23502         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
23503         'const'.
23504         * lib/uniwidth.in.h (uc_width): Simplify declaration.
23505         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
23506         u32_strwidth): Declare with GCC attribute 'pure'.
23508         Enable common subexpression optimization in GCC.
23509         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23510         (alphasort): Declare with GCC attribute 'pure'.
23511         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23512         (atoll): Declare with GCC attribute 'pure'.
23513         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23514         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23515         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
23516         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23517         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
23518         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
23519         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
23521 2012-03-24  Bruno Haible  <bruno@clisp.org>
23523         gnulib-tool: Avoid unintended error output from 'cmp'.
23524         * gnulib-tool (func_add_file, func_update_file, func_import): Use
23525         "cmp -s", not "cmp > /dev/null".
23527 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
23529         gnulib-tool: fix imprecise comments w.r.t. an automake bug
23531         It's not just Automake versions < 1.9b that creates an empty
23532         pkgdatadir at installation time if pkgdata_DATA is specified
23533         to empty; modern automake versions do this as well, at least
23534         until automake 1.11.4 (not yet released at the moment of writing,
23535         but soon to appear).  That behaviour was generally considered a
23536         feature rather than a bug, at least until this discussion:
23537         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
23539         See also automake bugs #10997 and #11030.
23541         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
23542         reference to relevant automake bug numbers.
23543         (func_emit_tests_Makefile_am): Likewise.
23545 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23547         announce-gen: use Digest::SHA when possible
23548         * build-aux/announce-gen: Use Digest::SHA when possible, falling
23549         back to Digest::SHA1 if necessary.
23551 2012-03-20  Jim Meyering  <meyering@redhat.com>
23553         tests: avoid gcc warnings about argv vs. const initializers
23554         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
23555         warnings about discarding 'const' qualifier from pointer target type.
23556         * tests/test-posix_spawn2.c (main): Likewise.
23558 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23560         README-release: simplify slightly
23561         * top/README-release: Run "git checkout master" only once.
23563 2012-03-15  Mark Wielaard  <mark@klomp.org>
23565         git-merge-changelog: add specific example on how to use with hg.
23566         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
23568 2012-03-18  Mark Wielaard  <mark@klomp.org>
23570         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
23572 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
23574         git-version-gen: don't let "prefix" envvar cause trouble
23575         * build-aux/git-version-gen (prefix): Initialize properly,
23576         so as not to use a value specified via the environment.
23577         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
23579 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23581         regex: diagnose too-large repeat counts in EREs
23582         Previously, the code did not diagnose the too-large repeat count
23583         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
23584         as if it were 'b\{1000000000}', which is unexpected.
23585         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
23586         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
23587         is a reasonable one for this problem.  Another option would be to
23588         create a new REG_OVERFLOW error for repeat counts that are too large.
23589         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
23590         count is too large, so that the caller can distinguish the two cases.
23591         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
23592         "Too large" return code, and that repeat counts are one example of this.
23594 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23596         doc: some glibc x32 integer width issues
23597         * doc/posix-headers/sys_types.texi (sys/types.h):
23598         * doc/posix-headers/time.texi (time.h):
23599         Mention that glibc x32 does not conform to POSIX in a couple of
23600         areas related to integer widths.
23602 2012-03-15  Bruno Haible  <bruno@clisp.org>
23604         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
23605         * lib/fma.c (VOLATILE): New macro.
23606         (FUNC): Use it to work around a GCC compiler bug.
23608 2012-03-13  Bruno Haible  <bruno@clisp.org>
23610         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23611         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
23612         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
23613         REPLACE_HYPOTL to 1.
23614         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
23616 2012-03-13  Bruno Haible  <bruno@clisp.org>
23618         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23619         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
23620         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
23621         REPLACE_REMAINDERL to 1.
23622         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
23623         bug.
23625 2012-03-13  Bruno Haible  <bruno@clisp.org>
23627         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23628         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
23629         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
23630         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
23631         too big rounding errors.
23632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
23633         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
23634         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
23635         (Depends-on): Update conditions.
23636         * tests/test-sqrtl.c (my_ldexpl): New function.
23637         (main): Add test of a particular value.
23638         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23640 2012-03-13  Pádraig Brady  <P@draigBrady.com>
23642         doc: Update timer_* platform portability notes.
23643         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
23644         that always return ENOSYS.
23645         * doc/posix-functions/timer_delete.texi: Likewise.
23646         * doc/posix-functions/timer_gettime.texi: Likewise.
23647         * doc/posix-functions/timer_settime.texi: Likewise.
23649 2012-03-13  Bruno Haible  <bruno@clisp.org>
23651         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23652         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
23653         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
23654         REPLACE_CBRTL to 1.
23655         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23657 2012-03-13  Bruno Haible  <bruno@clisp.org>
23659         remainderl: Avoid compilation error on AIX >= 5.2.
23660         * lib/math.in.h (remainderl): Undefine macro from the system header.
23662 2012-03-13  Bruno Haible  <bruno@clisp.org>
23664         Avoid compilation errors with MSVC option -fp:strict.
23665         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
23666         * lib/cbrtf.c: Likewise.
23667         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23669 2012-03-12  Bruno Haible  <bruno@clisp.org>
23671         uninorm: Don't crash in out-of-memory conditions.
23672         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
23673         gracefully.
23674         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
23675         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
23677 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
23679         quote: fix syntax-check
23680         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
23681         also exports quote_quoting_options.
23683 2012-03-12  Simon Josefsson  <simon@josefsson.org>
23685         Collapse list of copyright years to ranges.  See
23686         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
23687         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
23688         build-aux/csharpexec.sh.in, build-aux/gnupload,
23689         build-aux/install-reloc, build-aux/javacomp.sh.in,
23690         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
23691         build-aux/move-if-change, build-aux/reloc-ldflags,
23692         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
23694 2012-03-11  Bruno Haible  <bruno@clisp.org>
23696         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23697         * m4/log2f-ieee.m4: New file.
23698         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
23699         whether log2f works with a minus zero argument. Replace it if not.
23700         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
23701         (Depends-on): Add log2-ieee.
23702         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
23703         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
23705         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23706         * m4/log2-ieee.m4: New file.
23707         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
23708         whether log2 works with a minus zero argument. Replace it if not.
23709         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
23710         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
23711         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
23713         Tests for module 'log2l-ieee'.
23714         * modules/log2l-ieee-tests: New file.
23715         * tests/test-log2l-ieee.c: New file.
23717         New module 'log2l-ieee'.
23718         * modules/log2l-ieee: New file.
23720         Tests for module 'log2-ieee'.
23721         * modules/log2-ieee-tests: New file.
23722         * tests/test-log2-ieee.c: New file.
23724         New module 'log2-ieee'.
23725         * modules/log2-ieee: New file.
23727         Tests for module 'log2f-ieee'.
23728         * modules/log2f-ieee-tests: New file.
23729         * tests/test-log2f-ieee.c: New file.
23730         * tests/test-log2-ieee.h: New file.
23732         New module 'log2f-ieee'.
23733         * modules/log2f-ieee: New file.
23735 2012-03-11  Bruno Haible  <bruno@clisp.org>
23737         Tests for module 'log2l'.
23738         * modules/log2l-tests: New file.
23739         * tests/test-log2l.c: New file.
23741         New module 'log2l'.
23742         * lib/math.in.h (log2l): New declaration.
23743         * lib/log2l.c: New file.
23744         * m4/log2l.m4: New file.
23745         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23746         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23747         REPLACE_LOG2L.
23748         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23749         REPLACE_LOG2L.
23750         * modules/log2l: New file.
23751         * tests/test-math-c++.cc: Check the declaration of log2l.
23752         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23753         and OSF/1 problems.
23755 2012-03-11  Bruno Haible  <bruno@clisp.org>
23757         Tests for module 'log2f'.
23758         * modules/log2f-tests: New file.
23759         * tests/test-log2f.c: New file.
23761         New module 'log2f'.
23762         * lib/math.in.h (log2f): New declaration.
23763         * lib/log2f.c: New file.
23764         * m4/log2f.m4: New file.
23765         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23766         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23767         REPLACE_LOG2F.
23768         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23769         REPLACE_LOG2F.
23770         * modules/log2f: New file.
23771         * tests/test-math-c++.cc: Check the declaration of log2f.
23772         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23773         and OSF/1 and Cygwin problems.
23775 2012-03-11  Bruno Haible  <bruno@clisp.org>
23777         Tests for module 'log2'.
23778         * modules/log2-tests: New file.
23779         * tests/test-log2.c: New file.
23780         * tests/test-log2.h: New file.
23782         New module 'log2'.
23783         * lib/math.in.h (log2): New declaration.
23784         * lib/log2.c: New file.
23785         * m4/log2.m4: New file.
23786         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23788         REPLACE_LOG2.
23789         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23790         REPLACE_LOG2.
23791         * modules/log2: New file.
23792         * tests/test-math-c++.cc: Check the declaration of log2.
23793         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23794         and OSF/1 and Cygwin problems.
23796 2012-03-11  Bruno Haible  <bruno@clisp.org>
23798         exp2* tests: More tests.
23799         * tests/test-exp2.h (test_function): Test all integral arguments that
23800         don't need to overflow or denormalized numbers.
23801         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23802         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23803         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23805 2012-03-10  Bruno Haible  <bruno@clisp.org>
23807         log1pl-ieee: Work around test failure on AIX 7.1.
23808         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23810         log1pl-ieee: Work around test failure on IRIX 6.5.
23811         * m4/log1pl-ieee.m4: New file.
23812         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23813         test whether log1pl works with a minus zero argument. Replace it if
23814         not.
23815         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23816         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23817         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23818         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23819         (Depends-on): Update conditions.
23820         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23821         m4/signbit.m4.
23822         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23823         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23825         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23826         * m4/log1pf-ieee.m4: New file.
23827         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23828         test whether log1pf works with a minus zero argument. Replace it if
23829         not.
23830         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23831         m4/signbit.m4.
23832         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23833         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23835         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23836         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23837         (configure.ac): Require gl_FUNC_LOG1PF.
23839         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23840         * m4/log1p-ieee.m4: New file.
23841         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23842         whether log1p works with a minus zero argument. Replace it if not.
23843         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23845         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23846         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23847         (Depends-on): Update conditions.
23848         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23849         m4/signbit.m4.
23850         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23851         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23853         Tests for module 'log1pl-ieee'.
23854         * modules/log1pl-ieee-tests: New file.
23855         * tests/test-log1pl-ieee.c: New file.
23857         New module 'log1pl-ieee'.
23858         * modules/log1pl-ieee: New file.
23860         Tests for module 'log1p-ieee'.
23861         * modules/log1p-ieee-tests: New file.
23862         * tests/test-log1p-ieee.c: New file.
23864         New module 'log1p-ieee'.
23865         * modules/log1p-ieee: New file.
23867         Tests for module 'log1pf-ieee'.
23868         * modules/log1pf-ieee-tests: New file.
23869         * tests/test-log1pf-ieee.c: New file.
23870         * tests/test-log1p-ieee.h: New file.
23872         New module 'log1pf-ieee'.
23873         * modules/log1pf-ieee: New file.
23875 2012-03-10  Bruno Haible  <bruno@clisp.org>
23877         Tests for module 'log1pl'.
23878         * modules/log1pl-tests: New file.
23879         * tests/test-log1pl.c: New file.
23881         New module 'log1pl'.
23882         * lib/math.in.h (log1pl): New declaration.
23883         * lib/log1pl.c: New file.
23884         * m4/log1pl.m4: New file.
23885         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23887         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23888         * modules/log1pl: New file.
23889         * tests/test-math-c++.cc: Check the declaration of log1pl.
23890         * doc/posix-functions/log1pl.texi: Mention the new module.
23892 2012-03-10  Bruno Haible  <bruno@clisp.org>
23894         Tests for module 'log1pf'.
23895         * modules/log1pf-tests: New file.
23896         * tests/test-log1pf.c: New file.
23898         New module 'log1pf'.
23899         * lib/math.in.h (log1pf): New declaration.
23900         * lib/log1pf.c: New file.
23901         * m4/log1pf.m4: New file.
23902         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23904         REPLACE_LOG1PF.
23905         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23906         REPLACE_LOG1PF.
23907         * modules/log1pf: New file.
23908         * tests/test-math-c++.cc: Check the declaration of log1pf.
23909         * doc/posix-functions/log1pf.texi: Mention the new module.
23911 2012-03-10  Bruno Haible  <bruno@clisp.org>
23913         log1p tests: More tests.
23914         * tests/test-log1p.h: New file.
23915         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23916         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23917         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23918         (main): Invoke test_function.
23920         log1p: Provide replacement for Minix and MSVC.
23921         * lib/math.in.h (log1p): New declaration.
23922         * lib/log1p.c: New file.
23923         * m4/log1p.m4: New file.
23924         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23926         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23927         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23928         (Depends-on): Add math, isnand, log, round.
23929         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23930         HAVE_LOG1P is 0.
23931         * tests/test-math-c++.cc: Check the declaration of log1p.
23932         * doc/posix-functions/log1p.texi: Mention the replacement.
23934 2012-03-10  Bruno Haible  <bruno@clisp.org>
23936         math tests: Small simplification.
23937         * tests/test-exp.h (test_function): Use the same err_bound for
23938         'double' on platforms with sizeof (long double) == sizeof (double)
23939         than on platforms with sizeof (long double) > sizeof (double).
23940         * tests/test-exp2.h (test_function): Likewise.
23941         * tests/test-expm1.h (test_function): Likewise.
23942         * tests/test-log.h (test_function): Likewise.
23944 2012-03-10  Bruno Haible  <bruno@clisp.org>
23946         Fix some comments.
23947         * lib/expl.c: Fix an ambiguous comment.
23948         * lib/expm1.c: Likewise.
23949         * lib/expm1l.c: Likewise.
23950         * lib/exp2.c: Likewise.
23951         * lib/exp2l.c: Likewise.
23953 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23955         regex: allow inclusion of <regex.h> before <limits.h>
23956         Without this patch, portable programs had to include <limits.h> before
23957         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23958         I ran into this problem with a test version of GNU grep on Solaris 8.
23959         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23960         This is done conditionally so that this change can be merged
23961         back to glibc.
23962         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23963         using the included regex.
23965         fts: depend on fdopendir
23966         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
23967         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
23968         problem was introduced when fdopendir was split out.
23970 2012-03-10  Bruno Haible  <bruno@clisp.org>
23972         Remove unused variables.
23973         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
23974         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23976 2012-03-10  Bruno Haible  <bruno@clisp.org>
23978         isnanf-nolibm: Fix last commit.
23979         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
23981         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
23982         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
23984 2012-03-10  Bruno Haible  <bruno@clisp.org>
23986         logf-ieee: Work around test failure on NetBSD 5.1.
23987         * m4/logf-ieee.m4: New file.
23988         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
23989         whether logf works with a negative argument. Replace it if not.
23990         * lib/logf.c (logf): For negative arguments, return NaN.
23991         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
23992         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
23993         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
23995         logf-ieee: Work around test failure on Solaris 9.
23996         * modules/logf-ieee (Depends-on): Add log-ieee.
23997         (configure.ac): Require gl_FUNC_LOGF.
23999         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
24000         * m4/log-ieee.m4: New file.
24001         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
24002         log works with a negative argument. Replace it if not.
24003         * lib/log.c (log): For negative arguments, return NaN.
24004         * modules/log-ieee (Files): Add m4/log-ieee.m4.
24005         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
24006         * doc/posix-functions/log.texi: Mention the log-ieee module.
24008         Tests for module 'logl-ieee'.
24009         * modules/logl-ieee-tests: New file.
24010         * tests/test-logl-ieee.c: New file.
24012         New module 'logl-ieee'.
24013         * modules/logl-ieee: New file.
24015         Tests for module 'log-ieee'.
24016         * modules/log-ieee-tests: New file.
24017         * tests/test-log-ieee.c: New file.
24019         New module 'log-ieee'.
24020         * modules/log-ieee: New file.
24022         Tests for module 'logf-ieee'.
24023         * modules/logf-ieee-tests: New file.
24024         * tests/test-logf-ieee.c: New file.
24025         * tests/test-log-ieee.h: New file.
24027         New module 'logf-ieee'.
24028         * modules/logf-ieee: New file.
24030 2012-03-10  Bruno Haible  <bruno@clisp.org>
24032         log: Fix bug introduced on 2012-03-09.
24033         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
24035 2012-03-10  Pádraig Brady  <P@draigBrady.com>
24037         timer-time: link explicitly with pthreads on glibc
24038         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
24039         to support static linking, when newer glibc is
24040         detected, as that contains pthread emulation of
24041         POSIX timer functions where required.
24042         * modules/timer-time: Depend on threadlib to
24043         pull in the appropriate library to link.
24045 2012-03-10  Bruno Haible  <bruno@clisp.org>
24047         log* tests: More tests.
24048         * tests/test-log.h: New file.
24049         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
24050         (main): Invoke test_function.
24051         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
24052         (main): Invoke test_function.
24053         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
24054         (main): Invoke test_function.
24055         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24056         tests/randomd.c.
24057         (Makefile.am): Add randomd.c to test_log_SOURCES.
24058         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24059         tests/randomf.c.
24060         (Makefile.am): Add randomf.c to test_logf_SOURCES.
24061         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24062         tests/randoml.c.
24063         (Depends-on): Add 'float'.
24064         (Makefile.am): Add randoml.c to test_logl_SOURCES.
24066 2012-03-09  Bruno Haible  <bruno@clisp.org>
24068         logl: Work around OSF/1 5.1 bug.
24069         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
24070         * lib/logl.c (logl): If logl exists, use it and provide just the
24071         workaround.
24072         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
24073         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
24074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
24075         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
24076         * modules/logl (configure.ac): Consider REPLACE_LOGL.
24077         (Depends-on): Update conditions.
24078         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
24080 2012-03-09  Bruno Haible  <bruno@clisp.org>
24082         logf: Work around OSF/1 5.1 bug.
24083         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
24084         * lib/logf.c (logf): If logf exists, use it and provide just the
24085         workaround.
24086         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
24087         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
24088         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
24089         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
24090         * modules/logf (configure.ac): Consider REPLACE_LOGF.
24091         (Depends-on): Update conditions.
24092         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
24094 2012-03-09  Bruno Haible  <bruno@clisp.org>
24096         log: Work around OSF/1 5.1 bug.
24097         * lib/math.in.h (log): New declaration.
24098         * lib/log.c: New file.
24099         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
24100         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
24101         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
24102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
24103         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
24104         * modules/log (Files): Add lib/log.c.
24105         (Depends-on): Add math.
24106         (configure.ac): If REPLACE_LOG is 1, compile an override.
24107         * tests/test-math-c++.cc: Check the declaration of log.
24108         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
24110 2012-03-09  Jim Meyering  <meyering@redhat.com>
24112         readtokens.c: adjust wording in a comment
24113         * lib/readtokens.c: Insert omitted "that" in a comment.
24115 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24117         modechange: add notations +40, 00440, etc.
24118         * lib/modechange.c (mode_compile): Support new notations
24119         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
24121 2012-03-08  Bruno Haible  <bruno@clisp.org>
24123         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
24124         * m4/exp2l-ieee.m4: New file.
24125         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
24126         test whether exp2l works with a NaN argument and with a negative
24127         infinity argument. Replace it if not.
24128         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
24129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
24130         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
24131         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
24132         (Depends-on): Update conditions.
24133         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
24134         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
24135         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
24137         Tests for module 'exp2l-ieee'.
24138         * modules/exp2l-ieee-tests: New file.
24139         * tests/test-exp2l-ieee.c: New file.
24141         New module 'exp2l-ieee'.
24142         * modules/exp2l-ieee: New file.
24144         Tests for module 'exp2-ieee'.
24145         * modules/exp2-ieee-tests: New file.
24146         * tests/test-exp2-ieee.c: New file.
24148         New module 'exp2-ieee'.
24149         * modules/exp2-ieee: New file.
24151         Tests for module 'exp2f-ieee'.
24152         * modules/exp2f-ieee-tests: New file.
24153         * tests/test-exp2f-ieee.c: New file.
24154         * tests/test-exp2-ieee.h: New file.
24156         New module 'exp2f-ieee'.
24157         * modules/exp2f-ieee: New file.
24159 2012-03-08  Bruno Haible  <bruno@clisp.org>
24161         Tests for module 'exp2l'.
24162         * modules/exp2l-tests: New file.
24163         * tests/test-exp2l.c: New file.
24165         New module 'exp2l'.
24166         * lib/math.in.h (exp2l): New declaration.
24167         * lib/exp2l.c: New file.
24168         * lib/expl-table.c: New file, extracted from lib/expl.c.
24169         * lib/expl.c (gl_expl_table): New declaration.
24170         (expl): Remove expl_table. Update reference.
24171         * m4/exp2l.m4: New file.
24172         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
24173         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
24174         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
24175         * modules/exp2l: New file.
24176         * modules/expl (Files): Add lib/expl-table.c.
24177         (configure.ac): Compile also expl-table.c.
24178         * tests/test-math-c++.cc: Check the declaration of exp2l.
24179         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
24180         problem.
24182 2012-03-08  Bruno Haible  <bruno@clisp.org>
24184         Tests for module 'exp2f'.
24185         * modules/exp2f-tests: New file.
24186         * tests/test-exp2f.c: New file.
24188         New module 'exp2f'.
24189         * lib/math.in.h (exp2f): New declaration.
24190         * lib/exp2f.c: New file.
24191         * m4/exp2f.m4: New file.
24192         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
24193         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
24194         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
24195         * modules/exp2f: New file.
24196         * tests/test-math-c++.cc: Check the declaration of exp2f.
24197         * doc/posix-functions/exp2f.texi: Mention the new module and the
24198         IRIX problem.
24200 2012-03-08  Bruno Haible  <bruno@clisp.org>
24202         Tests for module 'exp2'.
24203         * modules/exp2-tests: New file.
24204         * tests/test-exp2.c: New file.
24205         * tests/test-exp2.h: New file.
24207         New module 'exp2'.
24208         * lib/math.in.h (exp2): New declaration.
24209         * lib/exp2.c: New file.
24210         * m4/exp2.m4: New file.
24211         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
24212         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
24213         REPLACE_EXP2.
24214         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
24215         REPLACE_EXP2.
24216         * modules/exp2: New file.
24217         * tests/test-math-c++.cc: Check the declaration of exp2.
24218         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
24219         and OpenBSD problems.
24221 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24223         savedir: fix comment typo
24224         * lib/savedir.c (savedirstream): Fix typo in comment.
24226 2012-03-08  Bruno Haible  <bruno@clisp.org>
24228         test-readtokens.c: use const; remove unwarranted cast
24229         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
24231 2012-03-08  Bruno Haible  <bruno@clisp.org>
24233         fmal: Avoid compilation error on AIX.
24234         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
24235         AIX 5.2..7.1.
24237 2012-03-08  Bruno Haible  <bruno@clisp.org>
24239         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
24240         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
24241         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
24242         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
24243         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
24244         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
24245         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
24247 2012-03-08  Bruno Haible  <bruno@clisp.org>
24249         remainderf: Override buggy system function on IRIX 6.5.
24250         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
24251         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
24252         when it exists.
24253         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
24255 2012-03-08  Jim Meyering  <meyering@redhat.com>
24257         test-readtokens.c: avoid const-related compilation warnings
24258         * tests/test-readtokens.c: Avoid const-related compilation warnings.
24260 2012-03-07  Jim Meyering  <meyering@redhat.com>
24261             Bruno Haible  <bruno@clisp.org>
24263         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
24264         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
24265         tests/randomd.c.
24266         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
24267         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
24268         tests/randoml.c.
24269         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
24271 2012-03-07  Bruno Haible  <bruno@clisp.org>
24273         expm1l: Avoid compilation error on AIX.
24274         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
24275         AIX 5.2..7.1.
24277 2012-03-07  Bruno Haible  <bruno@clisp.org>
24279         expm1l: Don't override undeclared system function on IRIX 6.5.
24280         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
24281         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
24282         it exists. Set HAVE_DECL_EXPM1L.
24283         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
24284         HAVE_EXPM1L.
24285         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
24286         HAVE_EXPM1L.
24287         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
24289 2012-03-07  Bruno Haible  <bruno@clisp.org>
24291         remainderl: Don't override undeclared system function on IRIX 6.5.
24292         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
24293         HAVE_REMAINDERL.
24294         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
24295         declared when it exists. Set HAVE_DECL_REMAINDERL.
24296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
24297         not HAVE_REMAINDERL.
24298         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
24299         HAVE_REMAINDERL.
24300         * doc/posix-functions/remainderl.texi: Mention missing declaration
24301         problem.
24303 2012-03-07  Bruno Haible  <bruno@clisp.org>
24305         rintf: Don't override undeclared system function on IRIX 6.5.
24306         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
24307         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
24308         exists. Set HAVE_DECL_RINTF.
24309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
24310         HAVE_RINTF.
24311         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
24312         HAVE_RINTF.
24313         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
24315 2012-03-07  Bruno Haible  <bruno@clisp.org>
24317         roundl: Avoid compilation error on AIX.
24318         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
24319         AIX 5.2..7.1.
24321 2012-03-07  Bruno Haible  <bruno@clisp.org>
24323         roundl: Don't override undeclared system function on IRIX 6.5.
24324         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
24325         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
24326         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24327         * modules/roundl (configure.ac): For replacement code, test
24328         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24329         (Depends-on): Update conditions.
24330         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
24332 2012-03-07  Bruno Haible  <bruno@clisp.org>
24334         roundf: Don't override undeclared system function on IRIX 6.5.
24335         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
24336         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
24337         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24338         * modules/roundf (configure.ac): For replacement code, test
24339         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24340         (Depends-on): Update conditions.
24341         * modules/roundf-ieee (Depends-on): Update conditions.
24342         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
24344 2012-03-07  Bruno Haible  <bruno@clisp.org>
24346         round: Don't override undeclared system function on IRIX 6.5.
24347         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
24348         argument.
24349         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
24350         also when it is not declared. Set HAVE_ROUND. For replacement code,
24351         test HAVE_ROUND, not HAVE_DECL_ROUND.
24352         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
24353         not HAVE_DECL_ROUND.
24354         (Depends-on): Update conditions.
24355         * modules/round-ieee (Depends-on): Update conditions.
24356         * doc/posix-functions/round.texi: Mention the IRIX problem.
24358 2012-03-07  Bruno Haible  <bruno@clisp.org>
24360         copysignf: Don't override undeclared system function on IRIX 6.5.
24361         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
24362         HAVE_COPYSIGNF.
24363         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
24364         declared when it exists. Set HAVE_DECL_COPYSIGNF.
24365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
24366         not HAVE_COPYSIGNF.
24367         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
24368         HAVE_COPYSIGNF.
24369         * doc/posix-functions/copysignf.texi: Mention missing declaration
24370         problem.
24372 2012-03-07  Jim Meyering  <meyering@redhat.com>
24374         readtokens: add tests
24375         * modules/readtokens-tests: New file.
24376         * tests/test-readtokens.c: New file.
24378 2012-03-07  Jim Meyering  <meyering@redhat.com>
24380         quotearg: the module must now include quote.h
24381         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
24382         So must the module.
24383         * modules/quotearg (Files): Add quote.h.
24385 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
24387         readtokens: avoid core dumps with unusual calling patterns
24388         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
24389         * lib/readtokens.c: Include limits.h.
24390         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
24391         (readtoken): Don't cache the delimiters; the cache code was buggy
24392         if !delim && saved_delim, or if the new n_delim differs from the old.
24393         Also, it wasn't thread-safe.
24395 2012-03-07  Bruno Haible  <bruno@clisp.org>
24397         quote: Adhere to common module description layout.
24398         * modules/quote (Makefile.am): Add back empty section.
24400 2012-03-06  Akim Demaille  <demaille@gostai.com>
24402         quote: fuse into quotearg
24403         This patch is made for the benefit of Bison.
24404         quote does not leave the choice of the quoting style to the user.
24405         quoting_style provides poor customizability, yet quoting_options,
24406         which is very rich, is hidden inside quotearg.c.  So in order to
24407         allow quote customization, move its implementation to quotearg.c.
24408         * lib/quote.c: Remove.
24409         * modules/quote: Adjust.
24410         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
24411         warning: provide all the members of literal structs.
24412         (quote_quoting_options): New.
24413         (quote, quote_n): Import implementation from quote.c.
24414         * lib/quote.h: Import the comments from quote.c.
24415         (quote_quoting_options): New.
24417 2012-03-06  Bruno Haible  <bruno@clisp.org>
24419         Tests for module 'expm1l-ieee'.
24420         * modules/expm1l-ieee-tests: New file.
24421         * tests/test-expm1l-ieee.c: New file.
24423         New module 'expm1l-ieee'.
24424         * modules/expm1l-ieee: New file.
24426         Tests for module 'expm1f-ieee'.
24427         * modules/expm1f-ieee-tests: New file.
24428         * tests/test-expm1f-ieee.c: New file.
24430         New module 'expm1f-ieee'.
24431         * modules/expm1f-ieee: New file.
24433         Tests for module 'expm1-ieee'.
24434         * modules/expm1-ieee-tests: New file.
24435         * tests/test-expm1-ieee.c: New file.
24436         * tests/test-expm1-ieee.h: New file.
24438         New module 'expm1-ieee'.
24439         * modules/expm1-ieee: New file.
24440         * m4/expm1-ieee.m4: New file.
24441         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
24442         whether expm1 works with a minus zero argument. Replace it if not.
24443         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
24444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
24445         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
24446         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
24447         (Depends-on): Update conditions.
24448         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
24449         AIX problem.
24451 2012-03-06  Bruno Haible  <bruno@clisp.org>
24453         Work around expm1f bug on IRIX 6.5.
24454         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
24455         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
24456         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
24457         not work.
24458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
24459         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
24460         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
24461         (Depends-on): Update conditions.
24462         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
24464 2012-03-06  Bruno Haible  <bruno@clisp.org>
24466         Tests for module 'expm1l'.
24467         * modules/expm1l-tests: New file.
24468         * tests/test-expm1l.c: New file.
24470         New module 'expm1l'.
24471         * lib/math.in.h (expm1l): New declaration.
24472         * lib/expm1l.c: New file.
24473         * m4/expm1l.m4: New file.
24474         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
24475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
24476         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
24477         * modules/expm1l: New file.
24478         * tests/test-math-c++.cc: Check the declaration of expm1l.
24479         * doc/posix-functions/expm1l.texi: Mention the new module.
24481 2012-03-06  Bruno Haible  <bruno@clisp.org>
24483         Tests for module 'expm1f'.
24484         * modules/expm1f-tests: New file.
24485         * tests/test-expm1f.c: New file.
24487         New module 'expm1f'.
24488         * lib/math.in.h (expm1f): New declaration.
24489         * lib/expm1f.c: New file.
24490         * m4/expm1f.m4: New file.
24491         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
24492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
24493         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
24494         * modules/expm1f: New file.
24495         * tests/test-math-c++.cc: Check the declaration of expm1f.
24496         * doc/posix-functions/expm1f.texi: Mention the new module.
24498 2012-03-06  Bruno Haible  <bruno@clisp.org>
24500         Tests for module 'expm1'.
24501         * modules/expm1-tests: New file.
24502         * tests/test-expm1.c: New file.
24503         * tests/test-expm1.h: New file.
24505         New module 'expm1'.
24506         * lib/math.in.h (expm1): New declaration.
24507         * lib/expm1.c: New file.
24508         * m4/expm1.m4: New file.
24509         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
24510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
24511         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
24512         * modules/expm1: New file.
24513         * tests/test-math-c++.cc: Check the declaration of expm1.
24514         * doc/posix-functions/expm1.texi: Mention the new module.
24516 2012-03-06  Bruno Haible  <bruno@clisp.org>
24518         math: Ensure declarations of math functions.
24519         * modules/acosf (Depends-on): Add 'extensions'.
24520         * modules/asinf (Depends-on): Likewise.
24521         * modules/atan2f (Depends-on): Likewise.
24522         * modules/atanf (Depends-on): Likewise.
24523         * modules/cbrt (Depends-on): Likewise.
24524         * modules/cbrtf (Depends-on): Likewise.
24525         * modules/cbrtl (Depends-on): Likewise.
24526         * modules/copysignf (Depends-on): Likewise.
24527         * modules/copysignl (Depends-on): Likewise.
24528         * modules/cosf (Depends-on): Likewise.
24529         * modules/coshf (Depends-on): Likewise.
24530         * modules/expf (Depends-on): Likewise.
24531         * modules/fabsf (Depends-on): Likewise.
24532         * modules/fabsl (Depends-on): Likewise.
24533         * modules/fmaf (Depends-on): Likewise.
24534         * modules/fmal (Depends-on): Likewise.
24535         * modules/fmodf (Depends-on): Likewise.
24536         * modules/fmodl (Depends-on): Likewise.
24537         * modules/frexpf (Depends-on): Likewise.
24538         * modules/frexpl (Depends-on): Likewise.
24539         * modules/hypot (Depends-on): Likewise.
24540         * modules/hypotf (Depends-on): Likewise.
24541         * modules/hypotl (Depends-on): Likewise.
24542         * modules/ldexpf (Depends-on): Likewise.
24543         * modules/ldexpl (Depends-on): Likewise.
24544         * modules/log10f (Depends-on): Likewise.
24545         * modules/log10l (Depends-on): Likewise.
24546         * modules/log1p (Depends-on): Likewise.
24547         * modules/logb (Depends-on): Likewise.
24548         * modules/logf (Depends-on): Likewise.
24549         * modules/modff (Depends-on): Likewise.
24550         * modules/modfl (Depends-on): Likewise.
24551         * modules/powf (Depends-on): Likewise.
24552         * modules/remainderf (Depends-on): Likewise.
24553         * modules/remainderl (Depends-on): Likewise.
24554         * modules/rintf (Depends-on): Likewise.
24555         * modules/rintl (Depends-on): Likewise.
24556         * modules/sinf (Depends-on): Likewise.
24557         * modules/sinhf (Depends-on): Likewise.
24558         * modules/sqrtf (Depends-on): Likewise.
24559         * modules/tanf (Depends-on): Likewise.
24560         * modules/tanhf (Depends-on): Likewise.
24561         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
24562         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
24563         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
24564         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
24565         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
24566         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
24567         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
24568         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
24569         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
24570         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
24571         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
24572         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
24573         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
24574         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
24575         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
24576         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
24577         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
24578         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24579         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
24580         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
24581         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
24582         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
24583         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
24584         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
24585         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
24586         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
24587         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
24588         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24589         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
24590         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
24591         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24592         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
24593         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24594         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24595         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
24596         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
24597         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
24598         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
24599         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
24600         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
24601         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
24603 2012-03-06  Bruno Haible  <bruno@clisp.org>
24605         math: Update module names in warnings.
24606         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24607         tanl): Use specific module name in warn-on-use warning.
24609 2012-03-06  Bruno Haible  <bruno@clisp.org>
24611         expl: Simplify computation.
24612         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
24614 2012-03-05  Bruno Haible  <bruno@clisp.org>
24616         exp* tests: More tests.
24617         * tests/test-exp.h: New file.
24618         * tests/test-exp.c: Include <float.h> and test-exp.h.
24619         (main): Invoke test_function.
24620         * tests/test-expf.c: Include <float.h> and test-exp.h.
24621         (main): Invoke test_function.
24622         * tests/test-expl.c: Include <float.h> and test-exp.h.
24623         (main): Invoke test_function.
24624         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
24625         (Makefile.am): Add randomd.c to test_exp_SOURCES.
24626         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
24627         (Makefile.am): Add randomf.c to test_expf_SOURCES.
24628         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
24629         (Depends-on): Add 'float'.
24630         (Makefile.am): Add randoml.c to test_expl_SOURCES.
24632         expl: Fix precision of computed result.
24633         * lib/expl.c: Completely rewritten.
24634         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
24635         (Maintainer): Add me.
24636         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
24638 2012-03-05  Bruno Haible  <bruno@clisp.org>
24640         cbrt* tests: More tests.
24641         * tests/test-cbrt.h: New file.
24642         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
24643         (main): Invoke test_function.
24644         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
24645         (main): Invoke test_function.
24646         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
24647         (main): Invoke test_function.
24648         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
24649         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
24650         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
24651         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
24652         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
24653         (Depends-on): Add 'float'.
24654         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
24656 2012-03-05  Bruno Haible  <bruno@clisp.org>
24658         hypot* tests: More tests.
24659         * tests/test-hypot.h: New file, partially extracted from
24660         tests/test-hypotl.c.
24661         * tests/test-hypot.c: Include test-hypot.h.
24662         (main): Invoke test_function.
24663         * tests/test-hypotf.c: Include test-hypot.h.
24664         (main): Invoke test_function.
24665         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
24666         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
24667         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
24668         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
24669         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
24670         tests/randomf.c.
24671         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
24672         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
24673         tests/randoml.c.
24674         (Depends-on): Add 'fpucw', 'float'.
24675         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
24677 2012-03-05  Bruno Haible  <bruno@clisp.org>
24679         fpucw: Doc about FreeBSD.
24680         * lib/fpucw.h: Mention FreeBSD in comments.
24682 2012-03-04  Bruno Haible  <bruno@clisp.org>
24684         sqrt* tests: More tests.
24685         * tests/test-sqrt.h: New file.
24686         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
24687         (main): Invoke test_function.
24688         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
24689         (main): Invoke test_function.
24690         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
24691         (main): Invoke test_function.
24692         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
24693         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
24694         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
24695         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
24696         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
24697         (Depends-on): Add 'float'.
24698         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
24700 2012-03-04  Bruno Haible  <bruno@clisp.org>
24702         remainder* tests: More tests.
24703         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
24704         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24705         (main): Invoke test_function.
24706         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
24707         (main): Invoke test_function.
24708         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
24709         (main): Invoke test_function.
24710         * modules/remainder-tests (Files): Add tests/test-remainder.h,
24711         tests/randomd.c.
24712         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
24713         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
24714         tests/randomf.c.
24715         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
24716         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
24717         tests/randoml.c.
24718         (Depends-on): Add 'float'.
24719         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
24721 2012-03-04  Bruno Haible  <bruno@clisp.org>
24723         remainder, remainderf, remainderl: Fix computation for large quotients.
24724         * lib/remainder.c: Completely rewritten.
24725         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
24726         USE_FLOAT.
24727         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
24728         USE_LONG_DOUBLE.
24729         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
24730         isnand, isinf. Remove round, fma.
24731         * modules/remainderf (Files): Add lib/remainder.c.
24732         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
24733         Remove roundf, fmaf.
24734         * modules/remainderl (Files): Add lib/remainder.c.
24735         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
24736         isinf. Remove roundl, fmal.
24737         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
24738         REMAINDER_LIBM.
24739         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24740         REMAINDERF_LIBM.
24741         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24742         REMAINDERL_LIBM.
24744 2012-03-04  Bruno Haible  <bruno@clisp.org>
24746         fmod* tests: More tests.
24747         * tests/test-fmod.h (my_ldexp): New function.
24748         (test_function): Reduce amount of random numbers to test. Add tests
24749         of very large quotients x / y.
24750         * tests/test-fmod.c (MAX_EXP): New macro.
24751         * tests/test-fmodf.c (MAX_EXP): Likewise.
24752         * tests/test-fmodl.c (MAX_EXP): Likewise.
24754 2012-03-04  Bruno Haible  <bruno@clisp.org>
24756         fmod, fmodl: Fix computation for large quotients x / y.
24757         * lib/fmod.c: Completely rewritten.
24758         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24759         USE_LONG_DOUBLE.
24760         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24761         isnand. Remove fma.
24762         * modules/fmodl (Files): Add lib/fmod.c.
24763         (Depends-on): Add float, isfinite, signbit, fabsl,
24764         frexpl, ldexpl, isnanl. Remove fma.
24765         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24766         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24768 2012-03-03  Bruno Haible  <bruno@clisp.org>
24770         fmod* tests: More tests.
24771         * tests/test-fmod.h: New file.
24772         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24773         (main): Invoke test_function.
24774         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24775         (main): Invoke test_function.
24776         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24777         (main): Invoke test_function.
24778         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24779         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24780         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24781         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24782         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24783         (Depends-on): Add 'float'.
24784         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24786 2012-03-03  Bruno Haible  <bruno@clisp.org>
24788         rint* tests: More tests.
24789         * tests/test-rint.h: New file, partially extracted from
24790         tests/test-rintl.c.
24791         * tests/test-rint.c: Include test-rint.h.
24792         (main): Invoke test_function.
24793         * tests/test-rintf.c: Include test-rint.h.
24794         (main): Invoke test_function.
24795         * tests/test-rintl.c: Include test-rint.h.
24796         (main): Invoke test_function.
24797         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24798         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24799         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24800         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24801         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24802         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24804 2012-03-03  Bruno Haible  <bruno@clisp.org>
24806         modf* tests: More tests.
24807         * tests/test-modf.h: New file.
24808         * tests/test-modf.c: Include <float.h> and test-modf.h.
24809         (main): Invoke test_function.
24810         * tests/test-modff.c: Include <float.h> and test-modf.h.
24811         (main): Invoke test_function.
24812         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24813         (main): Invoke test_function.
24814         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24815         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24816         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24817         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24818         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24819         (Depends-on): Add 'float'.
24820         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24822 2012-03-03  Bruno Haible  <bruno@clisp.org>
24824         fabs* tests: More tests.
24825         * tests/test-fabs.h: New file, partially extracted from
24826         tests/test-fabsl.c.
24827         * tests/test-fabs.c (RANDOM): New macro.
24828         * tests/test-fabsf.c (RANDOM): New macro.
24829         * tests/test-fabsl.c (RANDOM): New macro.
24830         * modules/fabs-tests (Files): Add tests/randomd.c.
24831         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24832         * modules/fabsf-tests (Files): Add tests/randomf.c.
24833         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24834         * modules/fabsl-tests (Files): Add tests/randoml.c.
24835         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24837 2012-03-03  Bruno Haible  <bruno@clisp.org>
24839         ldexp* tests: More tests.
24840         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24841         * tests/test-ldexp.c (RANDOM): New macro.
24842         * tests/test-ldexpf.c (RANDOM): New macro.
24843         * tests/test-ldexpl.c (RANDOM): New macro.
24844         * modules/ldexp-tests (Files): Add tests/randomd.c.
24845         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24846         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24847         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24848         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24849         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24851 2012-03-03  Bruno Haible  <bruno@clisp.org>
24853         frexp* tests: More tests.
24854         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24855         * tests/test-frexp.c (RANDOM): New macro.
24856         * tests/test-frexpf.c (RANDOM): New macro.
24857         * tests/test-frexpl.c (RANDOM): New macro.
24858         * modules/frexp-tests (Files): Add tests/randomd.c.
24859         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24860         * modules/frexpf-tests (Files): Add tests/randomf.c.
24861         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24862         * modules/frexpl-tests (Files): Add tests/randoml.c.
24863         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24865 2012-03-03  Bruno Haible  <bruno@clisp.org>
24867         Support for pseudo-random numbers in tests.
24868         * tests/randomf.c: New file.
24869         * tests/randomd.c: New file.
24870         * tests/randoml.c: New file.
24871         * tests/macros.h (randomf, randomd, randoml): New declarations.
24873 2012-03-03  Bruno Haible  <bruno@clisp.org>
24875         frexp* tests: Refactor.
24876         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24877         * tests/test-frexp.c: Include and use it.
24878         * tests/test-frexpf.c: Likewise.
24879         * tests/test-frexpl.c: Likewise.
24880         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24881         * modules/frexpf-tests (Files): Likewise.
24882         * modules/frexpl-tests (Files): Likewise.
24884 2012-03-02  Jim Meyering  <meyering@redhat.com>
24886         maint: don't specify XZ_OPT=-9ev in dist-related rule
24887         Using xz's -9 option is warranted only if you have a very large
24888         tarball (see xz's documentation for the sizes vs. presets), and
24889         requires 64MiB of memory at decompression time.
24890         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24891         Automake's default of just "-e" is fine.  Override on a
24892         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24894 2012-03-01  Eric Blake  <eblake@redhat.com>
24896         maint.mk: allow announcement for non-gnulib project
24897         * maint.mk (announcement): Skip gnulib version if not used.
24899 2012-03-01  Jim Meyering  <meyering@redhat.com>
24901         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24902         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24903         envvar settings cannot interfere.  Otherwise, setting envvars like
24904         prohibit=foo require=bar, etc. would cause spurious test failures.
24906 2012-03-01  Eric Blake  <eblake@redhat.com>
24908         maint.mk: add per-line exclusions to prohibitions
24909         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24910         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24911         (sc_const_long_option): Use it.
24913 2012-03-01  Bruno Haible  <bruno@clisp.org>
24915         Tests for module 'expl-ieee'.
24916         * modules/expl-ieee-tests: New file.
24917         * tests/test-expl-ieee.c: New file.
24919         New module 'expl-ieee'.
24920         * modules/expl-ieee: New file.
24922         Tests for module 'exp-ieee'.
24923         * modules/exp-ieee-tests: New file.
24924         * tests/test-exp-ieee.c: New file.
24926         New module 'exp-ieee'.
24927         * modules/exp-ieee: New file.
24929         Tests for module 'expf-ieee'.
24930         * modules/expf-ieee-tests: New file.
24931         * tests/test-expf-ieee.c: New file.
24932         * tests/test-exp-ieee.h: New file.
24934         New module 'expf-ieee'.
24935         * modules/expf-ieee: New file.
24937 2012-02-29  Bruno Haible  <bruno@clisp.org>
24939         cbrtl-ieee: Work around test failure on IRIX 6.5.
24940         * m4/cbrtl-ieee.m4: New file.
24941         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24942         test whether cbrtl works with a minus zero argument. Replace it if not.
24943         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24944         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24945         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24946         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24947         (Depends-on): Update conditions.
24948         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24949         m4/signbit.m4.
24950         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24951         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24952         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24954         Tests for module 'cbrtl-ieee'.
24955         * modules/cbrtl-ieee-tests: New file.
24956         * tests/test-cbrtl-ieee.c: New file.
24958         New module 'cbrtl-ieee'.
24959         * modules/cbrtl-ieee: New file.
24961         Tests for module 'cbrt-ieee'.
24962         * modules/cbrt-ieee-tests: New file.
24963         * tests/test-cbrt-ieee.c: New file.
24965         New module 'cbrt-ieee'.
24966         * modules/cbrt-ieee: New file.
24968         Tests for module 'cbrtf-ieee'.
24969         * modules/cbrtf-ieee-tests: New file.
24970         * tests/test-cbrtf-ieee.c: New file.
24971         * tests/test-cbrt-ieee.h: New file.
24973         New module 'cbrtf-ieee'.
24974         * modules/cbrtf-ieee: New file.
24976 2012-02-29  Bruno Haible  <bruno@clisp.org>
24978         cbrtf: Work around bug in IRIX 6.5 system function.
24979         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
24980         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
24981         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
24982         work.
24983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
24984         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
24985         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
24986         (Depends-on): Update conditions.
24987         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
24989 2012-02-29  Bruno Haible  <bruno@clisp.org>
24991         Tests for module 'cbrtl'.
24992         * modules/cbrtl-tests: New file.
24993         * tests/test-cbrtl.c: New file.
24995         New module 'cbrtl'.
24996         * lib/math.in.h (cbrtl): New declaration.
24997         * lib/cbrtl.c: New file.
24998         * m4/cbrtl.m4: New file.
24999         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
25000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
25001         HAVE_DECL_CBRTL.
25002         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
25003         HAVE_DECL_CBRTL.
25004         * modules/cbrtl: New file.
25005         * tests/test-math-c++.cc: Check the declaration of cbrtl.
25006         * doc/posix-functions/cbrtl.texi: Mention the new module.
25008 2012-02-29  Bruno Haible  <bruno@clisp.org>
25010         Tests for module 'cbrtf'.
25011         * modules/cbrtf-tests: New file.
25012         * tests/test-cbrtf.c: New file.
25014         New module 'cbrtf'.
25015         * lib/math.in.h (cbrtf): New declaration.
25016         * lib/cbrtf.c: New file.
25017         * m4/cbrtf.m4: New file.
25018         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
25019         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
25020         HAVE_DECL_CBRTF.
25021         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
25022         HAVE_DECL_CBRTF.
25023         * modules/cbrtf: New file.
25024         * tests/test-math-c++.cc: Check the declaration of cbrtf.
25025         * doc/posix-functions/cbrtf.texi: Mention the new module.
25027 2012-02-29  Bruno Haible  <bruno@clisp.org>
25029         cbrt: Provide replacement on MSVC and Minix.
25030         * lib/math.in.h (cbrt): New declaration.
25031         * lib/cbrt.c: New file.
25032         * m4/cbrt.m4: New file.
25033         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
25034         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
25035         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
25036         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
25037         (Depends-on): Add dependencies.
25038         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
25039         * tests/test-math-c++.cc: Check the declaration of cbrt.
25040         * doc/posix-functions/cbrt.texi: Mention that the module provides a
25041         replacement.
25043 2012-02-29  Bruno Haible  <bruno@clisp.org>
25045         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
25046         * m4/hypotl-ieee.m4: New file.
25047         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
25048         test whether hypotl works with mixed NaN and Infinity arguments.
25049         Replace it if not.
25050         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
25051         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
25052         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
25053         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
25054         (Depends-on): Update conditions.
25055         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
25056         (Depends-on): Add hypot-ieee.
25057         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
25058         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
25060         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
25061         * m4/hypotf-ieee.m4: New file.
25062         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
25063         test whether hypotf works with mixed NaN and Infinity arguments.
25064         Replace it if not.
25065         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
25066         (Depends-on): Add hypot-ieee.
25067         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
25068         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
25070         hypot-ieee: Work around test failure on OSF/1 and native Windows.
25071         * lib/math.in.h (hypot): New declaration.
25072         * lib/hypot.c: New file.
25073         * m4/hypot-ieee.m4: New file.
25074         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
25075         whether hypot works with mixed NaN and Infinity arguments. Replace it
25076         if not.
25077         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
25078         REPLACE_HYPOT.
25079         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
25080         * modules/hypot (Files): Add lib/hypot.c.
25081         (Depends-on): Add dependencies.
25082         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
25083         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
25084         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
25085         * tests/test-math-c++.cc: Check the declaration of hypot.
25086         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
25088         Tests for module 'hypotl-ieee'.
25089         * modules/hypotl-ieee-tests: New file.
25090         * tests/test-hypotl-ieee.c: New file.
25092         New module 'hypotl-ieee'.
25093         * modules/hypotl-ieee: New file.
25095         Tests for module 'hypot-ieee'.
25096         * modules/hypot-ieee-tests: New file.
25097         * tests/test-hypot-ieee.c: New file.
25099         New module 'hypot-ieee'.
25100         * modules/hypot-ieee: New file.
25102         Tests for module 'hypotf-ieee'.
25103         * modules/hypotf-ieee-tests: New file.
25104         * tests/test-hypotf-ieee.c: New file.
25105         * tests/test-hypot-ieee.h: New file.
25107         New module 'hypotf-ieee'.
25108         * modules/hypotf-ieee: New file.
25110 2012-02-29  Bruno Haible  <bruno@clisp.org>
25112         Remove unused variables.
25113         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
25114         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
25115         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
25116         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
25118 2012-02-29  Eric Blake  <eblake@redhat.com>
25120         termios: fix pid_t always, not just for tcgetsid
25121         * doc/posix-headers/termios.texi (termios.h): Mention problem.
25122         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
25123         just when building tcgetsid.
25125 2012-02-29  Bruno Haible  <bruno@clisp.org>
25127         Tests for module 'hypotl'.
25128         * modules/hypotl-tests: New file.
25129         * tests/test-hypotl.c: New file.
25131         New module 'hypotl'.
25132         * lib/math.in.h (hypotl): New declaration.
25133         * lib/hypotl.c: New file.
25134         * m4/hypotl.m4: New file.
25135         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25136         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
25137         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
25138         * modules/hypotl: New file.
25139         * tests/test-math-c++.cc: Check the hypotl declaration.
25140         * doc/posix-functions/hypotl.texi: Mention the new module.
25142 2012-02-29  Eric Blake  <eblake@redhat.com>
25144         tcgetsid: fix cygwin header bug
25145         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
25147         docs: update cygwin progress
25148         * doc/posix-functions/llround.texi (llround): Added in cygwin
25149         1.7.8.
25150         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
25151         * doc/glibc-functions/program_invocation_name.texi
25152         (program_invocation_name): Likewise.
25153         * doc/glibc-functions/program_invocation_short_name.texi
25154         (program_invocation_short_name): Likewise.
25155         * doc/glibc-functions/madvise.texi (madvise): Likewise.
25156         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
25157         Likewise.
25158         * doc/posix-functions/pthread_spin_destroy.texi
25159         (pthread_spin_destroy): Added in cygwin 1.7.10.
25160         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
25161         Likewise.
25162         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
25163         Likewise.
25164         * doc/posix-functions/pthread_spin_trylock.texi
25165         (pthread_spin_trylock): Likewise.
25166         * doc/posix-functions/pthread_spin_unlock.texi
25167         (pthread_spin_unlock): Likewise.
25168         * doc/posix-functions/pthread_setschedprio.texi
25169         (pthread_setschedprio): Likewise.
25170         * doc/posix-functions/pthread_attr_getstack.texi
25171         (pthread_attr_getstack): Likewise.
25172         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
25173         (pthread_attr_getstackaddr): Likewise.
25174         * doc/glibc-functions/pthread_getattr_np.texi
25175         (pthread_getattr_np): Likewise.
25176         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
25177         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
25178         * doc/posix-functions/clock_settime.texi (clock_settime):
25179         Likewise.
25180         * doc/posix-functions/pthread_attr_getguardsize.texi
25181         (pthread_attr_getguardsize): Likewise.
25182         * doc/posix-functions/pthread_attr_setguardsize.texi
25183         (pthread_attr_setguardsize): Likewise.
25184         * doc/posix-functions/pthread_attr_setstack.texi
25185         (pthread_attr_setstack): Likewise.
25186         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
25187         (pthread_attr_setstackaddr): Likewise.
25188         * doc/posix-functions/clock_getcpuclockid.texi
25189         (clock_getcpuclockid): Likewise.
25190         * doc/posix-functions/pthread_getcpuclockid.texi
25191         (pthread_getcpuclockid): Likewise.
25192         * doc/glibc-functions/error.texi (error): Likewise.
25193         * doc/glibc-functions/error_at_line.texi (error_at_line):
25194         Likewise.
25195         * doc/glibc-functions/error_message_count.texi
25196         (error_message_count): Likewise.
25197         * doc/glibc-functions/error_one_per_line.texi
25198         (error_one_per_line): Likewise.
25199         * doc/glibc-functions/error_print_progname.texi
25200         (error_print_progname): Likewise.
25201         * doc/posix-functions/pthread_condattr_getclock.texi
25202         (pthread_condattr_getclock): Likewise.
25203         * doc/posix-functions/pthread_condattr_setclock.texi
25204         (pthread_condattr_setclock): Likewise.
25205         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
25206         Likewise.
25207         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
25208         * doc/glibc-functions/getpt.texi (getpt): Likewise.
25209         * doc/glibc-functions/get_current_dir_name.texi
25210         (get_current_dir_name): Likewise.
25211         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
25212         Likewise.
25213         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
25214         wrong return type.
25215         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
25216         1.7.11.
25218 2012-02-29  Bruno Haible  <bruno@clisp.org>
25220         Tests for module 'hypotf'.
25221         * modules/hypotf-tests: New file.
25222         * tests/test-hypotf.c: New file.
25224         New module 'hypotf'.
25225         * lib/math.in.h (hypotf): New declaration.
25226         * lib/hypotf.c: New file.
25227         * m4/hypotf.m4: New file.
25228         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25229         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
25230         REPLACE_HYPOTF.
25231         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
25232         REPLACE_HYPOTF.
25233         * modules/hypotf: New file.
25234         * tests/test-math-c++.cc: Check the hypotf declaration.
25235         * doc/posix-functions/hypotf.texi: Mention the new module.
25237         hypot: Prepare for hypotf module.
25238         * m4/hypot.m4: New file.
25239         * modules/hypot (Files): Add m4/hypot.m4.
25240         (configure.ac): Invoke gl_FUNC_HYPOT.
25242 2012-02-29  Bruno Haible  <bruno@clisp.org>
25244         hypot tests: More tests.
25245         * tests/test-hypot.c: Include <float.h>.
25246         (main): Add tests about overflow and underflow.
25248 2012-02-29  Bruno Haible  <bruno@clisp.org>
25250         math code: Add comments.
25251         * lib/acosl.c: Add comment about related glibc source files.
25252         * lib/asinl.c: Likewise.
25253         * lib/atanl.c: Likewise.
25254         * lib/expl.c: Likewise.
25255         * lib/logl.c: Likewise.
25256         * lib/sincosl.c: Likewise.
25257         * lib/sinl.c: Likewise.
25258         * lib/tanl.c: Likewise.
25259         * lib/trigl.c: Likewise.
25260         * lib/cosl.c: Likewise. Fix comments.
25262 2012-02-28  Bruno Haible  <bruno@clisp.org>
25264         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
25265         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
25266         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
25267         HUGE_VALL are defined.
25268         (numeric_equald): Renamed from numeric_equal.
25269         (numeric_equalf, numeric_equall): New functions.
25270         (main): Check also HUGE_VALF, HUGE_VALL.
25271         * modules/math-tests (Files): Add tests/macros.h.
25272         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
25273         HUGE_VALL.
25275 2012-02-28  Bruno Haible  <bruno@clisp.org>
25277         doc: Move ISO C11 feature notes into POSIX chapters.
25278         * doc/posix-functions/aligned_alloc.texi: Renamed from
25279         doc/glibc-functions/aligned_alloc.texi.
25280         * doc/posix-functions/quick_exit.texi: Renamed from
25281         doc/glibc-functions/quick_exit.texi.
25282         * doc/posix-headers/uchar.texi: Renamed from
25283         doc/glibc-headers/uchar.texi.
25284         * doc/posix-functions/c16rtomb.texi: Renamed from
25285         doc/glibc-functions/c16rtomb.texi.
25286         * doc/posix-functions/c32rtomb.texi: Renamed from
25287         doc/glibc-functions/c32rtomb.texi.
25288         * doc/posix-functions/mbrtoc16.texi: Renamed from
25289         doc/glibc-functions/mbrtoc16.texi.
25290         * doc/posix-functions/mbrtoc32.texi: Renamed from
25291         doc/glibc-functions/mbrtoc32.texi.
25292         * doc/gnulib.texi: Update.
25293         (Glibc uchar.h): Remove section.
25294         Suggested by Eric Blake.
25296 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
25298         stdnoreturn: port to MSVC better
25299         MSVC standard headers use __declspec(noreturn), so #define noreturn
25300         to empty on that platform.  Reported by Bruno Haible in
25301         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
25302         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
25303         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
25305 2012-02-28  Bruno Haible  <bruno@clisp.org>
25307         doc: Mention new glibc headers and functions.
25308         * doc/glibc-headers/uchar.texi: New file.
25309         * doc/glibc-functions/aligned_alloc.texi: New file.
25310         * doc/glibc-functions/c16rtomb.texi: New file.
25311         * doc/glibc-functions/c32rtomb.texi: New file.
25312         * doc/glibc-functions/clock_adjtime.texi: New file.
25313         * doc/glibc-functions/fanotify_init.texi: New file.
25314         * doc/glibc-functions/fanotify_mark.texi: New file.
25315         * doc/glibc-functions/inet6_opt_append.texi: New file.
25316         * doc/glibc-functions/inet6_opt_find.texi: New file.
25317         * doc/glibc-functions/inet6_opt_finish.texi: New file.
25318         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
25319         * doc/glibc-functions/inet6_opt_init.texi: New file.
25320         * doc/glibc-functions/inet6_opt_next.texi: New file.
25321         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
25322         * doc/glibc-functions/inet6_rth_add.texi: New file.
25323         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
25324         * doc/glibc-functions/inet6_rth_init.texi: New file.
25325         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
25326         * doc/glibc-functions/inet6_rth_segments.texi: New file.
25327         * doc/glibc-functions/inet6_rth_space.texi: New file.
25328         * doc/glibc-functions/login.texi: New file.
25329         * doc/glibc-functions/mbrtoc16.texi: New file.
25330         * doc/glibc-functions/mbrtoc32.texi: New file.
25331         * doc/glibc-functions/name_to_handle_at.texi: New file.
25332         * doc/glibc-functions/ntp_gettimex.texi: New file.
25333         * doc/glibc-functions/open_by_handle_at.texi: New file.
25334         * doc/glibc-functions/prlimit.texi: New file.
25335         * doc/glibc-functions/process_vm_readv.texi: New file.
25336         * doc/glibc-functions/process_vm_writev.texi: New file.
25337         * doc/glibc-functions/recvmmsg.texi: New file.
25338         * doc/glibc-functions/scandirat.texi: New file.
25339         * doc/glibc-functions/sendmmsg.texi: New file.
25340         * doc/glibc-functions/setns.texi: New file.
25341         * doc/glibc-functions/timespec_get.texi: New file.
25342         * doc/gnulib.texi: Include them.
25343         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
25344         sections.
25345         Reported by Eric Blake.
25347 2012-02-28  Bruno Haible  <bruno@clisp.org>
25349         Avoid compilation errors with MSVC option -fp:strict.
25350         * lib/floor.c: Use MSVC specific pragma fenv_access.
25351         * lib/ceil.c: Likewise.
25352         * lib/trunc.c: Likewise.
25353         * lib/round.c: Likewise.
25354         * lib/rint.c: Likewise.
25355         * lib/fma.c: Likewise.
25356         * lib/integer_length.c: Likewise.
25357         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25358         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25359         * tests/test-floor2.c: Likewise.
25360         * tests/test-floorf2.c: Likewise.
25361         * tests/test-ceil2.c: Likewise.
25362         * tests/test-ceilf2.c: Likewise.
25363         * tests/test-trunc2.c: Likewise.
25364         * tests/test-truncf2.c: Likewise.
25365         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
25367 2012-02-27  Bruno Haible  <bruno@clisp.org>
25369         Tests for module 'sqrtl-ieee'.
25370         * modules/sqrtl-ieee-tests: New file.
25371         * tests/test-sqrtl-ieee.c: New file.
25373         New module 'sqrtl-ieee'.
25374         * modules/sqrtl-ieee: New file.
25376         Tests for module 'sqrt-ieee'.
25377         * modules/sqrt-ieee-tests: New file.
25378         * tests/test-sqrt-ieee.c: New file.
25380         New module 'sqrt-ieee'.
25381         * modules/sqrt-ieee: New file.
25383         Tests for module 'sqrtf-ieee'.
25384         * modules/sqrtf-ieee-tests: New file.
25385         * tests/test-sqrtf-ieee.c: New file.
25386         * tests/test-sqrt-ieee.h: New file.
25388         New module 'sqrtf-ieee'.
25389         * modules/sqrtf-ieee: New file.
25391 2012-02-27  Bruno Haible  <bruno@clisp.org>
25393         remainderl-ieee: Work around test failure on OSF/1.
25394         * m4/remainderl-ieee.m4: New file.
25395         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
25396         present, test whether remainderl works with a zero second argument.
25397         Replace it if not.
25398         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
25399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
25400         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
25401         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
25402         (Depends-on): Update conditions.
25403         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
25404         (Depends-on): Add remainder-ieee.
25405         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
25406         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
25407         module.
25409         remainderf-ieee: Work around test failure on OSF/1.
25410         * m4/remainderf-ieee.m4: New file.
25411         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
25412         present, test whether remainderf works with a zero second argument.
25413         Replace it if not.
25414         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
25415         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
25416         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
25417         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
25418         (Depends-on): Update conditions.
25419         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
25420         (Depends-on): Add remainder-ieee.
25421         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
25422         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
25423         module.
25425         remainder-ieee: Work around test failure on OSF/1.
25426         * m4/remainder-ieee.m4: New file.
25427         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
25428         present, test whether remainder works with a zero second argument.
25429         Replace it if not.
25430         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
25431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
25432         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
25433         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
25434         (Depends-on): Update dependencies.
25435         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
25436         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
25437         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
25439         Tests for module 'remainderl-ieee'.
25440         * modules/remainderl-ieee-tests: New file.
25441         * tests/test-remainderl-ieee.c: New file.
25443         New module 'remainderl-ieee'.
25444         * modules/remainderl-ieee: New file.
25446         Tests for module 'remainder-ieee'.
25447         * modules/remainder-ieee-tests: New file.
25448         * tests/test-remainder-ieee.c: New file.
25450         New module 'remainder-ieee'.
25451         * modules/remainder-ieee: New file.
25453         Tests for module 'remainderf-ieee'.
25454         * modules/remainderf-ieee-tests: New file.
25455         * tests/test-remainderf-ieee.c: New file.
25456         * tests/test-remainder-ieee.h: New file.
25458         New module 'remainderf-ieee'.
25459         * modules/remainderf-ieee: New file.
25461 2012-02-27  Bruno Haible  <bruno@clisp.org>
25463         modff, modfl: Fix configure syntax error.
25464         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
25465         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25467 2012-02-27  Bruno Haible  <bruno@clisp.org>
25469         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
25470         * m4/fmodl-ieee.m4: New file.
25471         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
25472         whether fmodl works with zero arguments. Replace it if not.
25473         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
25474         (Depends-on): Add fmod-ieee.
25475         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
25476         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
25478         fmodf-ieee: Work around test failure on OSF/1.
25479         * m4/fmodf-ieee.m4: New file.
25480         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
25481         whether fmodf works with zero arguments. Replace it if not.
25482         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
25483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
25484         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
25485         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
25486         (Depends-on): Update dependencies.
25487         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
25488         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
25489         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
25491         fmodf-ieee: Work around test failure on MSVC 9.
25492         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
25493         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
25495         fmod-ieee: Work around test failures on OSF/1, mingw.
25496         * m4/fmod-ieee.m4: New file.
25497         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
25498         whether fmod works with zero arguments. Replace it if not.
25499         * lib/math.in.h (fmod): New declaration.
25500         * lib/fmod.c: New file.
25501         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
25502         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
25503         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
25504         * modules/fmod (Files): Add lib/fmod.c.
25505         (Depends-on): Add math, isinf, trunc, fma.
25506         (configure.ac): Arrange to compile lib/fmod.c if needed.
25507         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
25508         m4/signbit.m4.
25509         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
25510         * tests/test-math-c++.cc: Check the declaration of fmod.
25511         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
25513         fmodl-ieee: Fix test failures.
25514         * lib/fmodl.c (fmodl): Treat Inf specially.
25515         * modules/fmodl (Depends-on): Add isinf.
25517         Tests for module 'fmodl-ieee'.
25518         * modules/fmodl-ieee-tests: New file.
25519         * tests/test-fmodl-ieee.c: New file.
25521         New module 'fmodl-ieee'.
25522         * modules/fmodl-ieee: New file.
25524         Tests for module 'fmod-ieee'.
25525         * modules/fmod-ieee-tests: New file.
25526         * tests/test-fmod-ieee.c: New file.
25528         New module 'fmod-ieee'.
25529         * modules/fmod-ieee: New file.
25531         Tests for module 'fmodf-ieee'.
25532         * modules/fmodf-ieee-tests: New file.
25533         * tests/test-fmodf-ieee.c: New file.
25534         * tests/test-fmod-ieee.h: New file.
25536         New module 'fmodf-ieee'.
25537         * modules/fmodf-ieee: New file.
25539 2012-02-27  Bruno Haible  <bruno@clisp.org>
25541         Tests for module 'rintl-ieee'.
25542         * modules/rintl-ieee-tests: New file.
25543         * tests/test-rintl-ieee.c: New file.
25545         New module 'rintl-ieee'.
25546         * modules/rintl-ieee: New file.
25548         Tests for module 'rint-ieee'.
25549         * modules/rint-ieee-tests: New file.
25550         * tests/test-rint-ieee.c: New file.
25552         New module 'rint-ieee'.
25553         * modules/rint-ieee: New file.
25555         Tests for module 'rintf-ieee'.
25556         * modules/rintf-ieee-tests: New file.
25557         * tests/test-rintf-ieee.c: New file.
25558         * tests/test-rint-ieee.h: New file.
25560         New module 'rintf-ieee'.
25561         * modules/rintf-ieee: New file.
25563 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25565         regex: re_search etc. should return -2 when memory exhausted
25566         This bug was uncovered when testing 'grep'.  Without the fix,
25567         re_search and friends return -1 when memory is exhausted, but -1
25568         means no match, and this causes grep to falsely report no-match
25569         instead of memory-exhaustion.  See
25570         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
25571         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
25572         trouble; this can occur if re_search_internal ran out of memory.
25574 2012-02-26  Bruno Haible  <bruno@clisp.org>
25576         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
25577         * m4/modfl-ieee.m4: New file.
25578         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
25579         whether modfl works with Inf. Replace it if not.
25580         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
25581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
25582         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
25583         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
25584         (Depends-on): Update dependencies.
25585         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
25586         m4/signbit.m4.
25587         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
25588         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
25590         modfl-ieee: Fix dependencies.
25591         * modules/modfl-ieee (Depends-on): Add modf-ieee.
25593         modfl-ieee: Fix test failures.
25594         * lib/modfl.c (modfl): Treat NaN and Inf specially.
25595         * modules/modfl (Depends-on): Add isfinite, isinf.
25597         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
25598         * m4/modff-ieee.m4: New file.
25599         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
25600         whether modff works with NaN and Inf. Replace it if not.
25601         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
25602         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
25603         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
25604         * modules/modff (configure.ac): Consider REPLACE_MODFF.
25605         (Depends-on): Update dependencies.
25606         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
25607         m4/signbit.m4.
25608         (Depends-on): Add modf-ieee.
25609         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
25610         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
25612         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
25613         * m4/modf-ieee.m4: New file.
25614         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
25615         whether modf works with NaN and Inf. Replace it if not.
25616         * lib/math.in.h (modf): New declaration.
25617         * lib/modf.c: New file.
25618         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
25619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
25620         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
25621         * modules/modf (Files): Add lib/modf.c.
25622         (Depends-on): Add math, isfinite, trunc, isinf.
25623         (configure.ac): Addrange to compile lib/modf.c if needed.
25624         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
25625         m4/signbit.m4.
25626         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
25627         * tests/test-math-c++.cc: Check the declaration of modf.
25628         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
25630         Tests for module 'modfl-ieee'.
25631         * modules/modfl-ieee-tests: New file.
25632         * tests/test-modfl-ieee.c: New file.
25634         New module 'modfl-ieee'.
25635         * modules/modfl-ieee: New file.
25637         Tests for module 'modf-ieee'.
25638         * modules/modf-ieee-tests: New file.
25639         * tests/test-modf-ieee.c: New file.
25641         New module 'modf-ieee'.
25642         * modules/modf-ieee: New file.
25644         Tests for module 'modff-ieee'.
25645         * modules/modff-ieee-tests: New file.
25646         * tests/test-modff-ieee.c: New file.
25647         * tests/test-modf-ieee.h: New file.
25649         New module 'modff-ieee'.
25650         * modules/modff-ieee: New file.
25652 2012-02-26  Bruno Haible  <bruno@clisp.org>
25654         Tests for module 'fabsl-ieee'.
25655         * modules/fabsl-ieee-tests: New file.
25656         * tests/test-fabsl-ieee.c: New file.
25658         New module 'fabsl-ieee'.
25659         * modules/fabsl-ieee: New file.
25661         Tests for module 'fabs-ieee'.
25662         * modules/fabs-ieee-tests: New file.
25663         * tests/test-fabs-ieee.c: New file.
25665         New module 'fabs-ieee'.
25666         * modules/fabs-ieee: New file.
25668         Tests for module 'fabsf-ieee'.
25669         * modules/fabsf-ieee-tests: New file.
25670         * tests/test-fabsf-ieee.c: New file.
25671         * tests/test-fabs-ieee.h: New file.
25673         New module 'fabsf-ieee'.
25674         * modules/fabsf-ieee: New file.
25676 2012-02-26  Bruno Haible  <bruno@clisp.org>
25678         Tests for module 'fmal-ieee'.
25679         * modules/fmal-ieee-tests: New file.
25680         * tests/test-fmal-ieee.c: New file.
25682         New module 'fmal-ieee'.
25683         * modules/fmal-ieee: New file.
25685         Tests for module 'fma-ieee'.
25686         * modules/fma-ieee-tests: New file.
25687         * tests/test-fma-ieee.c: New file.
25689         New module 'fma-ieee'.
25690         * modules/fma-ieee: New file.
25692         Tests for module 'fmaf-ieee'.
25693         * modules/fmaf-ieee-tests: New file.
25694         * tests/test-fmaf-ieee.c: New file.
25695         * tests/test-fma-ieee.h: New file.
25697         New module 'fmaf-ieee'.
25698         * modules/fmaf-ieee: New file.
25700 2012-02-26  Bruno Haible  <bruno@clisp.org>
25702         Tests for module 'ldexpl-ieee'.
25703         * modules/ldexpl-ieee-tests: New file.
25704         * tests/test-ldexpl-ieee.c: New file.
25706         New module 'ldexpl-ieee'.
25707         * modules/ldexpl-ieee: New file.
25709         Tests for module 'ldexp-ieee'.
25710         * modules/ldexp-ieee-tests: New file.
25711         * tests/test-ldexp-ieee.c: New file.
25713         New module 'ldexp-ieee'.
25714         * modules/ldexp-ieee: New file.
25716         Tests for module 'ldexpf-ieee'.
25717         * modules/ldexpf-ieee-tests: New file.
25718         * tests/test-ldexpf-ieee.c: New file.
25719         * tests/test-ldexp-ieee.h: New file.
25721         New module 'ldexpf-ieee'.
25722         * modules/ldexpf-ieee: New file.
25724 2012-02-26  Bruno Haible  <bruno@clisp.org>
25726         Refactor frexp*-ieee tests.
25727         * tests/test-frexp-ieee.h: New file.
25728         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
25729         (main): Just call test_function.
25730         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
25731         (main): Just call test_function.
25732         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
25733         (main): Just call test_function.
25734         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
25735         * modules/frexp-ieee-tests (Files): Likewise.
25736         * modules/frexpl-ieee-tests (Files): Likewise.
25738         Tests for module 'frexpl-ieee'.
25739         * modules/frexpl-ieee-tests: New file.
25740         * tests/test-frexpl-ieee.c: New file.
25742         New module 'frexpl-ieee'.
25743         * modules/frexpl-ieee: New file.
25745         Tests for module 'frexp-ieee'.
25746         * modules/frexp-ieee-tests: New file.
25747         * tests/test-frexp-ieee.c: New file.
25749         New module 'frexp-ieee'.
25750         * modules/frexp-ieee: New file.
25752         Tests for module 'frexpf-ieee'.
25753         * modules/frexpf-ieee-tests: New file.
25754         * tests/test-frexpf-ieee.c: New file.
25756         New module 'frexpf-ieee'.
25757         * modules/frexpf-ieee: New file.
25759 2012-02-26  Bruno Haible  <bruno@clisp.org>
25761         roundl-ieee tests: More tests.
25762         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25763         (main): Add tests for [MX] shaded specification in POSIX.
25764         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25765         (Depends-on): Add isnanl-nolibm.
25767         round-ieee tests: More tests.
25768         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25769         (main): Add tests for [MX] shaded specification in POSIX.
25770         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25771         (Depends-on): Add isnand-nolibm.
25773         roundf-ieee tests: More tests.
25774         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25775         (main): Add tests for [MX] shaded specification in POSIX.
25776         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25777         (Depends-on): Add isnanf-nolibm.
25779         truncl-ieee tests: More tests.
25780         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25781         (main): Add tests for [MX] shaded specification in POSIX.
25782         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25783         (Depends-on): Add isnanl-nolibm.
25785         trunc-ieee tests: More tests.
25786         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25787         (main): Add tests for [MX] shaded specification in POSIX.
25788         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25789         (Depends-on): Add isnand-nolibm.
25791         truncf-ieee tests: More tests.
25792         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25793         (main): Add tests for [MX] shaded specification in POSIX.
25794         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25795         (Depends-on): Add isnanf-nolibm.
25797         ceill-ieee tests: More tests.
25798         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25799         (main): Add tests for [MX] shaded specification in POSIX.
25800         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25801         (Depends-on): Add isnanl-nolibm.
25803         ceil-ieee tests: More tests.
25804         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25805         (main): Add tests for [MX] shaded specification in POSIX.
25806         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25807         (Depends-on): Add isnand-nolibm.
25809         ceilf-ieee tests: More tests.
25810         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25811         (main): Add tests for [MX] shaded specification in POSIX.
25812         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25813         (Depends-on): Add isnanf-nolibm.
25815         floorl-ieee tests: More tests.
25816         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25817         (main): Add tests for [MX] shaded specification in POSIX.
25818         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25819         (Depends-on): Add isnanl-nolibm.
25821         floor-ieee tests: More tests.
25822         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25823         (main): Add tests for [MX] shaded specification in POSIX.
25824         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25825         (Depends-on): Add isnand-nolibm.
25827         floorf-ieee tests: More tests.
25828         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25829         (main): Add tests for [MX] shaded specification in POSIX.
25830         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25831         (Depends-on): Add isnanf-nolibm.
25833 2012-02-26  Bruno Haible  <bruno@clisp.org>
25835         fpieee: More comments.
25836         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25838 2012-02-25  Bruno Haible  <bruno@clisp.org>
25840         Tests for module 'log10l'.
25841         * modules/log10l-tests: New file.
25842         * tests/test-log10l.c: New file.
25843         * tests/test-math-c++.cc: Check the declaration of log10l.
25845         New module 'log10l'.
25846         * lib/math.in.h (log10l): New declaration.
25847         * lib/log10l.c: New file.
25848         * m4/log10l.m4: New file.
25849         * modules/log10l: New file.
25850         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25851         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25852         HAVE_DECL_LOG10L.
25853         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25854         HAVE_DECL_LOG10L.
25855         * doc/posix-functions/log10l.texi: Mention the new module.
25857 2012-02-25  Bruno Haible  <bruno@clisp.org>
25859         fmodl, remainder*: Avoid wrong results due to rounding errors.
25860         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25861         expected bounds.
25862         * lib/remainderf.c (remainderf): Likewise.
25863         * lib/remainder.c (remainder): Likewise.
25864         * lib/remainderl.c (remainderl): Likewise.
25866 2012-02-25  Bruno Haible  <bruno@clisp.org>
25868         Tests for module 'remainderl'.
25869         * modules/remainderl-tests: New file.
25870         * tests/test-remainderl.c: New file.
25871         * tests/test-math-c++.cc: Check the declaration of remainderl.
25873         New module 'remainderl'.
25874         * lib/math.in.h (remainderl): New declaration.
25875         * lib/remainderl.c: New file.
25876         * m4/remainderl.m4: New file.
25877         * modules/remainderl: New file.
25878         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25879         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25880         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25881         HAVE_REMAINDERL.
25882         * doc/posix-functions/remainderl.texi: Mention the new module.
25884 2012-02-25  Bruno Haible  <bruno@clisp.org>
25886         Tests for module 'remainderf'.
25887         * modules/remainderf-tests: New file.
25888         * tests/test-remainderf.c: New file.
25889         * tests/test-math-c++.cc: Check the declaration of remainderf.
25891         New module 'remainderf'.
25892         * lib/math.in.h (remainderf): New declaration.
25893         * lib/remainderf.c: New file.
25894         * m4/remainderf.m4: New file.
25895         * modules/remainderf: New file.
25896         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25898         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25899         HAVE_REMAINDERF.
25900         * doc/posix-functions/remainderf.texi: Mention the new module.
25902 2012-02-25  Bruno Haible  <bruno@clisp.org>
25904         remainder: Support for MSVC.
25905         * lib/math.in.h (remainder): New declaration.
25906         * lib/remainder.c: New file.
25907         * m4/remainder.m4: New file.
25908         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25909         (Depends-on): Add math, round, fma.
25910         (configure.ac): Use results of gl_FUNC_REMAINDER.
25911         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25913         HAVE_DECL_REMAINDER.
25914         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25915         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25916         * tests/test-math-c++.cc: Check the declaration of remainder.
25917         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25918         problems are fixed.
25920 2012-02-25  Bruno Haible  <bruno@clisp.org>
25922         Tests for module 'fmodl'.
25923         * modules/fmodl-tests: New file.
25924         * tests/test-fmodl.c: New file.
25925         * tests/test-math-c++.cc: Check the declaration of fmodl.
25927         New module 'fmodl'.
25928         * lib/math.in.h (fmodl): New declaration.
25929         * lib/fmodl.c: New file.
25930         * m4/fmodl.m4: New file.
25931         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25933         REPLACE_FMODL.
25934         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25935         REPLACE_FMODL.
25936         * modules/fmodl: New file.
25937         * doc/posix-functions/fmodl.texi: Mention the new module.
25939 2012-02-25  Bruno Haible  <bruno@clisp.org>
25941         Tests for module 'modfl'.
25942         * modules/modfl-tests: New file.
25943         * tests/test-modfl.c: New file.
25944         * tests/test-math-c++.cc: Check the declaration of modfl.
25946         New module 'modfl'.
25947         * lib/math.in.h (modfl): New declaration.
25948         * lib/modfl.c: New file.
25949         * m4/modfl.m4: New file.
25950         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25951         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25952         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25953         * modules/modfl: New file.
25954         * doc/posix-functions/modfl.texi: Mention the new module.
25956 2012-02-25  Bruno Haible  <bruno@clisp.org>
25958         Tests for module 'fabsl'.
25959         * modules/fabsl-tests: New file.
25960         * tests/test-fabsl.c: New file.
25961         * tests/test-math-c++.cc: Check the declaration of fabsl.
25963         New module 'fabsl'.
25964         * lib/math.in.h (fabsl): New declaration.
25965         * lib/fabsl.c: New file.
25966         * m4/fabsl.m4: New file.
25967         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
25968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
25969         REPLACE_FABSL.
25970         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
25971         REPLACE_FABSL.
25972         * modules/fabsl: New file.
25973         * doc/posix-functions/fabsl.texi: Mention the new module.
25975 2012-02-25  Bruno Haible  <bruno@clisp.org>
25977         fabs tests: More tests.
25978         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
25979         (zero): New variable.
25980         (main): Add tests for signed zero.
25981         * modules/fabs-tests (Files): Add tests/minus-zero.h.
25983         fabsf tests: More tests.
25984         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
25985         (zero): New variable.
25986         (main): Add tests for signed zero.
25987         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
25989 2012-02-24  Bruno Haible  <bruno@clisp.org>
25991         atanl: Provide function definition on MSVC.
25992         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
25993         function pointer.
25994         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
25996 2012-02-24  Bruno Haible  <bruno@clisp.org>
25998         acosl: Provide function definition on MSVC.
25999         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
26000         function pointer.
26001         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
26003 2012-02-24  Bruno Haible  <bruno@clisp.org>
26005         asinl: Provide function definition on MSVC.
26006         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
26007         function pointer.
26008         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
26010 2012-02-24  Bruno Haible  <bruno@clisp.org>
26012         tanl: Provide function definition on MSVC.
26013         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
26014         function pointer.
26015         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
26017 2012-02-24  Bruno Haible  <bruno@clisp.org>
26019         cosl: Provide function definition on MSVC.
26020         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
26021         function pointer.
26022         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
26024 2012-02-24  Bruno Haible  <bruno@clisp.org>
26026         sinl: Provide function definition on MSVC.
26027         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
26028         function pointer.
26029         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
26031 2012-02-24  Bruno Haible  <bruno@clisp.org>
26033         logl: Provide function definition on MSVC.
26034         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
26035         function pointer.
26036         * lib/math.in.h (logl): Undefine if it does not exist as a function.
26038 2012-02-24  Bruno Haible  <bruno@clisp.org>
26040         expl: Provide function definition on MSVC.
26041         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
26042         function pointer.
26043         * lib/math.in.h (expl): Undefine if it does not exist as a function.
26045 2012-02-24  Bruno Haible  <bruno@clisp.org>
26047         sqrtl: Provide function definition on MSVC.
26048         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
26049         a function pointer.
26050         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
26052 2012-02-24  Bruno Haible  <bruno@clisp.org>
26054         ceill: Provide function definition on MSVC.
26055         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
26056         used as a function pointer.
26057         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
26059 2012-02-24  Bruno Haible  <bruno@clisp.org>
26061         floorl: Provide function definition on MSVC.
26062         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
26063         used as a function pointer.
26064         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
26066 2012-02-24  Bruno Haible  <bruno@clisp.org>
26068         ceilf: Provide function definition on MSVC.
26069         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
26070         used as a function pointer.
26071         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
26073 2012-02-24  Bruno Haible  <bruno@clisp.org>
26075         floorf: Provide function definition on MSVC.
26076         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
26077         used as a function pointer.
26078         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
26080 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26082         stdnoreturn: new module
26083         This implements a replacement for C11's <stdnoreturn.h>.
26084         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
26085         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
26086         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
26087         * tests/test-stdnoreturn.c: New files.
26089 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
26091         regex: fix false multibyte matches in some regular expressions
26092         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
26093         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
26094         * lib/regex_internal.c (re_string_skip_chars):
26095         Fix miscomputation of remain_len that may cause incomplete
26096         multi-byte character and false match.
26098 2012-02-24  Jim Meyering  <meyering@redhat.com>
26100         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
26101         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
26102         uses with "==" *before* the call, e.g., 0 == strcmp (...)
26103         Remove now-unnecessary str''cmp obfuscation.
26104         Suggested by Akim Demaille.
26106 2012-02-24  Bruno Haible  <bruno@clisp.org>
26108         streq: Rename macro.
26109         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
26110         * NEWS: Mention the change.
26111         * lib/mbrtowc.c (mbrtowc): Update.
26112         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
26113         * lib/wcwidth.c (wcwidth): Update.
26114         Suggested by Akim Demaille and Jim Meyering.
26116 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26118         regex: fix typo in definition of MIN
26119         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
26120         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
26122 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26123             Bruno Haible  <bruno@clisp.org>
26125         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
26126         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
26127         entries into a stack-allocated buffer directly.
26128         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
26130 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26131             Bruno Haible  <bruno@clisp.org>
26133         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
26135          - There were several instances of this pattern:
26137              for (;;) {
26138                n = acl (f, GETACLCNT, 0, NULL);
26139                [ allocate an array A of size N ]
26140                if (acl (f, GETACL, n, a) == n)
26141                  break;
26142              }
26144            This loop might never terminate if some other process is constantly
26145            manipulating the file's ACL.  The loop should be rewritten to
26146            terminate.
26148          - The acl (... GETACLNT ...) call is merely an optimization; its value
26149            is merely a hint as to how big to make the array.  A better
26150            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
26151            and just guess a reasonably-big size, growing the size and trying
26152            again if it's not large enough.  This guarantees termination, and
26153            saves a system call.
26155         * lib/acl-internal.h: Include <limits.h>.
26156         (MIN, SIZE_MAX): New macros.
26157         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
26158         a stack-allocated buffer, and use malloc if it does not fit. Don't
26159         use GETACLCNT.
26160         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26162 2012-02-19  Bruno Haible  <bruno@clisp.org>
26164         acl: Fix endless loop on Solaris with vxfs.
26165         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
26166         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
26167         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26168         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
26169         * tests/test-sameacls.c (main)[Solaris]: Likewise.
26170         Reported by Bill Jones in
26171         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
26173 2012-02-19  Bruno Haible  <bruno@clisp.org>
26175         acl: Fix copy-acl test failure on Solaris 11.0.
26176         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
26177         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
26178         that this function returns 0 in some more cases.
26180 2012-02-19  Bruno Haible  <bruno@clisp.org>
26182         acl: Update doc references.
26183         * doc/acl-resources.txt: Update links to Solaris documentation.
26185 2012-02-19  Bruno Haible  <bruno@clisp.org>
26187         Fix test failure in many locales on Solaris 11.
26188         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
26189         'tr' arguments.
26190         * tests/test-pipe-filter-ii1.c (main): Likewise.
26191         * build-aux/bootstrap (check_versions): Run 'tr' command with range
26192         expressions in the C locale.
26193         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26194         * m4/host-os.m4 (gl_HOST_OS): Likewise.
26196 2012-02-19  Bruno Haible  <bruno@clisp.org>
26198         gnulib-tool: Improve usage message.
26199         * gnulib-tool (func_usage): Move doc of --help and --version to the
26200         section "Operation modes".
26202 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
26204         README-release: make it easier to execute commands
26205         * top/README-release: break commands out on to separate lines.
26207 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
26209         GNUmakefile: simplify detection of unconfigured trees
26210         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
26211         whether the tree make is being run from is already configured or
26212         not.  Related simplifications.
26214 2012-02-13  Simon Josefsson  <simon@josefsson.org>
26216         * gnulib-tool (func_usage): Document --help and --version.
26218 2012-02-11  Jim Meyering  <meyering@redhat.com>
26220         bootstrap: don't exit 0 upon gnulib-tool failure
26221         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
26222         its exit status, not 0.
26224 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
26226         README-release: various improvements
26227         * top/README-release: Give a command to push changes for the
26228         release.  Add "distcheck" to list of other pre-release checks.
26229         Fix instance of "make stable" which should be "make TYPE".
26231 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
26233         maint: replace FSF snail-mail addresses with URLs
26234         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
26235         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
26236         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
26237         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
26238         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
26239         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
26240         * lib/check-version.c, lib/check-version.h, lib/config.charset:
26241         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
26242         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
26243         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
26244         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
26245         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
26246         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
26247         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
26248         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
26249         * lib/glthread/thread.c, lib/glthread/thread.h:
26250         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
26251         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
26252         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
26253         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
26254         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
26255         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
26256         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
26257         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
26258         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
26259         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
26260         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
26261         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
26262         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
26263         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
26264         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
26265         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
26266         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
26267         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
26268         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
26269         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
26270         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
26271         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
26272         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
26273         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
26274         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
26275         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
26276         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
26277         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
26278         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
26279         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
26280         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
26281         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
26282         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
26283         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
26284         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
26285         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
26286         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
26287         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
26288         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
26289         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
26290         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
26291         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
26292         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
26293         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
26294         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
26295         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
26296         * tests/test-poll.c, tests/test-quotearg-simple.c:
26297         * tests/test-quotearg.c, tests/test-quotearg.h:
26298         * tests/test-round-ieee.c, tests/test-round1.c:
26299         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
26300         * tests/test-roundl-ieee.c, tests/test-roundl.c:
26301         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
26302         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
26303         * tests/test-strerror.c, tests/test-strerror_r.c:
26304         * tests/test-strsignal.c, tests/test-strverscmp.c:
26305         * tests/test-xmemdup0.c:
26306         Replace FSF snail mail addresses with URLs, as per GNU coding
26307         standards.  See glibc bug
26308         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
26310 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
26312         README-release: capitalize a word and split a line
26313         * top/README-release: Fix punctuation and spacing.
26315 2012-02-08  Akim Demaille  <demaille@gostai.com>
26317         fatal-signal: use C prototypes (with explicit void).
26318         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26319         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
26321 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26323         regex: spelling fix
26324         * lib/regexec.c: spelling fix
26326         regex: rely on stdint.h for SIZE_MAX
26327         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
26329 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26331         regex: merge glibc changes
26333         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
26334         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
26335         (init_word_char): Work even if bitset words are not exactly 32 or
26336         64 bits wide.  Don't assume there are no padding bits.
26337         * lib/regex.c [_LIBC]: Do not include <config.h>.
26338         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
26339         and -Wtype-limits.
26340         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
26341         needless disagreement with glibc.  All uses changed.  Define it to
26342         1 only if _GNU_SOURCE, to match glibc.
26343         (_REG_RM_NAME): Remove; no longer needed, since the names in
26344         question are now all protected by __USE_GNU.
26345         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
26346         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
26347         * lib/regex_internal.h (MIN): New macro.
26349         2012-01-03 Ulrich Drepper <drepper@gmail.com>
26350         * lib/regcomp.c (init_word_char): Optimize regex a bit.
26352         2011-12-30 Jakub Jelinek <jakub@redhat.com>
26353         * lib/regex_internal.c (re_string_fetch_byte_case):
26354         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
26355         is miscompiled, and it turns out it is because of an incorrect
26356         attribute on re_string_fetch_byte_case.  Unlike
26357         re_string_peek_byte_case, this one is really not pure, it modifies
26358         memory (increments pstr->cur_idx), and with the pure attribute GCC
26359         assumed it doesn't and it cached the presumed value of
26360         regexp->cur_idx in a variable across the
26361          for (;; ++i)
26362            {
26363              if (i >= BRACKET_NAME_BUF_SIZE)
26364                return REG_EBRACK;
26365              if (token->type == OP_OPEN_CHAR_CLASS)
26366                ch = re_string_fetch_byte_case (regexp);
26367              else
26368                ch = re_string_fetch_byte (regexp);
26369              if (re_string_eoi(regexp))
26370                return REG_EBRACK;
26371              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
26372                break;
26373              elem->opr.name[i] = ch;
26374            }
26376         2011-11-29 Andreas Schwab <schwab@redhat.com>
26377         * lib/regcomp.c (build_equiv_class):
26378         Fix access after end of search string in regex matcher.
26380         2011-11-12 Ulrich Drepper <drepper@redhat.com>
26381         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
26383         2011-10-12 Ulrich Drepper <drepper@redhat.com>
26384         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
26386         2011-10-11 Ulrich Drepper <drepper@redhat.com>
26387         * lib/regcomp.c (parse_branch, parse_sub_exp):
26388         More regex memory leak fixes and tests.
26389         (parse_sub_exp, parse_bracket_exp):
26390         Fix memory leak for some invalid regular expressions.
26392         2011-05-28 Ulrich Drepper <drepper@gmail.com>
26393         * lib/regex_internal.c, lib/regexec.c:
26394         Fix unnecessary overallocation due to incomplete character.  When
26395         incomplete characters are found at the end of a string the code
26396         ran amok and allocated lots of memory.  Stricter limits are now in
26397         place.
26399         2011-05-20 Reuben Thomas <rrt@sc3d.org>
26400         * lib/regex.h: Update documentation.
26402         2011-05-16 Aharon Robbins <arnold@skeeve.com>
26403         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
26405         2010-05-05 Andreas Schwab <schwab@redhat.com>
26406         * lib/regexec.c (find_collation_sequence_value):
26407         Fix lookup of collation sequence value during regexp matching.
26409         2010-01-22 Ulrich Drepper <drepper@redhat.com>
26410         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
26412         2008-01-16 Ulrich Drepper <drepper@redhat.com>
26413         * lib/regex.h: Cleanup namespace.
26415         2007-11-26 Ulrich Drepper <drepper@redhat.com>
26416         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
26418         2007-08-26 Ulrich Drepper <drepper@redhat.com>
26419         * lib/regex_internal.h: Prevent some declarations and definitions
26420         to be seen when used in tests.
26422         2005-05-06 Ulrich Drepper <drepper@redhat.com>
26423         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
26424         __libc_lock_* macros if not _LIBC.
26425         (struct re_dfa_t): Add lock.
26427 2012-02-07  Eric Blake  <eblake@redhat.com>
26429         maint.mk: also prohibit lower-case @var@
26430         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
26431         lower case, like @top_srcdir@.
26433 2012-02-04  Eric Blake  <eblake@redhat.com>
26435         canonicalize: avoid uninitialized memory use
26436         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
26437         random '/' left in dest.
26438         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
26440 2012-02-04  Bruno Haible  <bruno@clisp.org>
26442         isatty: Fix test failure of ptsname_r on native Windows.
26443         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
26444         and don't set errno.
26445         (isatty): Test first whether fd is valid. Set errno when returning 0.
26447 2012-02-04  Bruno Haible  <bruno@clisp.org>
26449         spawn-pipe tests: Fix a NULL program name in a diagnostic.
26450         * tests/test-spawn-pipe-main.c: Include progname.h.
26451         (main): Invoke set_program_name.
26452         * modules/spawn-pipe-tests (Depends-on): Add progname.
26454         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
26455         * tests/test-nonblocking-socket-main.c: Include progname.h.
26456         (main): Invoke set_program_name.
26457         * modules/nonblocking-socket-tests (Depends-on): Add progname.
26459         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
26460         * tests/test-nonblocking-pipe-main.c: Include progname.h.
26461         (main): Invoke set_program_name.
26462         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
26464 2012-02-04  Eric Blake  <eblake@redhat.com>
26466         canonicalize-lgpl: fix // handling
26467         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
26469         canonicalize: fix // handling
26470         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
26471         /// to //, since only // is special.
26473 2012-02-04  Bruno Haible  <bruno@clisp.org>
26475         ioctl: Fix test failure on native Windows.
26476         * lib/ioctl.c: Include msvc-nothrow.h.
26477         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
26479 2012-02-04  Bruno Haible  <bruno@clisp.org>
26481         fsync: Avoid test failure on native Windows.
26482         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
26483         read-only.
26485 2012-02-04  Bruno Haible  <bruno@clisp.org>
26487         sys_select: Avoid syntax error on OpenBSD 5.0.
26488         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
26489         currently being included, just include the system's <sys/select.h>.
26491 2012-02-04  Bruno Haible  <bruno@clisp.org>
26493         sys_select: Avoid syntax error on OpenBSD 5.0.
26494         * lib/sys_select.in.h: Include <signal.h> only after the include_next
26495         <sys/select.h>, not before.
26496         Reported by Jiri B <jirib@devio.us>.
26498 2012-02-04  Bruno Haible  <bruno@clisp.org>
26500         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
26501         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
26502         global variables.
26503         * tests/test-get-rusage-data.c (main): Likewise.
26504         Reported by Jim Meyering.
26506 2012-02-04  Bruno Haible  <bruno@clisp.org>
26508         stdioext: Fix last commit.
26509         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
26511 2012-02-03  Bruno Haible  <bruno@clisp.org>
26513         stdioext: Add tentative support for Plan9.
26514         * lib/stdio-impl.h: Include <errno.h>.
26515         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
26516         * lib/freadable.c (freadable): Likewise.
26517         * lib/fwritable.c (fwritable): Likewise.
26518         * lib/fbufmode.c (fbufmode): Likewise.
26519         * lib/freading.c (freading): Likewise.
26520         * lib/fwriting.c (fwriting): Likewise.
26521         * lib/freadptr.c (freadptr): Likewise.
26522         * lib/freadseek.c (freadptrinc): Likewise.
26523         * lib/freadahead.c (freadahead): Likewise.
26524         * lib/fpurge.c (fpurge): Likewise.
26525         * lib/fseeko.c (rpl_fseeko): Likewise.
26526         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
26527         Reported by Jens Staal <staal1978@gmail.com>.
26529 2012-02-02  Jim Meyering  <meyering@redhat.com>
26531         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
26532         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
26533         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
26534         not even to try to add the attribute.  Instead, add a pragma to suppress
26535         the suggestion/warning.
26537 2012-01-31  Karl Berry  <karl@gnu.org>
26539         setstate doc: typo.
26540         * doc/posix-functions/setstate.texi (setstate): { not (.
26542 2012-01-31  Bruno Haible  <bruno@clisp.org>
26544         popen: Make more robust on Windows.
26545         * lib/popen.c: On native Windows, use the _popen based code even if
26546         HAVE_POPEN is set.
26547         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
26548         environment variable on native Windows.
26550 2012-01-30  Bruno Haible  <bruno@clisp.org>
26552         pclose: Fix typo.
26553         * lib/stdio.in.h (pclose): Fix typo in warning message.
26555 2012-01-30  Bruno Haible  <bruno@clisp.org>
26557         doc about getlogin_r, setstate.
26558         * doc/posix-functions/getlogin_r.texi: List the incompatible
26559         declaration problem under "not fixed by gnulib".
26560         * doc/posix-functions/setstate.texi: Mention incompatible declaration
26561         problem on Solaris 11 and other platforms.
26563 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
26564             Bruno Haible  <bruno@clisp.org>
26566         poll tests: Make test more robust.
26567         * tests/test-poll.c: Include macros.h.
26568         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
26569         return value of various I/O operations.
26570         * modules/poll-tests (Files): Add tests/macros.h.
26572 2012-01-30  Bruno Haible  <bruno@clisp.org>
26574         sys_stat: Fix support for mingw64 and MSVC.
26575         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
26576         header files already do it.
26577         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
26578         stat itself.
26579         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26581 2012-01-30  Bruno Haible  <bruno@clisp.org>
26583         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
26584         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
26585         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
26587 2012-01-29  Bruno Haible  <bruno@clisp.org>
26589         quotearg: Fix test failure on MacOS X 10.5.
26590         * tests/test-quotearg-simple.c: Include localcharset.h.
26591         (main): If the locale encoding is not ASCII, bypass the tests of
26592         locale_quoting_style and clocale_quoting_style.
26593         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
26595 2012-01-29  Jim Meyering  <meyering@redhat.com>
26597         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
26598         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
26599         detect uses of canonicalize_file_name.
26601 2012-01-28  Bruno Haible  <bruno@clisp.org>
26603         test-framework-sh: Fix test failure with AIX 7.1 diff.
26604         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
26605         in column 1, like 'diff -c' does.
26606         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
26607         whether 'diff -u' is used. Instead, test whether the output contains
26608         some '@' character.
26610 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26612         strtoimax: eliminate need for stdint.h, inttypes.h checks
26613         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
26614         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
26615         the prerequisites for a recently-introduced strtoimax test.
26616         I guess this might cause strtoimax to be replaced when not
26617         strictly necessary on older hosts, but this shouldn't introduce
26618         any bugs and it should make Emacs 'configure' faster on typical
26619         modern hosts.  Problem discovered when importing the latest gnulib
26620         to an Emacs test version.
26621         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
26623 2012-01-28  Bruno Haible  <bruno@clisp.org>
26625         sys_time: Override 'struct timeval' on some native Windows platforms.
26626         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
26627         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
26628         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
26629         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
26630         needs to be overridden.
26631         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
26632         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
26633         * tests/test-sys_select.c: Check that the tv_sec member has the same
26634         size as a 'time_t'.
26635         * tests/test-sys_time.c: Likewise.
26636         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
26637         is set, set also REPLACE_GETTIMEOFDAY.
26638         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
26639         convert the resulting 'struct timeval' before returning.
26640         * lib/select.c: Include <sys/time.h>.
26641         (select, timeval): Undefine at the right place.
26642         * modules/select (Depends-on): Add sys_time.
26643         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
26644         some Windows platforms.
26645         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26647 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26649         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
26650         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
26651         an integer.
26652         * lib/fcntl.c (dupfd): Likewise.
26653         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
26655 2012-01-28  Bruno Haible  <bruno@clisp.org>
26657         fcntl: Avoid compilation error on native Windows.
26658         * modules/fcntl (Depends-on): Add 'close'.
26660 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26662         select, poll, isatty: Avoid warnings on x86_64 mingw64.
26663         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
26664         pointer to an integer.
26665         * lib/poll.c (IsConsoleHandle): Likewise.
26666         * lib/isatty.c (IsConsoleHandle): Likewise.
26668 2012-01-28  Jim Meyering  <meyering@redhat.com>
26670         doc: clarify README-release
26671         * top/README-release: Clarify: you should make a point to have
26672         the latest stable versions of build tools in your PATH, and the
26673         reference to buildreq is solely for its list of tool names, not
26674         for its minimal-functional version numbers.
26675         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
26677         maint.mk: use more readable (yet functionally equivalent) quoting
26678         It is common to quote a single quote in a single quoted string like
26679         this:  '...'\''...'.  Unless you know the idiom, that looks like
26680         gibberish, so prefer to double-quote the string when possible.
26681         Then you can use a more readable, lone single quote: "...'..."
26682         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
26683         "don't" is more readable than the equivalent 'don'\''t'.
26684         (sc_cast_of_x_alloc_return_value): Likewise.
26685         (sc_cast_of_alloca_return_value): Likewise.
26686         (sc_makefile_path_separator_check): Similar: use ":" in '...',
26687         rather than '\'':'\''.
26689 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26691         stdalign: relax _Alignof and tighten _Alignas test
26692         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
26693         as it was too strict: alignof must divide offsetof, but it need
26694         not equal offsetof.  Inspired by Joseph S. Myers's comment
26695         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
26696         Conversely, tighten the _Alignas test a bit, as the resulting
26697         alignment must be exactly 8.
26699 2012-01-27  Bruno Haible  <bruno@clisp.org>
26701         stdalign: Document the last change.
26702         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
26704 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26706         stdalign: check that alignof and offsetof are consistent
26707         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
26708         Problem reported for gnulib by Richard W.M. Jones in
26709         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
26711 2012-01-27  Jim Meyering  <meyering@redhat.com>
26713         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
26714         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
26715         convert a sequence with gaps to the minimal containing range.
26716         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
26717         * tests/test-update-copyright.sh: Test for this.
26718         The FSF confirmed it is ok to do this, assuming there is at
26719         least one significant change per year in the affected range:
26720         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
26722 2012-01-26  Bruno Haible  <bruno@clisp.org>
26724         pipe2: refine doc about thread-safety
26725         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
26726         multithread-safety problem.
26727         * doc/glibc-functions/accept4.texi: Likewise.
26729 2012-01-26  Bruno Haible  <bruno@clisp.org>
26731         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
26732         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
26733         In the test program, include <fcntl.h>, for O_RDONLY.
26735 2012-01-26  Eric Blake  <eblake@redhat.com>
26737         pipe2: document lack of thread-safety in replacement
26738         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
26739         issue in replacement.
26740         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26741         Based on a report by Eric Wong.
26743 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26744             Bruno Haible  <bruno@clisp.org>
26746         malloca: Avoid warnings on x86_64 mingw64.
26747         * lib/malloca.c: Include <stdint.h>.
26748         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26749         * modules/malloca (Depends-on): Add stdint.
26750         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26752 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26754         obstack: remove __STDC__ conditionals
26755         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26756         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26757         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26758         m4/include_next.m4 as the only gnulib-maintained places that still
26759         refer to __STDC__.
26761 2012-01-24  Bruno Haible  <bruno@clisp.org>
26763         havelib: Modern quoting.
26764         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26765         the recent change to the GNU coding standards.
26767 2012-01-24  Bruno Haible  <bruno@clisp.org>
26769         stdint: Improve support for Android.
26770         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26771         Reported by Simon Josefsson <simon@josefsson.org>.
26773 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26775         doc: omit trailing empty lines from INSTALL etc.
26776         * doc/Makefile (INSTALL): Omit trailing empty lines.
26777         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26778         omit trailing empty lines.  This simplifies the build procedure.
26780 2012-01-23  Jim Meyering  <meyering@redhat.com>
26782         tests: avoid spurious warnings about gl_sockets_startup
26783         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26784         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26785         reporting a "statement with no effect".
26786         * tests/test-accept.c (main): Mark as "(void)".
26787         * tests/test-accept4.c (main): Likewise.
26788         * tests/test-bind.c (main): Likewise.
26789         * tests/test-connect.c (main): Likewise.
26790         * tests/test-getpeername.c (main): Likewise.
26791         * tests/test-getsockname.c (main): Likewise.
26792         * tests/test-getsockopt.c (main): Likewise.
26793         * tests/test-listen.c (main): Likewise.
26794         * tests/test-recv.c (main): Likewise.
26795         * tests/test-recvfrom.c (main): Likewise.
26796         * tests/test-send.c (main): Likewise.
26797         * tests/test-sendto.c (main): Likewise.
26798         * tests/test-setsockopt.c (main): Likewise.
26799         * tests/test-shutdown.c (main): Likewise.
26801 2012-01-21  Bruno Haible  <bruno@clisp.org>
26803         locale-fr.m4: Fix for Android.
26804         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26805         failure of the test program on Bionic libc.
26807 2012-01-21  Jim Meyering  <meyering@redhat.com>
26809         bootstrap: fail when bootstrap_post_import_hook fails
26810         Otherwise, it's far too easy to miss diagnostics emitted
26811         between gnulib-tool's output and that of running configure.
26812         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26814 2012-01-17  Jim Meyering  <meyering@redhat.com>
26816         maint: enable sc_trailing_blank
26817         * build-aux/pmccabe.css: Remove trailing blanks.
26818         * doc/acl-cygwin.txt: Likewise.
26819         * doc/gnu-oids.texi: Likewise
26820         * cfg.mk: Enable sc_trailing_blank.
26821         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26823 2012-01-17  Jim Meyering  <meyering@redhat.com>
26825         maint: enable sc_prohibit_openat_without_use
26826         * cfg.mk: Enable sc_prohibit_openat_without_use.
26827         Exempt lib/selinux-at.c.
26829 2012-01-17  Jim Meyering  <meyering@redhat.com>
26831         maint: enable sc_prohibit_cloexec_without_use
26832         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26833         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26835 2012-01-17  Jim Meyering  <meyering@redhat.com>
26837         maint: enable sc_prohibit_intprops_without_use
26838         * cfg.mk: Enable sc_prohibit_intprops_without_use
26839         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26841 2012-01-17  Jim Meyering  <meyering@redhat.com>
26843         maint: enable sc_prohibit_hash_pjw_without_use
26844         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26845         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26846         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26847         following " (".
26849 2012-01-17  Jim Meyering  <meyering@redhat.com>
26851         maint: enable double-word-prohibiting rule
26852         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26853         Exempt three files.
26855 2012-01-17  Jim Meyering  <meyering@redhat.com>
26857         maint: remove empty lines at EOF, but excluding modules/*
26858         Apply syntax rules at home as well as abroad.  Most changes
26859         were induced by running this:
26860           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26861             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26862             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26863         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26864         Exempt modules/* and two binary files.
26865         Also exempt doc/INSTALL*, per request from Bruno Haible.
26866         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26867         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26868         * doc/Copyright/request-assign.future: Likewise.
26869         * doc/Copyright/request-disclaim.changes: Likewise.
26870         * doc/INSTALL: Likewise.
26871         * doc/INSTALL.ISO: Likewise.
26872         * doc/INSTALL.UTF-8: Likewise.
26873         * doc/acl-cygwin.txt: Likewise.
26874         * doc/acl-resources.txt: Likewise.
26875         * doc/fdl-1.2.texi: Likewise.
26876         * doc/fdl-1.3.texi: Likewise.
26877         * doc/fdl.texi: Likewise.
26878         * lib/argp-pin.c: Likewise.
26879         * lib/round.c: Likewise.
26880         * lib/unicase/u16-totitle.c: Likewise.
26881         * lib/unictype/block_test.c: Likewise.
26882         * lib/uninorm/canonical-decomposition.c: Likewise.
26883         * m4/README: Likewise.
26884         * m4/relocatable-lib.m4: Likewise.
26885         * tests/test-isnand-nolibm.c: Likewise.
26886         * tests/test-isnand.c: Likewise.
26887         * tests/uninorm/NormalizationTest.txt: Likewise.
26889 2012-01-17  Jim Meyering  <meyering@redhat.com>
26891         maint: add framework to run syntax-check rules against gnulib sources
26892         * cfg.mk: New file, to disable all currently-failing tests.
26893         We'll enable them one by one, as they are made to pass.
26894         * Makefile (sc_maint): New rule.
26896 2012-01-21  Bruno Haible  <bruno@clisp.org>
26898         stdint: Add support for Android.
26899         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26900         include the system's <stdint.h>.
26901         Reported by Simon Josefsson <simon@josefsson.org>.
26903 2012-01-19  Jim Meyering  <meyering@redhat.com>
26905         bootstrap: add bootstrap_post_import_hook
26906         Bison does still need something like the gnulib_mk_hook whose
26907         invocation I had to remove along with slurp in commit 767ccd40.
26908         Technically, we could get along without it, but doing so would
26909         have required living with a warning and a mandatory post-bootstrap
26910         automake rerun.
26911         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26912         (bootstrap_post_import_hook): New function.
26913         Invoke it after gnulib-tool --import and before autoreconf.
26915 2012-01-18  Jim Meyering  <meyering@redhat.com>
26917         gitlog-to-changelog: don't use "no_"-prefixed variable name
26918         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26919         to enable both --cluster and --no-cluster.  Change variable name,
26920         s/\$no_cluster/$cluster/, and reverse usage to match.
26922         gitlog-to-changelog: use "||", not "or" in expressions
26923         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26924         expressions.
26926 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26928         gitlog-to-changelog: new option --no-cluster
26929         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26930         clustering of adjacent commit messages.
26932 2012-01-17  Jim Meyering  <meyering@redhat.com>
26934         maint: spell file systems with two words, not one
26935         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26936         two words, not one.
26938 2012-01-16  Jim Meyering  <meyering@redhat.com>
26940         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26941         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26943 2012-01-16  Eric Blake  <eblake@redhat.com>
26945         bootstrap: cater to autoconf 2.59
26946         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26947         is not available.
26949         bootstrap: properly check for libtool
26950         * build-aux/bootstrap (libtoolize): Also run libtool when older
26951         usage is detected.
26953 2012-01-15  Bruno Haible  <bruno@clisp.org>
26955         Improve support for MSVC 9.
26956         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26957         clashes on MSVC.
26958         * lib/fcntl.in.h: Likewise.
26959         * lib/stdlib.in.h: Likewise.
26960         * lib/sys_stat.in.h: Likewise.
26962 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26964         gnupload: we hold the master copy of this script now
26965         For motivation and more information, see:
26966         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
26967         * build-aux/gnupload: Make it clear in the heading comments that the
26968         master copy of this file is maintained by gnulib.  Since we are at
26969         it, bump its copyright year and ...
26970         ($scriptversion): ... the date in its version.
26971         ($usage): Patches and bug reports should be sent to the gnulib list,
26972         not the automake one.
26973         * config/srclist.txt: Don't try to sync 'gnupload' from automake
26974         anymore.
26976 2012-01-15  Bruno Haible  <bruno@clisp.org>
26978         Fix module 'random'.
26979         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
26980         initstate, setstate are declared.
26982 2012-01-14  Bruno Haible  <bruno@clisp.org>
26984         Tests for module 'random'.
26985         * modules/random-tests: New file.
26986         * tests/test-random.c: New file, based on tests/test-random_r.c.
26988         New module 'random'.
26989         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
26990         declarations.
26991         * lib/random.c: New file, based on glibc/stdlib/random.c.
26992         * m4/random.m4: New file.
26993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
26994         HAVE_RANDOM.
26995         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
26996         * modules/random: New file.
26997         * config/srclist.txt: Add an entry for random.c.
26998         * doc/posix-functions/random.texi: Mention the 'random' module.
26999         * doc/posix-functions/initstate.texi: Likewise.
27000         * doc/posix-functions/setstate.texi: Likewise.
27001         * doc/posix-functions/srandom.texi: Likewise.
27003 2012-01-12  Bruno Haible  <bruno@clisp.org>
27005         random_r: Use common idioms.
27006         * lib/random_r.c: Include <stdlib.h> first.
27008         random_r: Override incompatible API on AIX, OSF/1.
27009         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
27010         Override the system function if REPLACE_RANDOM_R is 1.
27011         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
27012         and OSF/1, set REPLACE_RANDOM_R.
27013         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
27014         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
27015         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
27016         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
27017         * doc/glibc-functions/random_r.texi: Likewise.
27018         * doc/glibc-functions/setstate_r.texi: Likewise.
27020         random_r: Support for MSVC 9.
27021         * lib/random_r.c: Include stdint.h, not inttypes.h.
27023 2012-01-12  Eric Blake  <eblake@redhat.com>
27025         inet_ntop: guard extra work by IF_LINT
27026         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
27027         better code generation when not checking for warnings.
27028         Suggested by Paul Eggert and Jim Meyering.
27030         strptime: fix regression on mingw
27031         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
27032         Fix regression.  Reported by Bruno Haible.
27034 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
27035             Bruno Haible  <bruno@clisp.org>
27037         copy-file: add error-code-returning variant.
27038         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
27039         (qcopy_file_preserving): New declaration.
27040         * lib/copy-file.c (qcopy_file_preserving): Renamed from
27041         copy_file_preserving. Change return type to 'int'. Don't emit an error
27042         message here.
27043         (copy_file_preserving): New function.
27044         * tests/test-copy-file.c: Include <stdlib.h>.
27045         (main): Test qcopy_file_preserving if the environment variable
27046         NO_STDERR_OUTPUT is set.
27047         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
27048         with NO_STDERR_OUTPUT
27049         * tests/test-copy-file-2.sh: Likewise.
27051 2012-01-10  Bruno Haible  <bruno@clisp.org>
27053         copy-file: Use 'quote' module consistently.
27054         * lib/copy-file.c (copy_file_preserving): Use quote().
27056         copy-file: Refactor.
27057         * lib/copy-file.c: Include quote.h.
27058         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
27059         message here.
27060         * modules/copy-file (Depends-on): Add quote.
27062         acl: Export qcopy_acl.
27063         * lib/acl.h (qcopy_acl): New declaration.
27064         * lib/copy-acl.c (qcopy_acl): Make non-static.
27066         acl: Rename a local variable.
27067         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
27069         acl: Align return values of copy_acl and qcopy_acl.
27070         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
27071         maybe < -1.
27073 2012-01-11  Eric Blake  <eblake@redhat.com>
27075         strptime: silence gcc warnings
27076         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
27077         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
27078         Reported by Daniel P. Berrange.
27080         inet_ntop: silence gcc warning
27081         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
27082         Reported by Daniel P. Berrange.
27084 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
27086         getloadavg test: skip the test on GNU/Linux without /proc mounted
27087         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
27088         file.  When /proc is not mounted, it always fails with ENOENT.
27089         * tests/test-getloadavg.c (main): Treat ENOENT return code from
27090         getloadavg(3) the same way as ENOSYS and ENOTSUP.
27092 2012-01-10  Bruno Haible  <bruno@clisp.org>
27094         regex: Avoid link error on MSVC 9.
27095         * modules/regex (Depends-on): Add wctype.
27097 2012-01-10  Bruno Haible  <bruno@clisp.org>
27099         doc: Mention --with-tests option.
27100         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
27101         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
27102         --with-tests.
27103         Reported by Reuben Thomas.
27105 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
27107         users.txt: order package names lexicographically.
27108         * users.txt: Order package names lexicographically.
27110 2012-01-10  Jim Meyering  <meyering@redhat.com>
27112         maint.mk: fix description in comment
27113         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
27115         ignore-value: remove deprecated ignore_ptr function
27116         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
27117         * NEWS: Note this.
27119 2012-01-09  Jim Meyering  <meyering@redhat.com>
27121         test-init.sh: avoid a subshell
27122         * tests/test-init.sh: Remove protective subshell.
27123         Suggested by Bernhard Voelker.  While a subshell is normally
27124         required to protect against older shells (Solaris, FreeBSD) that
27125         warn about a missing program before performing redirection, the
27126         shell-selection tests performed by init.sh probably exclude any
27127         offending shell.
27129 2012-01-08  Bruno Haible  <bruno@clisp.org>
27131         setlocale tests: Avoid test failure on Solaris 11.0.
27132         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
27133         variable.
27135 2012-01-08  Bruno Haible  <bruno@clisp.org>
27137         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
27138         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27139         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27140         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
27141         macro.
27142         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
27143         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27144         * lib/spawn_faction_addopen.c: Add workaround implementation if
27145         HAVE_WORKING_POSIX_SPAWN.
27146         * modules/spawn (Makefile): Substitute
27147         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27148         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
27149         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
27150         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27151         (Depends-on): Update conditions.
27152         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27153         the Solaris 11 bug.
27155 2012-01-08  Bruno Haible  <bruno@clisp.org>
27157         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
27158         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27159         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27160         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
27161         macro.
27162         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
27163         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27164         * lib/spawn_faction_adddup2.c: Add workaround implementation if
27165         HAVE_WORKING_POSIX_SPAWN.
27166         * modules/spawn (Makefile): Substitute
27167         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27168         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
27169         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
27170         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27171         (Depends-on): Update conditions.
27172         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27173         the Solaris 11 bug.
27175 2012-01-08  Bruno Haible  <bruno@clisp.org>
27177         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
27178         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27179         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27180         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
27181         HAVE_WORKING_POSIX_SPAWN.
27182         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
27183         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
27184         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27185         * lib/spawn_faction_addclose.c: Add workaround implementation if
27186         HAVE_WORKING_POSIX_SPAWN.
27187         * modules/spawn (Makefile): Substitute
27188         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27189         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
27190         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
27191         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27192         (Depends-on): Update conditions.
27193         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27194         the Solaris 11 bug.
27196 2012-01-08  Bruno Haible  <bruno@clisp.org>
27198         doc: Update for Solaris 11.0.
27199         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
27200         * m4/printf.m4: Update comments.
27202 2012-01-08  Bruno Haible  <bruno@clisp.org>
27204         mktime: Avoid compilation error on Solaris 11.
27205         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
27207 2012-01-08  Bruno Haible  <bruno@clisp.org>
27209         doc: Small fix.
27210         * doc/posix-headers/nl_types.texi: Correct platforms list.
27212 2012-01-08  Simon Josefsson  <simon@josefsson.org>
27214         Add lgpl-3.0 module.
27215         * MODULES.html.sh (Support for building documentation): Add
27216         lgpl-3.0.
27217         * modules/lgpl-3.0: New file.
27219 2012-01-08  Jim Meyering  <meyering@redhat.com>
27221         select.c: indent with spaces, not TABs
27222         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
27224 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27226         quotearg: do not use grave accent for left quote
27227         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
27228         locale_quoting_style.
27229         (quotearg_buffer_restyled): Fix example.
27230         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
27232 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27234         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
27235         Most programs do not have translation catalogs for English and much
27236         less separate catalogs for British and American English.  Drop the
27237         suggestion to translators about these two, and provide it
27238         automatically for Unicode locales.  Like most programs, even those
27239         using American English, we use single quotation marks.  This conflicts
27240         with the American typographic convention, but works better when you
27241         cite the entire error message within double quotes.  It also tries not
27242         to clash with established practice and with what non-gnulib programs
27243         will usually do.
27244         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
27245         using an UTF-8 or GB-18030 locale.  The list of other locales with
27246         quotes was provided by Bruno Haible.
27247         (quotearg_buffer_restyled): Adjust instructions to translators.
27248         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
27249         text, since this would be wrong when using Unicode.
27250         * modules/quotearg: Depend on c-strcaseeq.
27252 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27254         quotearg: fix Wikipedia link
27255         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
27257 2012-01-07  Simon Josefsson  <simon@josefsson.org>
27259         Fix for mingw with MSVC9.
27260         * m4/ld-version-script.m4: Check that compiler rejects version
27261         scripts with syntax errors.  Reported by Bruno Haible
27262         <bruno@clisp.org>.
27264 2012-01-06  Bruno Haible  <bruno@clisp.org>
27266         Talk about "native Windows API", not "Woe32".
27267         * lib/accept4.c: Update comments to mention native Windows.
27268         * lib/execute.c: Likewise.
27269         * lib/fatal-signal.c: Likewise.
27270         * lib/localcharset.c: Likewise.
27271         * lib/nanosleep.c: Likewise.
27272         * lib/nl_langinfo.c: Likewise.
27273         * lib/pclose.c: Likewise.
27274         * lib/pipe-filter-gi.c: Likewise.
27275         * lib/pipe-filter-ii.c: Likewise.
27276         * lib/pipe.c: Likewise.
27277         * lib/pipe2.c: Likewise.
27278         * lib/popen.c: Likewise.
27279         * lib/progreloc.c: Likewise.
27280         * lib/relocatable.c: Likewise.
27281         * lib/sigaction.c: Likewise.
27282         * lib/sigprocmask.c: Likewise.
27283         * lib/spawn-pipe.h: Likewise.
27284         * lib/spawn-pipe.c: Likewise.
27285         * lib/spawni.c: Likewise.
27286         * lib/stat-time.h: Likewise.
27287         * lib/w32spawn.h: Likewise.
27288         * tests/test-isatty.c: Likewise.
27289         * lib/config.charset: More comments.
27290         * doc/gnulib-intro.texi: Mention native Windows.
27291         * doc/posix-functions/_Exit_C99.texi: Likewise.
27292         * doc/posix-headers/fcntl.texi: Likewise.
27294 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
27296         argp: Avoid crash if translator uses % characters in a translation.
27297         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
27298         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27300 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
27302         doc: C11 and C++11 are now official
27303         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
27304         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
27305         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
27306         * modules/stdalign:
27307         Replace references to draft C1X to C11, and to draft C++0X to C++11.
27309 2012-01-06  Bruno Haible  <bruno@clisp.org>
27311         uc-is-grapheme-break tests: Tweak.
27312         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
27313         message.
27315 2012-01-06  Bruno Haible  <bruno@clisp.org>
27317         test-init.sh: correct the test for diff -u
27318         * tests/test-init.sh: Also redirect stdout to /dev/null.
27320 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
27322         Use ', not `, for quoting output.
27323         * build-aux/announce-gen (usage, sizes, print_news_deltas)
27324         (print_changelog_deltas, get_tool_versions, main program):
27325         * build-aux/git-version-gen:
27326         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
27327         * build-aux/move-if-change (help):
27328         * build-aux/useless-if-before-free (usage, main program):
27329         * check-module (parse_module_file, usage)
27330         (find_included_lib_files, check_module):
27331         * lib/argmatch.c (main) [TEST]:
27332         * lib/argp-help.c (_help):
27333         * lib/getopt1.c (main) [TEST]:
27334         * lib/git-merge-changelog.c (usage):
27335         * lib/xstrtol-error.c (xstrtol_error):
27336         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
27337         * m4/argz.m4 (gl_FUNC_ARGZ):
27338         * m4/bison.m4 (gl_BISON):
27339         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
27340         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27341         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27342         * m4/fpending.m4 (gl_PREREQ_FPENDING):
27343         * m4/gc-random.m4 (gl_GC_RANDOM):
27344         * m4/intl.m4 (gt_CHECK_DECL):
27345         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
27346         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
27347         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
27348         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
27349         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
27350         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
27351         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
27352         * tests/test-dirname.c (main):
27353         * tests/test-getpass.c (main):
27354         * tests/test-iconvme.c (main):
27355         * tests/test-parse-datetime.c (LOG):
27356         * tests/test-xstrtoimax.sh:
27357         * tests/test-xstrtol.sh:
27358         * tests/test-xstrtoll.sh:
27359         * tests/test-xstrtoumax.sh:
27360         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
27361         * top/GNUmakefile (abort-due-to-no-makefile):
27362         Quote 'like this', not `like this', as per the recent change to
27363         the GNU coding standards.
27365 2012-01-05  Bruno Haible  <bruno@clisp.org>
27367         strtoimax: Don't force a replacement on systems where intmax_t is int.
27368         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
27369         'intmax_t' is not larger than 'int'.
27370         Reported by Pádraig Brady <P@draigBrady.com>.
27372 2012-01-05  Bruno Haible  <bruno@clisp.org>
27374         doc: Mention NetBSD bugs.
27375         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
27376         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
27378 2012-01-05  Bruno Haible  <bruno@clisp.org>
27380         strtoumax tests: Enhance tests.
27381         * tests/test-strtoumax.c (main): Add tests for large values.
27383 2012-01-05  Bruno Haible  <bruno@clisp.org>
27385         strtoimax: Work around AIX 5.1 bug.
27386         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
27387         definition.
27388         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
27389         Set HAVE_STRTOIMAX.
27390         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
27391         REPLACE_STRTOIMAX.
27392         * modules/inttypes-incomplete (Makefile.am): Substitute
27393         REPLACE_STRTOIMAX.
27394         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
27395         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
27396         (Depends-on): Update conditions.
27397         * tests/test-strtoimax.c (main): Add tests for large values.
27398         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
27400 2012-01-05  Bruno Haible  <bruno@clisp.org>
27402         inttypes: Modernize.
27403         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
27404         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
27405         (Makefile.am): Update inttypes.h rule.
27407 2012-01-05  Jim Meyering  <meyering@redhat.com>
27409         init.sh: don't waste a subshell just to redirect stderr
27410         * tests/init.sh: In testing for diff -u and diff -c, use a
27411         stderr-redirecting exec inside `...` rather than a subshell.
27413         test-init.sh: avoid failure on HP-UX 11.00
27414         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
27415         resolves to diff -c or cmp.  Reported by Bruno Haible.
27417 2012-01-05  Bruno Haible  <bruno@clisp.org>
27419         Tests for module 'strtoull'.
27420         * modules/strtoull-tests: New file.
27421         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
27423 2012-01-05  Bruno Haible  <bruno@clisp.org>
27425         Tests for module 'strtoll'.
27426         * modules/strtoll-tests: New file.
27427         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
27429 2012-01-05  Bruno Haible  <bruno@clisp.org>
27431         Tests for module 'strtoul'.
27432         * modules/strtoul-tests: New file.
27433         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
27435 2012-01-05  Bruno Haible  <bruno@clisp.org>
27437         Tests for module 'strtol'.
27438         * modules/strtol-tests: New file.
27439         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
27441 2012-01-04  Jim Meyering  <meyering@redhat.com>
27443         test-init.sh: accommodate Solaris 5.10's different diff -u output
27444         * tests/test-init.sh: Also exempt @@ lines from the comparison
27445         of diff output, since Solaris 5.10 and GNU diff formats differ.
27446         Reported by Stefano Lattarini.
27448 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27450         test-posixtm: don't assume signed integer wraparound
27451         * tests/test-posixtm.c (main): Don't assume wraparound semantics
27452         after signed integer overflow.  Inspired by (though it may not
27453         fix) Bruno Haible's bug report in
27454         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
27456         Spell out "Windows 9x" and "Windows XP".
27457         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
27458         "Windows 9x" and "WinXP" with "Windows XP".
27460 2012-01-04  Jim Meyering  <meyering@redhat.com>
27462         test-vc-list-files-cvs.sh: remove obsolete comment
27463         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
27464         double exit.  Now that's all encapsulated via skip_ and Exit.
27466 2012-01-04  Bruno Haible  <bruno@clisp.org>
27468         Talk about "native Windows API", not "Win32".
27469         * lib/classpath.c: Update comments to mention native Windows.
27470         * lib/csharpexec.c: Likewise.
27471         * lib/dup2.c: Likewise.
27472         * lib/error.c: Likewise.
27473         * lib/fcntl.c: Likewise.
27474         * lib/filename.h: Likewise.
27475         * lib/findprog.c: Likewise.
27476         * lib/get-rusage-as.c: Likewise.
27477         * lib/get-rusage-data.c: Likewise.
27478         * lib/getpagesize.c: Likewise.
27479         * lib/javaexec.c: Likewise.
27480         * lib/msvc-inval.c: Likewise.
27481         * lib/msvc-nothrow.c: Likewise.
27482         * lib/nanosleep.c: Likewise.
27483         * lib/nonblocking.c: Likewise.
27484         * lib/printf-parse.c: Likewise.
27485         * lib/setlocale.c: Likewise.
27486         * lib/sigaction.c: Likewise.
27487         * lib/strerror_r.c: Likewise.
27488         * lib/tmpdir.c: Likewise.
27489         * lib/vasnprintf.c: Likewise.
27490         * lib/w32spawn.h: Likewise.
27491         * lib/waitpid.c: Likewise.
27492         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
27493         * m4/locale-ar.m4: Likewise.
27494         * m4/locale-fr.m4: Likewise.
27495         * m4/locale-ja.m4: Likewise.
27496         * m4/locale-tr.m4: Likewise.
27497         * m4/locale-zh.m4: Likewise.
27498         * m4/printf.m4: Likewise.
27499         * tests/test-cloexec.c: Likewise.
27500         * tests/test-copy-acl.sh: Likewise.
27501         * tests/test-copy-file.sh: Likewise.
27502         * tests/test-file-has-acl.sh: Likewise.
27503         * tests/test-set-mode-acl.sh: Likewise.
27504         * tests/test-dup-safer.c: Likewise.
27505         * tests/test-dup2.c: Likewise.
27506         * tests/test-dup3.c: Likewise.
27507         * tests/test-fcntl.c: Likewise.
27508         * tests/test-nonblocking-pipe.h: Likewise.
27509         * tests/test-nonblocking-socket.h: Likewise.
27510         * tests/test-pipe.c: Likewise.
27511         * tests/test-pipe2.c: Likewise.
27512         * tests/test-spawn-pipe-child.c: Likewise.
27513         * doc/acl-resources.txt: Likewise.
27514         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27515         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
27516         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
27517         * lib/localcharset.c: Update comments to mention native Windows.
27518         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27519         * lib/localename.c: Likewise.
27520         * lib/progreloc.c: Likewise.
27521         * lib/relocatable.c: Likewise.
27522         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27523         (windows_compute_revents): Renamed from win32_compute_revents.
27524         (windows_compute_revents_socket): Renamed from
27525         win32_compute_revents_socket.
27526         * lib/select.c: Update comments to mention native Windows.
27527         (windows_poll_handle): Renamed from win32_poll_handle.
27528         * m4/threadlib.m4: Update comments to mention native Windows.
27529         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
27530         --enable-threads=windows instead of --enable-threads=win32. Set
27531         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
27532         * lib/glthread/lock.h: Update comments to mention native Windows.
27533         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
27534         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
27535         USE_WIN32_THREADS.
27536         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
27537         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
27538         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
27539         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
27540         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
27541         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
27542         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
27543         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
27544         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
27545         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
27546         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
27547         * tests/test-tls.c: Likewise.
27548         Rationale:
27549         Microsoft renamed the "Win32 API" to "Windows API", as it is available
27550         on both 32-bit and 64-bit Windows systems.
27551         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
27552         line of distinction is between "native Windows" on one side and Unix/
27553         POSIX systems on the other side. More details in
27554         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
27555         Suggested by Paul Eggert.
27557 2012-01-03  Bruno Haible  <bruno@clisp.org>
27559         isatty: Support for MSVC 9.
27560         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
27561         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
27562         (_isatty_nothrow): New function.
27563         (isatty): Use it instead of _isatty.
27564         (IsConsoleHandle): Add comment, from Paolo Bonzini.
27565         * lib/poll.c (IsConsoleHandle): Likewise.
27566         * lib/select.c (IsConsoleHandle): Likewise.
27567         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
27568         (gl_PREREQ_ISATTY): New macro.
27569         * modules/isatty (Depends-on): Add msvc-inval.
27570         (configure.ac): Invoke gl_PREREQ_ISATTY.
27572 2012-01-03  Jim Meyering  <meyering@redhat.com>
27574         maint.mk: remove temporary transition aid from over 1.5 years ago
27575         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
27576         purpose was to aid in the transition (avoiding silent malfunction)
27577         from that old name to the new _sc_search_regexp.  This shim was
27578         added by commit 219c504b.
27580         init.sh: do not try to accommodate compare arguments starting with "-"
27581         * tests/init.sh (compare_dev_null_): Do not try to accommodate
27582         compare arguments that start with "-".  Besides, we do not worry
27583         about this when invoking diff or cmp; why start now with sed?
27584         Using "--" to separate options from argument would trigger sed
27585         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
27586         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
27588 2012-01-02  Bruno Haible  <bruno@clisp.org>
27590         Enhance tests for module 'isatty'.
27591         * modules/isatty-tests (Depends-on): Add pipe-posix.
27592         * tests/test-isatty.c: Include <fcntl.h>.
27593         (DEV_NULL): New macro.
27594         (main): Test the resut of isatty() also on regular files, pipes, and
27595         /dev/null.
27597         New module 'isatty'.
27598         * lib/unistd.in.h (isatty): New declaration.
27599         * lib/isatty.c: New file, based on an idea of
27600         Bastien Roucariès <roucaries.bastien@gmail.com>.
27601         * m4/isatty.m4: New file.
27602         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
27603         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
27604         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
27605         REPLACE_ISATTY.
27606         * modules/isatty: New file.
27607         * doc/posix-functions/isatty.texi: Mention the new module.
27608         Suggested by Paolo Bonzini.
27610 2012-01-02  Bruno Haible  <bruno@clisp.org>
27612         canonicalize: Tweak 2011-12-29 commit.
27613         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
27614         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
27616 2012-01-02  Jim Meyering  <meyering@redhat.com>
27618         gitlog-to-changelog: describe input syntax in --help output
27619         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
27621         gitlog-to-changelog: fix typo in --help: show backslash before email @
27622         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
27623         in sources, but not in actual output.
27625 2011-12-30  Jim Meyering  <meyering@redhat.com>
27627         gitlog-to-changelog: don't malfunction when name contains %-directive
27628         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
27629         in a name string cause trouble.  E.g., with a user name of "%s",
27630         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
27632 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
27634         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
27635         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
27636         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
27637         the "  (tiny change)" notation that is appended to the standard
27638         ChangeLog "date  name  email" header line.
27640 2012-01-01  Jim Meyering  <meyering@redhat.com>
27642         test-framework-sh: init.sh: fix "make dist" failure
27643         When using gnulib-tool's --with-tests option and any module that
27644         depends on test-framework-sh, "make dist" would fail due to the
27645         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
27646         in the gltests directory, and not in the gllib/ directory.
27647         One way to work around that is to move the EXTRA_DIST += init.sh
27648         from the primary module to the -tests one:
27649         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
27650         * modules/test-framework-sh (Makefile.am): ...not here.
27651         Reported by Tom G. Christensen in
27652         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
27654         version-etc: update copyright year reported by --version
27655         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
27657 2011-12-31  Pádraig Brady  <P@draigBrady.com>
27659         canonicalize: only stat() if required
27660         * lib/canonicalize.c (canonicalize_filename_mode):
27661         Avoid calling l?stat() when both CAN_MISSING,
27662         and CAN_NOLINKS are set, as we neither need
27663         to resolve symlinks or test component existence.
27665 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27667         doc: cover st_ino issues once; add OpenVMS etc.
27668         * doc/posix-functions/stat.texi (stat):
27669         * doc/posix-functions/lstat.texi (lstat):
27670         * doc/posix-functions/fstatat.texi (fstatat):
27671         * doc/posix-functions/fstat.texi (fstat):
27672         Move general 'struct stat' stuff to sys_stat.texi,
27673         leaving behind a pointer.
27674         * doc/posix-headers/sys_stat.texi (sys/stat.h):
27675         Merge duplicate info about 'struct stat' problems into here.
27676         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
27677         and suggest partial workarounds.
27679         same-inode: port to OpenVMS
27680         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
27681         three st_ino values.
27683 2011-12-30  Pádraig Brady  <P@draigBrady.com>
27685         canonicalize: fix references to stat() and lstat()
27686         * lib/canonicalize.c (canonicalize_filename_mode):
27687         Ensure references always resolve to a replacement
27688         function if required (even via a macro).
27690 2011-12-30  Jim Meyering  <meyering@redhat.com>
27692         gitlog-to-changelog: remove a little duplication
27693         * build-aux/gitlog-to-changelog (main): Grep @lines once,
27694         rather than twice.
27696 2011-12-29  Pádraig Brady  <P@draigBrady.com>
27698         canonicalize: add support for not resolving symlinks
27699         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
27700         indicate we don't want to follow symlinks.  Also
27701         provide CAN_MODE_MASK to aid setting these existing
27702         mutually exclusive values.
27703         * lib/canonicalize.c (canonicalize_filename_mode):
27704         Extract the flags from can_mode parameter, which
27705         are currently just used to select between stat()
27706         and lstat().  Also ensure that mutually exclusive
27707         values are flagged immediately as invalid.
27708         * tests/test-canonicalize.c: Verify symlinks are
27709         not followed, and that invalid flag combinations
27710         are diagnosed.
27712 2011-12-25  Jim Meyering  <meyering@redhat.com>
27714         gitlog-to-changelog: do not clump multi-paragraph entries
27715         Identical header lines (date,name,email+coauthors) are suppressed,
27716         thus putting all entries with those same characteristics under
27717         a single header.  However, when a log entry consists of two or
27718         more paragraphs, it may not be clear where it starts and ends.
27719         This change makes it so that such an entry is always separated
27720         from others by a header line, even when that header would
27721         otherwise be suppressed.
27722         * build-aux/gitlog-to-changelog: Implement the above.
27723         Inspired by a related request from Stefano Lattarini in
27724         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
27726 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27728         announce-gen: fix `cmd' typo in diagnostic
27729         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
27730         diagnostic: a missing '$' meant that the command was not output.
27732 2011-12-23  Jim Meyering  <meyering@redhat.com>
27734         test-framework-sh: distribute init.sh
27735         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
27736         Otherwise, "make -C gnulib-tests check" (at least in grep) would
27737         fail due to the lack of init.sh.
27739         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27740         * modules/atexit-tests: Rather than listing tests/init.sh,
27741         now that there's a module for it, simply depend on that new module.
27742         * modules/closein-tests: Likewise.
27743         * modules/exclude-tests: Likewise.
27744         * modules/getcwd-tests: Likewise.
27745         * modules/perror-tests: Likewise.
27746         * modules/pread-tests: Likewise.
27747         * modules/pwrite-tests: Likewise.
27748         * modules/vc-list-files-tests: Likewise.
27749         * modules/verify-tests: Likewise.
27750         * modules/xalloc-die-tests: Likewise.
27751         * modules/xstrtoimax-tests: Likewise.
27752         * modules/xstrtol-tests: Likewise.
27753         * modules/xstrtoll-tests: Likewise.
27754         * modules/xstrtoumax-tests: Likewise.
27755         * modules/yesno-tests: Likewise.
27757 2011-12-22  Jim Meyering  <meyering@redhat.com>
27759         test-framework-sh: add minimal tests of init.sh's compare function
27760         * modules/test-framework-sh-tests: New file.
27761         * tests/test-init.sh: New file.
27763         test-framework-sh: new module
27764         * modules/test-framework-sh: New file.
27765         * MODULES.html.sh (Support for maintaining and releasing projects):
27766         List it.
27768         init.sh: do not emit simulated diff output to stderr
27769         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27771 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27773         .gitignore: ignore gnulib.dvi and regex.info
27774         * doc/.gitignore:add gnulib.dvi and regex.info
27776 2011-12-22  Jim Meyering  <meyering@redhat.com>
27778         init.sh: correct previous change
27779         * tests/init.sh (compare): My previous change was wrong.
27780         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27782         init.sh: avoid unwarranted test failure when using "set -e"
27783         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27784         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27785         a use like "compare exp out" would get evoke an unconditional failure.
27787 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27789         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27790         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27791         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27792         autoreconf that did not.
27793         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27794         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27796 2011-12-17  Jim Meyering  <meyering@redhat.com>
27798         bootstrap: remove some now-unneeded code
27799         This script arose back when gnulib-tool was young.
27800         Since then, it has seen improvements that render much of this
27801         script unnecessary.  In particular, it can now make symlinks
27802         to the files it uses.  Also, I no longer see as much value in
27803         marking files as read-only via comments.
27804         If you relied on the symlink-creation feature of the preceding
27805         version of this script, you can get most of that functionality
27806         by adding the --symlink option to the definition of
27807         gnulib_tool_option_extras in your bootstrap.conf file.
27808         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27809         Run autopoint and libtoolize *before* gnulib-tool.
27810         After it, run an abbreviated autoreconf, rather than a loop around
27811         all tools.
27812         (slirp, bt_mark_as_generated): Remove functions.
27814 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27816         ftoastr: fix typo
27817         * lib/ftoastr.h: Fix misspelling in comment.
27819 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27821         * top/README-release: fix punctuation.
27823 2011-12-17  Jim Meyering  <meyering@redhat.com>
27825         bootstrap: correct the recent buildreq change
27826         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27827         had no effect.
27828         * build-aux/bootstrap (buildreq): Bracket each search term with
27829         "*...*", so that the shell "case" statement works as intended.
27830         Add comments.
27832 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27834         build: let bootstrap resort to wget when downloading .po files
27835         * build-aux/bootstrap (download_po_files): Fallback to wget when
27836         downloading the .po files via rsync fails.  This is necessary to
27837         bootstrap from behind a strict firewall.
27839 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27841         stdint: don't assume C++11 when compiling with g++
27842         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27843         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27844         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27845         work also in C++ before C++11, as that improperly inhibits
27846         generating a substitute stdint.h for that case.
27848 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27850         alloca: protect comment from gnulib-tool
27851         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27852         that gnulib-tool doesn't think it's a license, and munge it to
27853         say "GCC version 3".
27855 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27857         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27858         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27859         $(abs_top_builddir) instead of $(top_builddir).
27861 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27863         strftime-tests: also test nanoseconds
27864         * tests/test-strftime.c (T): Add a test of %N.
27866 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27868         inttypes, stdint: add C++11 support
27869         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27870         when including inttypes.h and stdint.h.  Support this change to
27871         the standard.
27872         * doc/posix-headers/inttypes.texi (inttypes.h):
27873         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27874         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27875         Define if not defined already, for the benefit of pre-C++11 hosts.
27876         Define the standard format macros (e.g., PRId8) always.
27877         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27878         Likewise, if __cpluspus.  Define the standard constant and limit
27879         macros (e.g., INT8_C, INT8_MAX) always.
27880         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27881         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27882         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27883         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27884         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27885         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27886         Likewise.
27888 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27890         nonblocking tests: Fix test failure on Linux/PPC.
27891         Suggested by Prerna Saxena in
27892         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27893         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27894         Set to 1100000.
27896 2011-12-12  Jim Meyering  <meyering@redhat.com>
27898         argmatch: don't hard-code `' when listing valid option arguments
27899         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27900         use the quote function to add quotes.  Use fputs rather than
27901         fprintf for the format string with no format directive.
27903 2011-12-07  Eric Blake  <eblake@redhat.com>
27905         bootstrap: detect tools required by gnulib-tool
27906         * build-aux/bootstrap (buildreq): Provide minimum implicit
27907         dependencies.
27908         * DEPENDENCIES: Mention patch as a prereq.
27910 2011-12-04  Bruno Haible  <bruno@clisp.org>
27912         sethostname: Port to Windows platforms.
27913         * lib/sethostname.c: Provide an alternate implementation for Windows
27914         platforms.
27915         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27916         (main): Skip the test if sethostname() fails with EPERM. On Windows
27917         platforms, don't check the result of gethostname().
27919 2011-12-04  Bruno Haible  <bruno@clisp.org>
27920             Jim Meyering  <meyering@redhat.com>
27922         tests: Avoid spurious error message on platforms without mktemp program.
27923         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27925 2011-12-04  Bruno Haible  <bruno@clisp.org>
27927         sethostname: Fix documentation.
27928         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27929         "not fixed" section.
27931 2011-12-03  Bruno Haible  <bruno@clisp.org>
27933         gnulib-tool: Verify that the License field is present and non-empty.
27934         * gnulib-tool (func_get_license_raw): New function, extracted from
27935         func_get_license.
27936         (func_get_license): Use it. Warn if the module is not a test module and
27937         has no license.
27938         Suggested by Jim Meyering.
27940 2011-12-03  Bruno Haible  <bruno@clisp.org>
27942         sethostname tests: Fix link error on mingw.
27943         * tests/test-sethostname1.c: New file, extracted from
27944         tests/test-sethostname.c.
27945         * tests/test-sethostname2.c: New file, extracted from
27946         tests/test-sethostname.c.
27947         * tests/test-sethostname.c: Remove file.
27948         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27949         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27950         (Depends-on): Add gethostname.
27951         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27952         Link the latter with $(GETHOSTNAME_LIB).
27954         sethostname tests: Fix compilation error on mingw.
27955         * tests/test-sethostname.c: Don't include <sys/types.h>.
27956         (geteuid): Use a dummy value without uid_t.
27957         * modules/sethostname-tests (Depends-on): Remove sys_types.
27959         sethostname tests: Avoid a gcc warning.
27960         * tests/test-sethostname.c (main): Remove an unused variable.
27962         Tweak last commit.
27963         * modules/sethostname-tests (Files): Sort by decreasing importance.
27964         (configure.ac): Check for geteuid.
27965         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27966         the test when there's nothing to test. Drop an unnecessary cast.
27967         Improve an error message. Verify that the final sethostname() call
27968         succeeds.
27970 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27972         Add a test suite for the sethostname module.
27973         * modules/sethostname-tests: New file.  A test program
27974         for the sethostname module.
27975         * tests/test-sethostname.c: Likewise.
27977 2011-12-03  Bruno Haible  <bruno@clisp.org>
27979         Tweak last commit.
27980         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
27981         Fix preprocessor directives indentation. Fix typos.
27982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
27983         * modules/unistd (Makefile): Likewise.
27985 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27987         Integrate the sethostname module into unistd.
27988         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
27989         into the unistd.h header.
27990         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
27991         preprocessor directives.
27992         * modules/unistd: Setup the Makefile substitutions of the
27993         SETHOSTNAME preprocessor directives.
27995 2011-12-03  Bruno Haible  <bruno@clisp.org>
27997         Tweak last commit.
27998         * lib/sethostname.c: Don't include <string.h>.
27999         (sethostname): No need to copy the argument string to the stack. Don't
28000         call clearerr. Preserve errno when fprintf failed.
28001         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
28002         Don't invoke AC_REPLACE_FUNCS.
28003         * modules/sethostname (Link): Remove empty section.
28004         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
28005         failure problem.
28007 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28009         New module 'sethostname'.
28010         * lib/sethostname.c (sethostname): New file.  Provide sethostname
28011         for systems that lack it.
28012         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
28013         sethostname declaration and function.
28014         * modules/sethostname: New file.  Define the sethostname module.
28016 2011-12-03  Bruno Haible  <bruno@clisp.org>
28018         Tweak last commit.
28019         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
28021 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28023         Split the HOST_NAME_MAX detection into a separate m4 macro.
28024         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
28025         macro so it can be used by the pending sethostname module.
28027 2011-12-03  Bruno Haible  <bruno@clisp.org>
28029         Fix module descriptions syntax.
28030         * modules/argv-iter (License): Fix syntax.
28031         * modules/di-set (License): Likewise.
28032         * modules/ino-map (License): Likewise.
28033         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
28035 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
28037         stdalign: port to Clang 3.0
28038         Problem reported by Simon Josefsson in
28039         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
28040         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
28041         which has <stdalign.h> but which does not define alignof.
28042         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
28044 2011-12-01  Eric Blake  <eblake@redhat.com>
28046         mktempd: silence dd usage
28047         * build-aux/mktempd (rand_bytes): Silence dd.
28049 2011-11-30  Simon Josefsson  <simon@josefsson.org>
28051         manywarnings: Don't mention gcc version in docstring.
28052         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
28053         Jim Meyering <meyering@redhat.com>.
28055 2011-11-30  Jim Meyering  <meyering@redhat.com>
28057         hash: mark a few floating point constants with "f" suffix
28058         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
28059         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
28060         floating point constants with "f", since they're destined to be
28061         saved/used as "float"s.
28063 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
28065         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
28066         * tests/test-float.c (test_long_double): Correct and re-enable the
28067         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
28069 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
28071         Avoid subtracting two pointers that don't point into the same block.
28072         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
28073         only pointers into the same memory block are subtracted. We cannot
28074         assume that sizeof (ptrdiff_t) == sizeof (void *).
28076 2011-11-29  Eric Blake  <eblake@redhat.com>
28078         maint.mk: add syntax check for use of compare from init.sh
28079         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
28080         moved here from coreutils.
28082         manywarnings: drop -Wunsuffixed-float-constants
28083         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
28084         '1.0D', which is the only way to silence this warning for 'double'.
28086 2011-11-29  Jim Meyering  <meyering@redhat.com>
28088         hash: mark compute_bucket_size with the pure attribute
28089         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
28091         quotearg, propername: correct pragma guard expression
28092         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
28093         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
28095 2011-11-28  Jim Meyering  <meyering@redhat.com>
28097         propername: do not mark proper_name with the const attribute
28098         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
28099         since it examines data pointed to by its parameter.
28100         * lib/propername.c (proper_name): Instead, add a pragma to suppress
28101         the suggestion from -Wsuggest-attribute=const.
28103         propername: mark one more function as const
28104         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
28106 2011-11-27  Jim Meyering  <meyering@redhat.com>
28108         mark functions with const and pure attributes
28110         Mark functions per suggestions from gcc-4.6 when using these options:
28111         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
28112         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
28113         Follow these guidelines: when possible, apply the attribute to
28114         an extern declaration, not to its definition.  Apply it to the
28115         definition only when the definition is static.
28116         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
28117         * lib/argv-iter.h (argv_iter_n_args): Likewise.
28118         * lib/base64.h (isbase64): Likewise.
28119         * lib/basename-lgpl.c (last_component, base_len): Likewise.
28120         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
28121         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
28122         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
28123         (c_tolower, c_toupper): Likewise.
28124         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
28125         * lib/chdir-long.c (find_non_slash): Likewise.
28126         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
28127         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
28128         * lib/file-type.h (file_type): Likewise.
28129         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
28130         * lib/filevercmp.c (verrevcmp): Likewise.
28131         * lib/freadahead.h (freadahead): Likewise.
28132         * lib/fts.c (fts_maxarglen): Likewise.
28133         * lib/hash-pjw.h (hash_pjw): Likewise.
28134         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
28135         * lib/hash.c (is_prime, next_prime): Likewise.
28136         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
28137         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
28138         (hash_table_ok, hash_get_first, hash_string): Likewise.
28139         (compute_bucket_size): Likewise.
28140         * lib/i-ring.h (i_ring_empty): Likewise.
28141         * lib/isnan.c (isnanl): Likewise.
28142         * lib/math.h (isnanl, rpl_isnanl): Likewise.
28143         * lib/memcasecmp.h (memcasecmp): Likewise.
28144         * lib/memchr2.h (memchr2): Likewise.
28145         * lib/memcmp2.h (memcmp2): Likewise.
28146         * lib/parse-datetime.y (lookup_zone): Likewise.
28147         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
28148         [!WINDOWS_SOCKETS]: Likewise.
28149         * lib/strnlen1.h (strnlen1): Likewise.
28150         * lib/uniwidth.in.h (uc_width): Likewise.
28151         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
28152         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
28153         (quoting_options_from_style): Add a comment.
28154         * lib/propername.h (proper_name): Add a comment.
28156 2011-11-27  Bruno Haible  <bruno@clisp.org>
28158         Remove unused macros from !_LIBC code in glibc-borrowed files.
28159         * lib/fnmatch.c (STRCOLL): Remove macro.
28160         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
28161         * lib/glob.c (__stat, __readdir64): Remove macros.
28162         * lib/tempname.c (__open64, __xstat64): Remove macros.
28163         Suggested by Paul Eggert.
28165 2011-11-27  Bruno Haible  <bruno@clisp.org>
28167         getcwd: Fix link error on MSVC 9.
28168         * modules/getcwd (Depends-on): Add readdir, rewinddir.
28170 2011-11-27  Bruno Haible  <bruno@clisp.org>
28172         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
28173         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
28174         HAVE_OPENDIR is 0.
28175         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
28176         HAVE_CLOSEDIR is 0.
28177         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
28178         is 0.
28179         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
28181 2011-11-27  Bruno Haible  <bruno@clisp.org>
28183         getcwd: Fix bug from 2011-08-17.
28184         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
28185         platforms that need it.
28186         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
28187         code of 4 to be a failure, not a success. This ensures that
28188         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
28190 2011-11-27  Bruno Haible  <bruno@clisp.org>
28192         binary-io tests: Avoid test failure on mingw when libtool is used.
28193         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
28194         Don't verify the size of t-bin-out1.tmp here.
28195         * tests/test-binary-io.sh: Verify it here.
28196         Reported by Simon Josefsson.
28198 2011-11-26  Bruno Haible  <bruno@clisp.org>
28200         Fix conflict between two instantiations of module 'unistd'.
28201         * gnulib-tool (func_emit_autoconf_snippet): Substitute
28202         ${include_guard_prefix} also in the autoconf snippet.
28203         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
28204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
28205         GNULIB_UNISTD_H_GETOPT.
28206         * modules/getopt-posix (configure.ac): Set the
28207         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
28208         * modules/getopt-gnu (configure.ac): Likewise.
28209         * modules/unistd (Makefile.am): Change the substitution value of
28210         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
28211         Reported by Simon Josefsson.
28213 2011-11-25  Bruno Haible  <bruno@clisp.org>
28215         pagealign_alloc: Doc and comments.
28216         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
28217         module.
28218         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
28220 2011-11-25  Jim Meyering  <meyering@redhat.com>
28222         test-update-copyright.sh: avoid false-positive failure
28223         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
28224         around false positive failure on Cygwin/Windows.  The latter was
28225         matching erroneously-created files with names like
28226         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
28228 2011-11-25  Simon Josefsson  <simon@josefsson.org>
28230         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
28231         * m4/valgrind-tests.m4: Check that the parameters that will be
28232         used works, not just a subset of them.  Reported by Bruno Haible
28233         <bruno@clisp.org>.
28235 2011-11-24  Jim Meyering  <meyering@redhat.com>
28237         test-stdalign.c: comment out long double tests
28238         * tests/test-stdalign.c: Don't try to reduce alignment of long double
28239         variables.  That provokes errors like this from gcc-4.7.0 20111124:
28240         error: '_Alignas' specifiers cannot reduce alignment of \
28241         'static_longdouble_alignas'.
28243 2011-11-22  Jim Meyering  <meyering@redhat.com>
28245         init.sh: make "compare /dev/null FILE" output more readable
28246         * tests/init.sh (compare_): Document the preferred order of arguments.
28247         (emit_diff_u_header_): New function.
28248         (compare_dev_null_): Emit a simulated diff, rather than just the
28249         contents of the unexpected file.  Suggestion from Bruno Haible.
28251 2011-11-21  Jim Meyering  <meyering@redhat.com>
28252             Eric Blake  <eblake@redhat.com>
28254         init.sh: work around OSF/1 5.1's mishandling of /dev/null
28255         * tests/init.sh: Make our compare function slightly more portable.
28256         Reported by Bruno Haible in
28257         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
28259 2011-11-21  Simon Josefsson  <simon@josefsson.org>
28261         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
28262         before using it, in code that ends up in config.h.
28264 2011-11-20  Bruno Haible  <bruno@clisp.org>
28266         getcwd: Work around getcwd bug on AIX 5..7.
28267         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
28268         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
28269         Use a different value for gl_cv_func_getcwd_path_max. Move the
28270         definition of HAVE_PARTLY_WORKING_GETCWD from here...
28271         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
28272         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
28273         Define HAVE_MINIMALLY_WORKING_GETCWD.
28274         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
28275         where it is not even minimally working, that is, on AIX.
28276         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
28277         m4/getcwd-path-max.m4.
28278         (main): Update exit code computation.
28279         * doc/posix-functions/getcwd.texi: Mention list of platforms where
28280         getcwd does not handle long file names.
28282 2011-11-20  Bruno Haible  <bruno@clisp.org>
28284         getcwd: Fix bug from 2009-09-10.
28285         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
28286         like "no".
28288 2011-11-20  Simon Josefsson  <simon@josefsson.org>
28290         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
28292 2011-11-20  Bruno Haible  <bruno@clisp.org>
28294         fma tests: Avoid shadowing local variables.
28295         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
28296         expected.
28298 2011-11-20  Bruno Haible  <bruno@clisp.org>
28300         copysignf tests: Fix.
28301         * tests/test-copysignf.c: Fix signature check.
28303 2011-11-20  Bruno Haible  <bruno@clisp.org>
28305         fma: Remove unused code.
28306         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
28307         unused macros.
28309 2011-11-20  Bruno Haible  <bruno@clisp.org>
28311         sethostname: Fix doc about AIX.
28312         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
28313         sethostname; it has it.
28315         sethostname: Mention more portability problems.
28316         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
28317         problem.
28318         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28320 2011-11-19  Bruno Haible  <bruno@clisp.org>
28322         Depend on module fcntl-h when AT_FDCWD is used.
28323         * modules/utimens (Depends-on): Add fcntl-h.
28324         * modules/areadlinkat (Depends-on): Likewise.
28325         * modules/areadlinkat-with-size (Depends-on): Likewise.
28326         * modules/faccessat (Depends-on): Likewise.
28327         * modules/fchmodat (Depends-on): Likewise.
28328         * modules/fchownat (Depends-on): Likewise.
28329         * modules/getcwd (Depends-on): Likewise.
28330         * modules/mkdirat (Depends-on): Likewise.
28331         * modules/mkfifoat (Depends-on): Likewise.
28332         * modules/readlinkat (Depends-on): Likewise.
28333         * modules/symlinkat (Depends-on): Likewise.
28334         * modules/dup2-tests (Depends-on): Likewise.
28335         * modules/fdutimensat-tests (Depends-on): Likewise.
28336         * modules/futimens-tests (Depends-on): Likewise.
28338 2011-11-19  Bruno Haible  <bruno@clisp.org>
28340         euidaccess: Update a comment.
28341         * lib/euidaccess.c: Update comment about platforms with faccessat.
28343 2011-11-19  Bruno Haible  <bruno@clisp.org>
28345         openat: Fix file list.
28346         * modules/openat (Files): Remove lib/at-func.c.
28348 2011-11-19  Bruno Haible  <bruno@clisp.org>
28350         fstatat: Simplify.
28351         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
28352         gnulib should define rpl_fstatat, there is a
28353         "#define fstatat rpl_fstatat" in <sys/stat.h>.
28355 2011-11-19  Bruno Haible  <bruno@clisp.org>
28357         Ensure 'inline' can be used in tests/test-utimens-common.h.
28358         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
28359         * modules/futimens-tests (configure.ac): Likewise.
28360         * modules/utimens-tests (configure.ac): Likewise.
28361         * modules/utimensat-tests (configure.ac): Likewise.
28363 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28365         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
28366         not hash_insert0.
28367         (hash_insert_if_absent): Doc fix.
28369 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28371         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
28373 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28375         test-getcwd: disambiguate exit status
28376         * tests/test-getcwd.c (test_long_name): Return 0..7.
28377         (main): Exit with an unambiguous exit status.  The old
28378         code yielded a mysterious mixture of two failure codes.
28380         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
28381         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
28382         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
28383         rpl_fstatat or fstatat.  This should fix the other problem
28384         reported by Kai Habel in
28385         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28386         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
28387         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
28388         and I reproduced it on a Solaris 8 host we still have in production.
28390 2011-11-18  Jim Meyering  <meyering@redhat.com>
28392         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
28393         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
28394         Add a sentence to the comment.
28395         (hash_insert0): New function that simply calls hash_insert_if_absent.
28396         * lib/hash.h (hash_insert_if_absent): Declare it.
28397         (hash_insert0): Add deprecation attribute.
28398         (_GL_ATTRIBUTE_DEPRECATED): Define.
28399         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
28400         not hash_insert0.
28401         * NEWS: Mention it, even though it's not really an incompatible change.
28403 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
28405         openat: avoid compilation failure due to lack of <errno.h> inclusion
28406         * lib/openat.c: Include <errno.h>.
28408 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28410         * modules/getcwd (Depends-on): Add fdopendir.
28411         This fixes one of the two problems reported by Kai Habel in
28412         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28414         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
28415         stdalign problem reported by Ian Beckwith in
28416         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
28417         * modules/crypto/gc-arcfour (Depends-on):
28418         Depend conditionally on crypto/arcfour.
28419         * modules/crypto/gc-arctwo (Depends-on):
28420         Depend conditionally on crypto/arctwo.
28421         * modules/crypto/gc-des (Depends-on):
28422         Depend conditionally on crypto/des.
28423         * modules/crypto/gc-hmac-md5 (Depends-on):
28424         Depend conditionally on crypto/hmac-md5.
28425         * modules/crypto/gc-hmac-sha1 (Depends-on):
28426         Depend conditionally on crypto/hmac-sha1.
28427         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
28428         * modules/crypto/gc-md4 (Depends-on):
28429         Depend conditionally on crypto/md4.
28430         * modules/crypto/gc-md5 (Depends-on):
28431         Depend conditionally on crypto/md5.
28432         * modules/crypto/gc-rijndael (Depends-on):
28433         Depend conditionally on crypto/rijndael.
28434         * modules/crypto/gc-sha1 (Depends-on):
28435         Depend conditionally on crypto/sha1.
28436         * modules/crypto/gc-arcfour:
28437         * modules/crypto/gc-arctwo:
28438         * modules/crypto/gc-des:
28439         * modules/crypto/gc-hmac-md5:
28440         * modules/crypto/gc-hmac-sha1:
28441         * modules/crypto/gc-md2:
28442         * modules/crypto/gc-md4:
28443         * modules/crypto/gc-md5:
28444         * modules/crypto/gc-rijndael:
28445         * modules/crypto/gc-sha1:
28446         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
28447         now that the conditional dependencies do the work for us.
28449 2011-11-17  Jim Meyering  <meyering@redhat.com>
28451         tests: factor st_ctime-comparison out of two headers
28452         * tests/test-utimens-common.h (ctime_compare): Define.
28453         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
28454         * tests/test-lutimens.h (test_lutimens): Likewise.
28455         * tests/test-utimens.h (test_utimens): Likewise.
28457         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
28458         Invoke the test program via an init.sh-using wrapper.
28459         * tests/test-getcwd.sh: New file.
28460         * modules/getcwd-tests (Files): Add it.
28461         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
28463 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
28465         gitlog-to-changelog: support multi-author commits.
28466         The FSF cares about keeping track of all authors of patches to its
28467         projects, but Git doesn't provide obvious support for multi-author
28468         changesets. Consensus seems to be forming around the use of extra
28469         Signed-off-by inspired lines in the log message formatted as
28470         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
28471         multi-author commits between version control systems.
28472         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
28473         log message and output in standard ChangeLog multi-author format.
28474         Reported by Peter Rosin <peda@lysator.liu.se>
28476 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28477             Bruno Haible  <bruno@clisp.org>
28479         Fix some modules' file list.
28480         * modules/fstatat (Files): Add m4/lstat.m4.
28481         * modules/openat (Files): Likewise.
28482         * modules/unlinkat (Files): Likewise.
28484 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
28486         maint.mk: fix tight-scope.mk generation in VPATH builds.
28487         * top/maint.mk (tight-scope.mk): Make sure to prefix file
28488         reference with $(srcdir) so that the file is found correctly even
28489         when running `make syntax-check' in a VPATH build.
28491 2011-11-13  Bruno Haible  <bruno@clisp.org>
28492             Jim Meyering  <meyering@redhat.com>
28494         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
28495         * tests/init.sh (compare): Remove "No differences encountered" or
28496         synonymous output from the 'diff' program.
28498 2011-11-13  Bruno Haible  <bruno@clisp.org>
28500         Makefile: Tweak indentation.
28501         * Makefile: Use tab as first character in every line that contains rule
28502         commands.
28504 2011-11-13  Bruno Haible  <bruno@clisp.org>
28506         Syntax check for copyright statements.
28507         * check-copyright: New file.
28508         * Makefile (sc_check_copyright): New rule.
28510 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28512         * build-aux/git-version-gen: Add --prefix to configure the tag
28513         match string.
28515 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28517         * build-aux/git-version-gen: Add --help and --version.
28519 2011-11-12  Jim Meyering  <meyering@redhat.com>
28521         revamp the other test-exclude?.sh scripts to use init.sh, too
28522         * tests/test-exclude1.sh: Use init.sh.
28523         * tests/test-exclude2.sh: Likewise.
28524         * tests/test-exclude3.sh: Likewise.
28525         * tests/test-exclude4.sh: Likewise.
28526         * tests/test-exclude5.sh: Likewise.
28527         * tests/test-exclude6.sh: Likewise.
28528         * tests/test-exclude7.sh: Likewise.
28529         * tests/test-exclude8.sh: Likewise.
28530         * modules/exclude-tests (Files): List init.sh.
28532         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
28533         These shell scripts ignored failure of the binary test-exclude,
28534         so making the latter return 77 didn't cause them to be skipped.
28535         * tests/test-exclude5.sh: Exit with test-exclude's error status
28536         when that program fails.  Revamp to use init.sh.
28537         * tests/test-exclude2.sh: Likewise.
28539         test-exclude: fix a typo
28540         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
28542 2011-11-11  Bruno Haible  <bruno@clisp.org>
28544         obstack: Fix compilation error on MSVC 9.
28545         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
28547 2011-11-11  Jim Meyering  <meyering@redhat.com>
28549         test-exclude: skip tests rather than failing on deficient systems
28550         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
28551         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
28552         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
28553         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
28555 2011-11-10  Bruno Haible  <bruno@clisp.org>
28557         ptsname_r test: Avoid gcc warning on glibc systems.
28558         * tests/test-ptsname_r.c (null_ptr): New function.
28559         (test_errors): Use it.
28561 2011-11-10  Bruno Haible  <bruno@clisp.org>
28563         ptsname_r: Avoid compilation error on OSF/1 5.1.
28564         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
28565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
28566         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
28567         function is not declared or incompatibly declared.
28568         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
28569         * modules/ptsname_r (Depends-on, configure.ac): Update.
28570         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
28572 2011-11-10  Bruno Haible  <bruno@clisp.org>
28574         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
28575         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
28576         When cross-compiling, guess yes on all platforms except AIX.
28577         Reported by Ludovic Courtès <ludo@gnu.org>.
28579 2011-11-09  Bruno Haible  <bruno@clisp.org>
28581         ptsname_r tests: Fix bugs.
28582         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
28583         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
28585 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28587         fstatat: work with cross-compilation
28588         Problem reported by Ludovic Courtès in
28589         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
28590         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
28591         "cross-compiling" and assume the bug is present.  Replace
28592         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
28593         an inverted sense, to be more conservative about our assumptions.
28594         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
28596 2011-11-09  Bruno Haible  <bruno@clisp.org>
28598         Improve MODULES.html output.
28599         * modules/mkfifoat (Description): Use the word "function".
28600         * modules/readlinkat (Description): Likewise.
28601         * modules/symlinkat (Description): Likewise.
28603 2011-11-09  Eric Blake  <eblake@redhat.com>
28605         ptsname_r-tests: new test module
28606         * modules/ptsname_r-tests: New module.
28607         * tests/test-ptsname_r.c: New file.
28609         ptsname_r: new module
28610         * modules/ptsname_r: New module.
28611         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
28612         * lib/ptsname.c (__ptsname_r): Split...
28613         * lib/ptsname_r.c: ...into new file.
28614         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28615         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
28616         * modules/stdlib (Makefile.am): Substitute witnesses.
28617         * lib/stdlib.in.h (ptsname_r): Declare it.
28618         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
28619         * MODULES.html.sh (Misc): Likewise.
28620         * modules/ptsname (Depends-on): Alter dependency.
28621         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
28623 2011-11-09  Jim Meyering  <meyering@redhat.com>
28625         announce-gen: be more concise when there's only one URL+tarball
28626         * build-aux/announce-gen (get_tool_versions): When you distribute
28627         only one type of tarball, combine the first two "Here are..."
28628         sections and make the key-checking grammar independent of
28629         how many tarballs there are.
28631 2011-11-09  Eric Blake  <eblake@redhat.com>
28633         openpty: provide a stub on mingw
28634         * lib/pty.in.h (includes): Provide forward declarations.
28635         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
28637         raise: fix mingw handling of SIGPIPE
28638         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
28640 2011-11-08  Bruno Haible  <bruno@clisp.org>
28642         More conditional dependencies.
28643         * modules/faccessat (Depends-on): Add conditions.
28644         * modules/fchmodat (Depends-on): Likewise.
28645         * modules/fchownat (Depends-on): Likewise.
28646         * modules/fstatat (Depends-on): Likewise.
28647         * modules/mkfifoat (Depends-on): Likewise.
28648         * modules/readlinkat (Depends-on): Likewise.
28649         * modules/symlinkat (Depends-on): Likewise.
28650         * modules/unlinkat (Depends-on): Likewise.
28651         * modules/utimensat (Depends-on): Likewise.
28652         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
28653         * modules/linkat (Depends-on): Refine the conditions.
28654         * modules/renameat (Depends-on): Likewise.
28656 2011-11-08  Bruno Haible  <bruno@clisp.org>
28658         faccessat: Move AC_LIBOBJ invocation to module description.
28659         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
28660         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
28661         invocation from here...
28662         * modules/faccessat (configure.ac): ... to here. Invoke
28663         gl_PREREQ_FACCESSAT.
28665 2011-11-08  Bruno Haible  <bruno@clisp.org>
28667         faccessat: Simplify autoconf macro.
28668         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
28669         gl_FUNC_EUIDACCESS.
28671 2011-11-08  Bruno Haible  <bruno@clisp.org>
28673         renameat: Fix dependencies.
28674         * modules/renameat (Depends-on): Add stdbool.
28676 2011-11-08  Bruno Haible  <bruno@clisp.org>
28678         mkfifoat: Fix module description.
28679         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
28680         not gl_UNISTD_MODULE_INDICATOR.
28682 2011-11-08  Bruno Haible  <bruno@clisp.org>
28684         fstatat: Remove unused dependency.
28685         * modules/fstatat (Depends-on): Remove fstat.
28687 2011-11-08  Simon Josefsson  <simon@josefsson.org>
28689         GNUmakefile: behave when Makefile is missing.
28690         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
28692 2011-11-08  Bruno Haible  <bruno@clisp.org>
28694         openat: Conditionalize dependencies.
28695         * lib/openat.c: Reduce the scope of some #includes.
28696         * modules/openat (Depends-on): Add conditions.
28698 2011-11-07  Jim Meyering  <meyering@redhat.com>
28700         maint.mk: extract GPG key ID without using a temporary file
28701         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
28702         without using a temporary file.  Based on a suggestion from Werner Koch
28703         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
28705 2011-11-07  Eric Blake  <eblake@redhat.com>
28707         grantpt: fix typo
28708         * lib/stdlib.in.h (grantpt): Check correct function.
28710         maint.mk: silence new syntax check
28711         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
28713 2011-11-06  Bruno Haible  <bruno@clisp.org>
28715         Doc about floating-point and math API.
28716         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
28717         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
28719 2011-11-06  Bruno Haible  <bruno@clisp.org>
28721         stdalign tests: Skip the test when compiled by Sun C.
28722         * tests/test-stdalign.c (main): Skip the test on Sun C.
28724 2011-11-06  Bruno Haible  <bruno@clisp.org>
28726         ansi-c++-opt: Complete the 2011-06-05 change.
28727         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
28728         does not support namespaces, set the variable to "no", not to ":".
28730 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28732         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
28734 2011-11-06  Bruno Haible  <bruno@clisp.org>
28736         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
28737         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
28738         (minus_zerol) [HP-UX]: New macro.
28739         (unary_minus) [HP-UX]: New function.
28740         (copysignl) [HP-UX]: Use unary_minus function.
28742 2011-11-06  Bruno Haible  <bruno@clisp.org>
28744         ldexp, ldexpf, ldexpl: Enhance tests.
28745         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28746         and tests/test-ldexpl.c.
28747         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28748         LDEXP, MIN_EXP, MAX_EXP): New macros.
28749         Include test-ldexp.h.
28750         (main): Just call test_function.
28751         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28752         infinity.h, nan.h.
28753         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28754         MAX_EXP): New macros.
28755         Include test-ldexp.h.
28756         (x, y): Remove variables.
28757         (main): Just call test_function.
28758         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28759         infinity.h, nan.h.
28760         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28761         MAX_EXP): New macros.
28762         Include test-ldexp.h.
28763         (x, y): Remove variables.
28764         (main): Just call test_function.
28765         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28766         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28767         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28768         (Depends-on): Add isnand-nolibm, signbit, float.
28769         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28770         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28771         (Depends-on): Add isnanf-nolibm, signbit, float.
28773 2011-11-06  Bruno Haible  <bruno@clisp.org>
28775         math tests: Cosmetics.
28776         * tests/test-math-c++.cc: Reorder declarations.
28778 2011-11-05  Bruno Haible  <bruno@clisp.org>
28780         fma*: Simplify test.
28781         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28782         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28784         Tests for module 'fmal'.
28785         * modules/fmal-tests: New file.
28786         * tests/test-fmal1.c: New file.
28787         * tests/test-fmal2.c: New file.
28789         New module 'fmal'.
28790         * lib/math.in.h (fmal): New declaration.
28791         * lib/fmal.c: New file.
28792         * m4/fmal.m4: New file.
28793         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28794         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28795         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28796         REPLACE_FMAL.
28797         * modules/fmal: New file.
28798         * doc/posix-functions/fmal.texi: Mention the new module and the various
28799         bugs.
28801         Tests for module 'fmaf'.
28802         * modules/fmaf-tests: New file.
28803         * tests/test-fmaf1.c: New file.
28804         * tests/test-fmaf2.c: New file.
28806         New module 'fmaf'.
28807         * lib/math.in.h (fmaf): New declaration.
28808         * lib/fmaf.c: New file.
28809         * m4/fmaf.m4: New file.
28810         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28811         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28812         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28813         REPLACE_FMAF.
28814         * modules/fmaf: New file.
28815         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28816         bugs.
28818         Tests for module 'fma'.
28819         * modules/fma-tests: New file.
28820         * tests/test-fma1.c: New file.
28821         * tests/test-fma1.h: New file.
28822         * tests/test-fma2.c: New file.
28823         * tests/test-fma2.h: New file.
28825         New module 'fma'.
28826         * lib/math.in.h (fma): New declaration.
28827         * lib/fma.c: New file.
28828         * m4/fma.m4: New file.
28829         * m4/fegetround.m4: New file.
28830         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28831         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28832         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28833         REPLACE_FMA.
28834         * modules/fma: New file.
28835         * doc/posix-functions/fma.texi: Mention the new module and the various
28836         bugs.
28838         Extend gl_MATHFUNC.
28839         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28840         Support 'void' as argument type.
28841         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28843 2011-11-05  Jim Meyering  <meyering@redhat.com>
28845         maint.mk: also prohibit inclusion of dirent.h without use
28846         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28848 2011-11-05  Bruno Haible  <bruno@clisp.org>
28850         ldexpl tests: Avoid test failure on MSVC 9.
28851         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28852         value. Needed in order to enforce the conversion from a value greater
28853         than LDBL_MAX to Infinity.
28855 2011-11-05  Bruno Haible  <bruno@clisp.org>
28857         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28858         * modules/at-internal: New file, extracted from modules/openat.
28859         * modules/openat-h: New file.
28860         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28861         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28862         * modules/openat (Description): Add reference to POSIX function.
28863         (Files): Remove lib/openat.h, lib/openat-proc.c.
28864         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28865         intprops, unistd.
28866         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28867         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28868         gl_FCNTL_MODULE_INDICATOR.
28869         (Include): Remove unistd.h, openat.h.
28870         * modules/areadlinkat (Files): Add lib/at-func.c.
28871         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28872         openat-die, openat-h, save-cwd.
28873         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28874         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28875         openat-die, openat-h, save-cwd, unistd.
28876         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28877         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28878         openat-h, save-cwd. Remove fcntl-h, openat.
28879         * modules/fchmodat (Files): Remove lib/openat.h.
28880         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28881         openat, stdbool, unistd.
28882         * modules/fchownat (Files): Remove lib/openat.h.
28883         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28884         openat, stdbool, sys_stat.
28885         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28886         lib/openat-proc.c.
28887         (Depends-on): Add at-internal.
28888         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28889         * modules/fstatat (Files): Remove lib/openat.h.
28890         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28891         stdbool, unistd.
28892         * modules/fts (Depends-on): Add openat-h.
28893         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28894         openat.
28895         * modules/mkdirat (Files): Remove lib/openat.h.
28896         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28897         openat, stdbool, sys_stat.
28898         * modules/mkfifoat (Files): Add lib/at-func.c.
28899         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28900         openat-h, save-cwd. Remove fcntl-h, openat.
28901         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28902         * modules/readlinkat (Files): Add lib/at-func.c.
28903         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28904         openat-h, save-cwd. Remove fcntl-h, openat.
28905         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28906         openat.
28907         * modules/selinux-at (Files): Add lib/at-func.c.
28908         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28909         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28910         * modules/symlinkat (Files): Add lib/at-func.c.
28911         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28912         openat-h, save-cwd. Remove fcntl-h, openat.
28913         * modules/unlinkat (Files): Remove lib/openat.h.
28914         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28915         stdbool.
28916         * modules/utimensat (Files): Add lib/at-func.c.
28917         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28918         openat-die, openat-h, save-cwd.
28919         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28920         * modules/fdutimensat-tests (Depends-on): Add openat.
28921         * modules/fstatat-tests (Depends-on): Add openat-h.
28922         * modules/readlinkat-tests (Depends-on): Add openat.
28923         * modules/symlinkat-tests (Depends-on): Add openat.
28925 2011-11-05  Bruno Haible  <bruno@clisp.org>
28927         openat: Include <stdbool.h>.
28928         * lib/openat.c: Include <stdbool.h>.
28930 2011-11-04  Bruno Haible  <bruno@clisp.org>
28932         fchownat, renameat, unlinkat: Fix dependencies.
28933         * modules/fchownat (Depends-on): Add fstatat.
28934         * modules/renameat (Depends-on): Likewise.
28935         * modules/unlinkat (Depends-on): Likewise.
28937 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28939         openat: remove direct dependency on dirent
28940         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28941         and hasn't been needed ever since fdopendir was split into its own
28942         module on 2009-08-31.
28943         * modules/openat (Depends-on): Remove dirent.
28945 2011-11-04  Bruno Haible  <bruno@clisp.org>
28947         renameat: Optimize code size.
28948         * modules/renameat (configure.ac): Don't compile at-func2.c if
28949         REPLACE_RENAMEAT is 1.
28951 2011-11-04  Bruno Haible  <bruno@clisp.org>
28953         openat tests: Fix file list.
28954         * modules/openat-tests (Files): Add tests/test-open.h.
28956 2011-11-04  Bruno Haible  <bruno@clisp.org>
28958         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28959         * modules/fchmodat (Depends-on): Add openat-die.
28960         * modules/fchownat (Depends-on): Likewise.
28961         * modules/linkat (Depends-on): Likewise.
28962         * modules/renameat (Depends-on): Likewise.
28963         * modules/openat (Depends-on): Add dirent.
28965 2011-11-04  Jim Meyering  <meyering@redhat.com>
28967         at-func*.c: fix comments
28968         * lib/at-func2.c: Correct/improve first-line comment.
28969         * lib/at-func.c: Correct grammar in first-line comment.
28971 2011-11-04  Bruno Haible  <bruno@clisp.org>
28973         New module 'mkdirat', split off from module 'openat'.
28974         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
28975         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
28976         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
28977         * modules/mkdirat: New file, extracted from modules/openat.
28978         * modules/openat (Files): Remove lib/mkdirat.c.
28979         (Depends-on): Remove mkdir.
28980         (configure.ac): Remove AC_LIBOBJ of mkdirat.
28981         (Include): Remove <sys/stat.h>.
28982         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
28983         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
28984         tests/test-mkdir.h.
28985         (Depends-on): Remove ignore-value.
28986         (Makefile.am): Remove rules for test-mkdirat.
28987         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
28988         of module 'openat'.
28989         * NEWS: Mention the change.
28991 2011-11-04  Bruno Haible  <bruno@clisp.org>
28993         closedir: Avoid warning on mingw.
28994         * lib/closedir.c: Include <unistd.h>.
28996 2011-11-04  Bruno Haible  <bruno@clisp.org>
28998         New module 'fstatat', split off from module 'openat'.
28999         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
29000         defined.
29001         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
29002         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
29003         gl_FUNC_FSTATAT.
29004         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
29005         * modules/fstatat: New file, extracted from modules/openat.
29006         * modules/openat (Files): Remove lib/fstatat.c.
29007         (Depends-on): Remove lstat.
29008         (configure.ac): Remove AC_LIBOBJ of fstatat.
29009         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
29010         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
29011         tests/test-lstat.h, tests/test-stat.h.
29012         (Depends-on): Remove getcwd-lgpl.
29013         (Makefile.am): Remove rules for test-fstatat.
29014         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
29015         of module 'openat'.
29016         * NEWS: Mention the change.
29017         * modules/getcwd (Depends-on): Add fstatat.
29018         * modules/linkat (Depends-on): Likewise.
29019         * modules/mkfifoat-tests (Depends-on): Likewise.
29020         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
29022 2011-11-03  Bruno Haible  <bruno@clisp.org>
29024         New module 'unlinkat', split off from module 'openat'.
29025         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
29026         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
29027         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
29028         * modules/unlinkat: New file, extracted from modules/openat. Correct
29029         the dependency conditions.
29030         * modules/openat (Files): Remove lib/unlinkat.c.
29031         (Depends-on): Remove rmdir, unlink.
29032         (configure.ac): Remove AC_LIBOBJ of unlinkat.
29033         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
29034         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
29035         tests/test-rmdir.h, tests/test-unlink.h.
29036         (Depends-on): Remove unlinkdir.
29037         (Makefile.am): Remove rules for test-unlinkat.
29038         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
29039         of module 'openat'.
29040         * NEWS: Mention the change.
29041         * modules/linkat-tests (Depends-on): Add unlinkat.
29042         * modules/mkfifoat-tests (Depends-on): Likewise.
29043         * modules/readlinkat-tests (Depends-on): Likewise.
29045 2011-11-02  Bruno Haible  <bruno@clisp.org>
29047         New module 'fchmodat', split off from module 'openat'.
29048         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
29049         defined.
29050         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
29051         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
29052         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
29053         * modules/fchmodat: New file, extracted from modules/openat.
29054         * modules/openat (Files): Remove lib/fchmodat.c.
29055         (configure.ac): Remove AC_LIBOBJ of fchmodat.
29056         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
29057         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
29058         (Makefile.am): Remove rules for test-fchmodat.
29059         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
29060         of module 'openat'.
29061         * NEWS: Mention the change.
29063 2011-11-02  Jim Meyering  <meyering@redhat.com>
29065         putenv: indent #definition of "environ" to placate cppi
29066         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
29068         gitlog-to-changelog: provide a ChangeLog-repair mechanism
29069         Git logs are often treated as immutable, because editing them
29070         changes the SHA1 checksums of all descendants.  Thus, errors in
29071         git logs tend to stay there forever.  However, when we generate
29072         a ChangeLog file -- typically for distribution -- from that git log,
29073         we can actually make corrections in the generated file.  The key
29074         lies in recording in machine-readable/applicable form the desired
29075         corrections.  See --help for description and an example.
29076         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
29077         (usage): Describe it; alphabetize option descriptions.
29078         (main): Honor the new option, carefully.
29080 2011-11-01  Jim Meyering  <meyering@redhat.com>
29082         gitlog-to-changelog: avoid an infloop
29083         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
29084         that ends up being empty.
29086 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29088         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
29089         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
29090         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
29091         contains (possibly-quoted) backslashes.  This should avoid
29092         all-too-common shell bugs if COMPLICATED contains backslashes in
29093         the "wrong" places.  Reported by David Evans in
29094         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
29095         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
29096         because we want ASCII ranges.  Is there some reason we don't use
29097         the C locale everywhere in this script?
29098         (func_module, top level): Avoid unwanted pathname expansion when
29099         $repo_url_prefix or $repo_url_suffix_repl contain shell
29100         metacharacters like '?' and '*'.
29102 2011-11-01  Bruno Haible  <bruno@clisp.org>
29104         fchownat: Improve description.
29105         * modules/fchownat (Description): Add link to function.
29107 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29109         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
29110         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
29111         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
29112         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
29114 2011-11-01  Bruno Haible  <bruno@clisp.org>
29116         alignof: Avoid collision with stdalign module.
29117         * lib/alignof.h (alignof): Remove macro.
29118         * NEWS: Mention the change.
29119         Reported by Paul Eggert.
29121 2011-11-01  Bruno Haible  <bruno@clisp.org>
29123         New module 'fchownat', split off from module 'openat'.
29124         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
29125         defined.
29126         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
29127         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
29128         invoke gl_FUNC_FCHOWNAT.
29129         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
29130         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
29131         * modules/fchownat: New file, extracted from modules/openat.
29132         * modules/openat (Files): Remove lib/fchownat.c.
29133         (Depends-on): Remove lchown.
29134         (configure.ac): Remove AC_LIBOBJ of fchownat.
29135         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
29136         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
29137         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
29138         (Depends-on): Remove mgetgroups, usleep, stat-time.
29139         (configure.ac): Remove test for getegid.
29140         (Makefile.am): Remove rules for test-fchownat.
29141         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
29142         of module 'openat'.
29143         * NEWS: Mention the change.
29145 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
29147         stdalign: port better to MSVC and to Sun C 5.11
29148         This fixes some of the problems reported by Bruno Haible in
29149         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
29150         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
29151         shortcomings of MSVC and of Sun C 5.11.
29152         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
29153         around __declspec arg.
29154         * modules/stdalign-tests (Files): Add tests/macros.h.
29155         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
29156         Include macros.h, for ASSERT.
29157         (DECLARE_ALIGNED): Remove.
29158         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
29159         to catch bug), and to 1 if not (simplifies the rest of the code).
29160         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
29161         (CHECK_AUTO): Remove.
29162         (CHECK_ALIGNED): Check only the alignment of the static vars,
29163         since auto var alignment isn't supported by Sun C 5.11.
29164         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
29165         ASSERT failures are easier to diagnose.
29167 2011-10-31  Bruno Haible  <bruno@clisp.org>
29169         doc about some IRIX 5.3 problems.
29170         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
29171         on IRIX 5.3.
29172         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
29173         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
29174         5.3.
29175         * doc/posix-functions/grantpt.texi: Likewise.
29176         * doc/posix-functions/unlockpt.texi: Likewise.
29177         * doc/posix-functions/lgamma.texi: Likewise.
29178         * doc/posix-functions/nextafter.texi: Likewise.
29179         * doc/posix-functions/remainder.texi: Likewise.
29180         * doc/posix-functions/select.texi: Mention misplaced declaration on
29181         IRIX 5.3.
29182         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29184 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
29186         gitlog-to-changelog: fix git-log invocation.
29187         git-log mishandles date strings before 1970-01-01 UTC, and there is
29188         no use to specify --since=1970-01-01 by default anyway.
29189         * build-aux/gitlog-to-changelog: By default, when no --since option
29190         was given, do not specify explicit --since option to git-log.
29192 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
29194         gitlog-to-changelog: new option --append-dot.
29195         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
29196         first non-blank line of each commit message terminated with a dot.
29198 2011-10-30  Bruno Haible  <bruno@clisp.org>
29200         ffsl, ffsll: Avoid compilation error due to 'restrict'.
29201         * lib/ffsl.h: Include <config.h>.
29202         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
29204 2011-10-30  Jim Meyering  <meyering@redhat.com>
29206         GNUmakefile: reenable "make syntax-check" for most projects
29207         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
29208         build-aux variable", "syntax-check" would do nothing but succeed with
29209         the "No version control files detected..." diagnostic (unless you
29210         happened to override _build-aux via cfg.mk).
29211         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
29212         to precede inclusion of maint.mk.  Otherwise, these variables would
29213         be used undefined in any project that does not override the default.
29215 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
29217         gitlog-to-changelog: treat a message with only blank lines as empty.
29218         * build-aux/gitlog-to-changelog: Move the code that removes leading and
29219         trailing blank lines before the code that issues a warning about an
29220         empty commit message.
29222 2011-10-30  Jim Meyering  <meyering@redhat.com>
29224         test-parse-datetime.c: avoid new DST-related false positive test failure
29225         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
29226         based on the time/date we'll convert, not the current time.
29227         Otherwise, the moment we cross a DST boundary like today's in
29228         Europe, (CEST to CET), that offset ends up being one hour off.
29230 2011-10-27  Bruno Haible  <bruno@clisp.org>
29232         fstat: Tweak documentation.
29233         * modules/fstat (Description): More precise description.
29235 2011-10-27  Bruno Haible  <bruno@clisp.org>
29237         Update documentation regarding 'largefile' module.
29238         * doc/posix-functions/fstat.texi: Tweak wording.
29239         * doc/posix-functions/opendir.texi: Mention that the module fixes the
29240         problems with huge directories and/or small ino_t types.
29241         * doc/posix-functions/readdir.texi: Likewise.
29242         * doc/posix-functions/rewinddir.texi: Likewise.
29244 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
29246         maint.mk: don't maintain a second build-aux variable.
29247         * maint.mk (build_aux): Removed.  The maintainer-makefile module
29248         depends on GNUmakefile, which already maintains a cfg.mk
29249         overridable $(_build-aux) for projects with a non-standard
29250         build-aux directory location, although without the $(srcdir)
29251         prefix.  Use that variable consistently instead of introducing a
29252         second one.  Adjust all call sites.
29254 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
29256         Add stdalign module and use it in other modules.
29257         This is based on a previous proposal by Bruno Haible
29258         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
29260         stdalign: new module
29261         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
29262         * modules/stdalign: New files.
29263         * MODULES.html.sh (c1x_core_properties): Add stdalign.
29264         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
29266         stdalign-tests: new module
29267         * modules/stdalign-tests, tests/test-stdalign.c: New files.
29269         argp: use stdalign
29270         * lib/argp-parse.c: Include <stdalign.h>.
29271         (alignof): Remove.
29272         * modules/argp (Depends-on): Add stdalign.
29274         crypto libraries: use stdalign
29275         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
29276         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
29277         Do not include <stdlib.h> twice, in md4.c.
29278         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
29279         because we are accessing a pointer's bit-pattern, not a size.
29280         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
29281         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
29282         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
29283         * modules/crypto/sha512: Likewise.
29285         sys_socket: use stdalign, not alignof
29286         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
29287         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
29289 2011-10-27  Bruno Haible  <bruno@clisp.org>
29291         raise test: Avoid a test failure on Linux/MIPS.
29292         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
29293         because 99 is a valid signal on Linux/MIPS.
29295 2011-10-27  Bruno Haible  <bruno@clisp.org>
29297         nonblocking tests: Fix test failure on Linux/MIPS.
29298         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
29299         Set to 270000.
29301 2011-10-27  Bruno Haible  <bruno@clisp.org>
29303         utimensat: Work around problem on Linux/hppa.
29304         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
29305         values.
29306         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
29308 2011-10-25  Jim Meyering  <meyering@redhat.com>
29310         maint.mk: fix a bug in sc_prohibit_stddef_without_use
29311         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
29312         after symbols like NULL, size_t, etc.
29313         Reported by Alfred M. Szmidt.
29315         maint.mk: exempt ENODATA from a syntax-check rule
29316         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
29317         from the sc_prohibit_always-defined_macros syntax-check rule.
29318         Add a comment.  See this for more details:
29319         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
29321 2011-10-23  Jim Meyering  <meyering@redhat.com>
29323         fts: close parent dir FD before returning from post-traversal fts_read
29324         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
29325         unlink A, even though an FD open on A remained.  This is suboptimal
29326         (holding a file descriptor open longer than needed), but otherwise not
29327         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
29328         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
29329         that represents a real problem: it causes the removal of A to fail
29330         with e.g., "rm: cannot remove `A': Device or resource busy"
29332         fts visits each directory twice and keeps a cache (fts_fd_ring) of
29333         directory file descriptors.  After completing the final, FTS_DP,
29334         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
29335         cache, but then proceeded to add a new FD to it via the subsequent
29336         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
29337         final file descriptor would be closed only via fts_close's call to
29338         fd_ring_clear.  Now, it is usually closed earlier, via the final
29339         FTS_DP-returning fts_read call.
29340         * lib/fts.c (restore_initial_cwd): New function, converted from
29341         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
29342         Update callers.
29343         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
29344         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
29346 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
29347             Bruno Haible  <bruno@clisp.org>
29348             Jim Meyering  <jim@meyering.net>
29350         readme-release: improve safety of release prep instructions.
29351         * README-release: Don't git pull all branches when only master
29352         is needed for the release process.
29353         Run make maintainer-clean before changing trees and merging.
29354         Don't try to run ./configure right after git pull in case files
29355         that influence the bootstrap process have changed, move the
29356         ./configure step to after running ./bootstrap.
29357         Don't bootstrap "one last time"... it's the first time!
29359 2011-10-22  Bruno Haible  <bruno@clisp.org>
29361         errno, strerror-override: Support for MSVC 10.
29362         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
29363         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
29364         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
29365         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
29366         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
29367         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
29368         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
29369         Assign values compatible with MSVC 10.
29370         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
29371         New macros.
29372         (GNULIB_defined_EWINSOCK): New macro.
29373         * lib/strerror-override.c (strerror_override): Update accordingly.
29374         * lib/strerror-override.h: Likewise.
29375         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
29376         longer equal to the corresponding errno value.
29377         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29379 2011-10-22  Bruno Haible  <bruno@clisp.org>
29381         perror: Recognize when test program crashes.
29382         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
29383         strerror, set gl_cv_func_perror_works to no.
29384         Reported by Daniel Richard G. <skunk@iskunk.org>.
29386         perror: Fix indentation.
29387         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
29389 2011-10-22  Bruno Haible  <bruno@clisp.org>
29391         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
29392         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
29393         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
29394         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
29395         functions, not as a macro.
29396         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
29397         macros.
29398         (isfinite, isinf, isnan, signbit): Check overloaded functions and
29399         absence of macro.
29400         Suggested by Eric Blake.
29401         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29403 2011-10-21  Bruno Haible  <bruno@clisp.org>
29405         relocatable-prog-wrapper: Don't leave object files behind.
29406         * build-aux/install-reloc: Re-synchronize list of .o files to be
29407         removed with list of compilation units.
29409 2011-10-20  Bruno Haible  <bruno@clisp.org>
29411         openpty, posix_openpt: Remove code duplication.
29412         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
29413         * lib/openpty.c: Include <stdlib.h>.
29414         (openpty): Use posix_openpt on all platforms except IRIX.
29415         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
29417 2011-10-20  Bruno Haible  <bruno@clisp.org>
29419         unlockpt: Detect invalid argument.
29420         * lib/unlockpt.c: Include <fcntl.h>.
29421         (unlockpt): Check whether fd is valid, using fcntl().
29422         * modules/unlockpt (Depends-on): Add fcntl-h.
29424 2011-10-20  Bruno Haible  <bruno@clisp.org>
29426         openpty: Avoid compilation error on AIX 6.1.
29427         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
29429 2011-10-20  Bruno Haible  <bruno@clisp.org>
29431         posix_openpt: Support for OpenBSD.
29432         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
29433         (posix_openpt) [OpenBSD]: New code.
29434         * lib/grantpt.c: Include <fcntl.h>.
29435         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
29436         * modules/grantpt (Depends-on): Add fcntl-h.
29438 2011-10-20  Bruno Haible  <bruno@clisp.org>
29440         posix_openpt test: Coding style.
29441         * tests/test-posix_openpt.c: Use GNU coding style.
29443 2011-10-20  Bruno Haible  <bruno@clisp.org>
29445         grantpt: Support --avoid=pt_chown.
29446         * modules/grantpt (Files): Add lib/pty-private.h.
29448 2011-10-20  Bruno Haible  <bruno@clisp.org>
29450         posix_openpt: Fix autoconf macro.
29451         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
29452         unneeded check for _getpty.
29454 2011-10-20  Bruno Haible  <bruno@clisp.org>
29456         openpty: Update comments.
29457         * lib/openpty.c: Add comments about Minix.
29459 2011-10-19  Eric Blake  <eblake@redhat.com>
29461         openpty: relax license
29462         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
29464         pt_chown: use configmake to simplify build
29465         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
29467         ptsname and others: relax license
29468         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
29469         * modules/unlockpt (License): Likewise.
29470         * modules/pt_chown (License): Likewise.
29471         * modules/ptsname (License): Likewise.
29472         * modules/ttyname_r (License): Likewise.
29474 2011-10-19  Jim Meyering  <meyering@redhat.com>
29476         posix_openpt: remove spurious #endif
29477         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
29479 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
29481         maint.mk: Respect $(build_aux) in web-manual rule.
29482         * top/maint.mk (web-manual): Find gen-announce script in user's
29483         $(build_aux) directory instead of hard-coding 'build-aux'.
29485 2011-10-19  Bruno Haible  <bruno@clisp.org>
29487         posix_openpt: Fix compilation error.
29488         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
29489         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
29490         Mention the openpty module as an alternative.
29492 2011-10-19  Bruno Haible  <bruno@clisp.org>
29494         Support for old NeXTstep 3.3 frexp().
29495         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
29496         execution time of the test to 5 seconds.
29497         Reported by Daniel Richard G. <skunk@iskunk.org>.
29499 2011-10-19  Bruno Haible  <bruno@clisp.org>
29501         Support for old NeXTstep 3.3 sed.
29502         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
29503         part, use /.../, not \|...|. Escape periods in the header file name.
29504         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
29505         Reported by Daniel Richard G. <skunk@iskunk.org>.
29507 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29509         Support for old NeXTstep 3.3 gcc.
29510         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
29511         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
29512         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
29513         * lib/spawn.in.h (_Restrict_arr_): Likewise.
29514         * lib/regex.h (_Restrict_arr_): Likewise.
29515         * lib/regex_internal.h (re_token_t): Likewise.
29516         * lib/regexec.c (check_node_accept_bytes): Likewise.
29517         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
29519 2011-10-18  Eric Blake  <eblake@redhat.com>
29521         posix_openpt: new module
29522         * modules/posix_openpt: New module.
29523         * m4/posix_openpt.m4: New file.
29524         * lib/posix_openpt.c: Likewise.
29525         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29526         (gl_STDLIB_H_DEFAULTS): Set defaults.
29527         * modules/stdlib (Makefile.am): Substitute macros.
29528         * lib/stdlib.in.h (posix_openpt): Declare.
29529         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
29530         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
29531         * modules/posix_openpt-tests: New test module.
29532         * tests/test-posix_openpt.c: New test.
29534 2011-10-15  Bruno Haible  <bruno@clisp.org>
29536         xstrtoll: Fix compilation failure.
29537         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
29538         from lib/strtol.c.
29539         * doc/posix-headers/limits.texi: Mention missing numerical limits on
29540         some platforms.
29541         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29543 2011-10-15  Bruno Haible  <bruno@clisp.org>
29545         vasnprintf: Optimize bit search operation.
29546         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
29547         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
29548         gl_DOUBLE_EXPONENT_LOCATION.
29549         * modules/vasnprintf (Files): Add m4/exponentd.m4.
29550         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29551         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29552         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29553         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29554         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29555         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29556         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29557         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
29559 2011-10-15  Bruno Haible  <bruno@clisp.org>
29561         vasnprintf: Fix comments.
29562         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
29564 2011-10-14  Bruno Haible  <bruno@clisp.org>
29566         Tests for module 'integer_length_ll'.
29567         * modules/integer_length_ll-tests: New file.
29568         * tests/test-integer_length_ll.c: New file.
29570         New module 'integer_length_ll'.
29571         * lib/integer_length_ll.c: New file.
29572         * modules/integer_length_ll: New file.
29574 2011-10-14  Bruno Haible  <bruno@clisp.org>
29576         Tests for module 'integer_length_l'.
29577         * modules/integer_length_l-tests: New file.
29578         * tests/test-integer_length_l.c: New file.
29580         New module 'integer_length_l'.
29581         * lib/integer_length_l.c: New file.
29582         * modules/integer_length_l: New file.
29584 2011-10-14  Bruno Haible  <bruno@clisp.org>
29586         Tests for module 'integer_length'.
29587         * modules/integer_length-tests: New file.
29588         * tests/test-integer_length.c: New file.
29590         New module 'integer_length'.
29591         * lib/integer_length.h: New file.
29592         * lib/integer_length.c: New file.
29593         * modules/integer_length: New file.
29595 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29597         popen: Fix dependency conditions.
29598         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
29600 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29602         perror: Fix autoconf test.
29603         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
29604         <stdlib.h> and <string.h>.
29606 2011-10-14  Bruno Haible  <bruno@clisp.org>
29608         ffsl: Optimize on 64-bit platforms.
29609         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
29610         unrolling.
29612 2011-10-13  Bruno Haible  <bruno@clisp.org>
29614         ffsl: Optimize on 32-bit platforms.
29615         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
29616         use ffs() without a loop.
29618         ffsl, ffsll: Optimize for GCC.
29619         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
29620         * lib/ffsl.c (GCC_BUILTIN): New macro.
29621         * lib/ffsll.c (GCC_BUILTIN): Likewise.
29623 2011-10-13  Bruno Haible  <bruno@clisp.org>
29625         ffs, bcopy, memset: Support symbol renaming via config.h.
29626         * lib/ffs.c: Include <config.h>.
29627         * lib/bcopy.c: Likewise.
29628         * lib/memset.c: Likewise.
29630 2011-10-10  Bruno Haible  <bruno@clisp.org>
29632         atanl: Simplify for platforms where 'long double' == 'double'.
29633         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29634         alternative implementation.
29635         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29636         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29637         * modules/atanl (Depends-on): Add atan. Update conditions.
29639 2011-10-10  Bruno Haible  <bruno@clisp.org>
29641         acosl: Simplify for platforms where 'long double' == 'double'.
29642         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29643         alternative implementation.
29644         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29645         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29646         * modules/acosl (Depends-on): Add acos. Update conditions.
29648 2011-10-10  Bruno Haible  <bruno@clisp.org>
29650         asinl: Simplify for platforms where 'long double' == 'double'.
29651         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29652         alternative implementation.
29653         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29654         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29655         * modules/asinl (Depends-on): Add asin. Update conditions.
29657 2011-10-10  Bruno Haible  <bruno@clisp.org>
29659         tanl: Simplify for platforms where 'long double' == 'double'.
29660         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29661         implementation.
29662         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29663         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29664         * modules/tanl (Depends-on): Add tan. Update conditions.
29665         (configure.ac): Don't compile trigl.c if
29666         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29668 2011-10-10  Bruno Haible  <bruno@clisp.org>
29670         cosl: Simplify for platforms where 'long double' == 'double'.
29671         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29672         implementation.
29673         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29674         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29675         * modules/cosl (Depends-on): Add cos. Update conditions.
29676         (configure.ac): Don't compile sincosl.c and trigl.c if
29677         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29679 2011-10-10  Bruno Haible  <bruno@clisp.org>
29681         sinl: Simplify for platforms where 'long double' == 'double'.
29682         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29683         implementation.
29684         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29685         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29686         * modules/sinl (Depends-on): Add sin. Update conditions.
29687         (configure.ac): Don't compile sincosl.c and trigl.c if
29688         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29690 2011-10-10  Bruno Haible  <bruno@clisp.org>
29692         logl: Simplify for platforms where 'long double' == 'double'.
29693         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29694         implementation.
29695         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29696         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29697         * modules/logl (Depends-on): Add log. Update conditions.
29699 2011-10-10  Bruno Haible  <bruno@clisp.org>
29701         expl: Simplify for platforms where 'long double' == 'double'.
29702         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29703         implementation.
29704         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29705         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29706         * modules/expl (Depends-on): Add exp. Update conditions.
29708 2011-10-10  Bruno Haible  <bruno@clisp.org>
29710         sqrtl: Simplify for platforms where 'long double' == 'double'.
29711         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29712         alternative implementation.
29713         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29714         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29715         * modules/sqrtl (Depends-on): Update conditions.
29717 2011-10-10  Bruno Haible  <bruno@clisp.org>
29719         ldexpl: Simplify for platforms where 'long double' == 'double'.
29720         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29721         alternative implementation.
29722         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29723         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29724         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
29726 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
29728         ffsll: set correct witness
29729         * modules/ffsll (configure.ac): Fix typo.
29731 2011-10-10  Bruno Haible  <bruno@clisp.org>
29733         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
29734         * lib/printf-frexpl.c: Include <config.h>.
29735         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29736         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
29737         second time.
29738         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
29739         gl_LONG_DOUBLE_VS_DOUBLE.
29740         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29741         conditions.
29743 2011-10-10  Bruno Haible  <bruno@clisp.org>
29745         frexpl: Simplify for platforms where 'long double' == 'double'.
29746         * lib/frexpl.c: Include <config.h>.
29747         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29748         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29749         time.
29750         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29751         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29752         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29753         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29754         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29755         conditions.
29757 2011-10-10  Jim Meyering  <meyering@redhat.com>
29759         test-renameat: don't leave behind a temporary file
29760         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29761           ERROR: files left in build directory after distclean:
29762           ./gltests/test-renameat.too
29763           make[1]: *** [distcleancheck] Error 1
29764         Reported by Tom G. Christensen.
29766 2011-10-09  Bruno Haible  <bruno@clisp.org>
29768         rint: Determine RINT_LIBM correctly on AIX 7.
29769         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29770         directly, not only through a function pointer. Also accept an optional
29771         4th argument with extra code.
29772         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29773         rintf() call by gcc when optimizing.
29775         mathfunc.m4: Refactor.
29776         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29777         m4 variable.
29779 2011-10-09  Bruno Haible  <bruno@clisp.org>
29781         rintl: Simplify for platforms where 'long double' == 'double'.
29782         * lib/rintl.c: Include <config.h>.
29783         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29784         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29785         time.
29786         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29787         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29788         * modules/rintl (Depends-on): Add rint. Update conditions.
29790 2011-10-09  Bruno Haible  <bruno@clisp.org>
29792         roundl: Simplify for platforms where 'long double' == 'double'.
29793         * lib/roundl.c: Include <config.h>.
29794         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29795         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29796         time.
29797         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29798         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29799         * modules/roundl (Depends-on): Add round. Update conditions.
29801 2011-10-09  Bruno Haible  <bruno@clisp.org>
29803         truncl: Simplify for platforms where 'long double' == 'double'.
29804         * lib/truncl.c: Include <config.h>.
29805         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29806         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29807         time.
29808         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29809         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29810         * modules/truncl (Depends-on): Add trunc. Update conditions.
29812 2011-10-09  Bruno Haible  <bruno@clisp.org>
29814         ceill: Simplify for platforms where 'long double' == 'double'.
29815         * lib/ceill.c: Include <config.h>.
29816         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29817         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29818         time.
29819         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29820         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29821         * modules/ceill (Depends-on): Add ceil. Update conditions.
29823 2011-10-09  Bruno Haible  <bruno@clisp.org>
29825         floorl: Simplify for platforms where 'long double' == 'double'.
29826         * lib/floorl.c: Include <config.h>.
29827         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29828         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29829         time.
29830         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29831         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29832         * modules/floorl (Depends-on): Add floor. Update conditions.
29834 2011-10-09  Bruno Haible  <bruno@clisp.org>
29836         rint: Fix ordering constraints.
29837         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29838         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29839         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29841 2011-10-09  Bruno Haible  <bruno@clisp.org>
29843         copysignl: Simplify for platforms where 'long double' == 'double'.
29844         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29845         alternative.
29846         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29847         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29848         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29850 2011-10-09  Bruno Haible  <bruno@clisp.org>
29852         Tests for module 'rintl'.
29853         * modules/rintl-tests: New file.
29854         * tests/test-rintl.c: New file.
29856         New module 'rintl'.
29857         * lib/math.in.h (rintl): New declaration.
29858         * lib/rintl.c: New file.
29859         * m4/rintl.m4: New file.
29860         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29862         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29863         * modules/rintl: New file.
29864         * tests/test-math-c++.cc: Check the declaration of rintl.
29865         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29866         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29867         * doc/posix-functions/rintl.texi: Mention the new module.
29869 2011-10-09  Bruno Haible  <bruno@clisp.org>
29871         Tests for module 'rintf'.
29872         * modules/rintf-tests: New file.
29873         * tests/test-rintf.c: New file.
29875         New module 'rintf'.
29876         * lib/math.in.h (rintf): New declaration.
29877         * lib/rintf.c: New file.
29878         * m4/rintf.m4: New file.
29879         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29881         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29882         * modules/rintf: New file.
29883         * tests/test-math-c++.cc: Check the declaration of rintf.
29884         * doc/posix-functions/rintf.texi: Mention the new module.
29886 2011-10-09  Bruno Haible  <bruno@clisp.org>
29888         rint: Support for MSVC.
29889         * lib/math.in.h (rint): New declaration.
29890         * lib/rint.c: New file.
29891         * m4/rint.m4: New file.
29892         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29894         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29895         * modules/rint (Description): Fix.
29896         (Files): Add lib/rint.c, m4/rint.m4.
29897         (Depends-on): Add math.
29898         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29899         gl_MATH_MODULE_INDICATOR.
29900         * tests/test-math-c++.cc: Check the declaration of rint.
29901         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29902         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29903         * doc/posix-functions/rint.texi: Mention the replacement provided by
29904         the module.
29906         rint tests: More tests.
29907         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29908         minus-zero.h, infinity.h, nan.h.
29909         (main): Skip the test if the current rounding mode is not standard. Add
29910         tests for negative numbers, minus zero, infinity, NaN.
29911         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29912         tests/nan.h.
29913         (Depends-on): Add isnand-nolibm.
29915 2011-10-09  Bruno Haible  <bruno@clisp.org>
29917         Tests for module 'copysignl'.
29918         * modules/copysignl-tests: New file.
29919         * tests/test-copysignl.c: New file.
29921         New module 'copysignl'.
29922         * lib/math.in.h (copysignl): New declaration.
29923         * lib/copysignl.c: New file.
29924         * m4/copysignl.m4: New file.
29925         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29926         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29927         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29928         HAVE_COPYSIGNL.
29929         * modules/copysignl: New file.
29930         * tests/test-math-c++.cc: Check the declaration of copysignl.
29931         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29932         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29933         * doc/posix-functions/copysignl.texi: Mention the new module.
29935 2011-10-09  Bruno Haible  <bruno@clisp.org>
29937         Tests for module 'copysignf'.
29938         * modules/copysignf-tests: New file.
29939         * tests/test-copysignf.c: New file.
29941         New module 'copysignf'.
29942         * lib/math.in.h (copysignf): New declaration.
29943         * lib/copysignf.c: New file.
29944         * m4/copysignf.m4: New file.
29945         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29947         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29948         HAVE_COPYSIGNF.
29949         * modules/copysignf: New file.
29950         * tests/test-math-c++.cc: Check the declaration of copysignf.
29951         * doc/posix-functions/copysignf.texi: Mention the new module.
29953 2011-10-09  Bruno Haible  <bruno@clisp.org>
29955         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29956         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29957         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29958         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29959         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29960         gl_SIGNAL_H_DEFAULTS.
29962 2011-10-09  Bruno Haible  <bruno@clisp.org>
29964         poll: Make macro safer.
29965         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
29966         ac_cv_header_poll_h is not set.
29968 2011-10-09  Bruno Haible  <bruno@clisp.org>
29970         copysign: Provide replacement.
29971         * lib/math.in.h (copysign): New declaration.
29972         * lib/copysign.c: New file.
29973         * m4/copysign.m4: New file.
29974         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
29975         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
29976         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
29977         HAVE_COPYSIGN.
29978         * modules/copysign (Description): Clarify.
29979         (Files): Add lib/copysign.c, m4/copysign.m4.
29980         (Depends-on): Add math, signbit.
29981         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
29982         gl_MATH_MODULE_INDICATOR.
29983         * tests/test-math-c++.cc: Check the declaration of copysign.
29984         * doc/posix-functions/copysign.texi: Mention the effects of the module
29985         on Minix and MSVC.
29987 2011-10-09  Bruno Haible  <bruno@clisp.org>
29989         isinf: Ensure macro on AIX 5.1.
29990         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
29991         macro.
29992         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
29994 2011-10-09  Bruno Haible  <bruno@clisp.org>
29996         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
29997         * modules/snprintf-posix-tests (configure.ac): Require
29998         gl_LONG_DOUBLE_VS_DOUBLE.
29999         * modules/sprintf-posix-tests (configure.ac): Likewise.
30000         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
30001         * modules/vasprintf-posix-tests (configure.ac): Likewise.
30002         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
30003         * modules/vsprintf-posix-tests (configure.ac): Likewise.
30004         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
30005         tests on platforms where 'long double' is the same as 'double'.
30006         * tests/test-sprintf-posix.h (test_function): Likewise.
30007         * tests/test-vasnprintf-posix.c (test_function): Likewise.
30008         * tests/test-vasprintf-posix.c (test_function): Likewise.
30010         *printf: Fix for platforms where 'long double' == 'double'.
30011         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
30012         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
30013         * modules/dprintf-posix (Files): Add m4/math_h.m4.
30014         * modules/fprintf-posix (Files): Likewise.
30015         * modules/obstack-printf-posix (Files): Likewise.
30016         * modules/snprintf-posix (Files): Likewise.
30017         * modules/sprintf-posix (Files): Likewise.
30018         * modules/vasnprintf (Files): Likewise.
30019         * modules/vasnprintf-posix (Files): Likewise.
30020         * modules/vasprintf-posix (Files): Likewise.
30021         * modules/vdprintf-posix (Files): Likewise.
30022         * modules/vfprintf-posix (Files): Likewise.
30023         * modules/vsnprintf-posix (Files): Likewise.
30024         * modules/vsprintf-posix (Files): Likewise.
30025         * modules/unistdio/u8-vasnprintf (Files): Likewise.
30026         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
30027         * modules/unistdio/u16-vasnprintf (Files): Likewise.
30028         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
30029         * modules/unistdio/u32-vasnprintf (Files): Likewise.
30030         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
30031         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
30033         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
30034         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
30035         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30036         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
30037         'long double'.
30038         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
30040         isinf: Fix for platforms where 'long double' == 'double'.
30041         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30042         Don't blindly assume 80-bit 'long double'.
30044         isfinite: Fix for platforms where 'long double' == 'double'.
30045         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30046         Don't blindly assume 80-bit 'long double'.
30048         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
30049         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
30050         * modules/isfinite-tests (configure.ac): Require
30051         gl_LONG_DOUBLE_VS_DOUBLE.
30052         * modules/isinf-tests (configure.ac): Likewise.
30053         * modules/isnan-tests (configure.ac): Likewise.
30054         * modules/isnanl-tests (configure.ac): Likewise.
30055         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
30056         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
30057         tests on platforms where 'long double' is the same as 'double'.
30058         * tests/test-isinf.c (test_isinfl): Likewise.
30059         * tests/test-isnan.c (test_long_double): Likewise.
30060         * tests/test-isnanl.h (main): Likewise.
30062 2011-10-08  Bruno Haible  <bruno@clisp.org>
30064         Tests for module 'tanhf'.
30065         * modules/tanhf-tests: New file.
30066         * tests/test-tanhf.c: New file.
30068         New module 'tanhf'.
30069         * lib/math.in.h (tanhf): New declaration.
30070         * lib/tanhf.c: New file.
30071         * m4/tanhf.m4: New file.
30072         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
30073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
30074         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
30075         * modules/tanhf: New file.
30076         * tests/test-math-c++.cc: Check the declaration of tanhf.
30077         * doc/posix-functions/tanhf.texi: Mention the new module.
30079         tanh: Use a .m4 file.
30080         * m4/tanh.m4: New file.
30081         * modules/tanh (Files): Add it.
30082         (configure.ac): Just invoke gl_FUNC_TANH.
30084 2011-10-08  Bruno Haible  <bruno@clisp.org>
30086         Tests for module 'coshf'.
30087         * modules/coshf-tests: New file.
30088         * tests/test-coshf.c: New file.
30090         New module 'coshf'.
30091         * lib/math.in.h (coshf): New declaration.
30092         * lib/coshf.c: New file.
30093         * m4/coshf.m4: New file.
30094         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
30095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
30096         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
30097         * modules/coshf: New file.
30098         * tests/test-math-c++.cc: Check the declaration of coshf.
30099         * doc/posix-functions/coshf.texi: Mention the new module.
30101         cosh: Use a .m4 file.
30102         * m4/cosh.m4: New file.
30103         * modules/cosh (Files): Add it.
30104         (configure.ac): Just invoke gl_FUNC_COSH.
30106 2011-10-08  Bruno Haible  <bruno@clisp.org>
30108         Tests for module 'sinhf'.
30109         * modules/sinhf-tests: New file.
30110         * tests/test-sinhf.c: New file.
30112         New module 'sinhf'.
30113         * lib/math.in.h (sinhf): New declaration.
30114         * lib/sinhf.c: New file.
30115         * m4/sinhf.m4: New file.
30116         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
30117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
30118         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
30119         * modules/sinhf: New file.
30120         * tests/test-math-c++.cc: Check the declaration of sinhf.
30121         * doc/posix-functions/sinhf.texi: Mention the new module.
30123         sinh: Use a .m4 file.
30124         * m4/sinh.m4: New file.
30125         * modules/sinh (Files): Add it.
30126         (configure.ac): Just invoke gl_FUNC_SINH.
30128 2011-10-08  Bruno Haible  <bruno@clisp.org>
30130         Tests for module 'atan2f'.
30131         * modules/atan2f-tests: New file.
30132         * tests/test-atan2f.c: New file.
30134         New module 'atan2f'.
30135         * lib/math.in.h (atan2f): New declaration.
30136         * lib/atan2f.c: New file.
30137         * m4/atan2f.m4: New file.
30138         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
30139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
30140         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
30141         * modules/atan2f: New file.
30142         * tests/test-math-c++.cc: Check the declaration of atan2f.
30143         * doc/posix-functions/atan2f.texi: Mention the new module.
30145         atan2: Use a .m4 file.
30146         * m4/atan2.m4: New file.
30147         * modules/atan2 (Files): Add it.
30148         (configure.ac): Just invoke gl_FUNC_ATAN2.
30150 2011-10-08  Bruno Haible  <bruno@clisp.org>
30152         Tests for module 'atanf'.
30153         * modules/atanf-tests: New file.
30154         * tests/test-atanf.c: New file.
30156         New module 'atanf'.
30157         * lib/math.in.h (atanf): New declaration.
30158         * lib/atanf.c: New file.
30159         * m4/atanf.m4: New file.
30160         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
30161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
30162         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
30163         * modules/atanf: New file.
30164         * tests/test-math-c++.cc: Check the declaration of atanf.
30165         * doc/posix-functions/atanf.texi: Mention the new module.
30167         atan: Use a .m4 file.
30168         * m4/atan.m4: New file.
30169         * modules/atan (Files): Add it.
30170         (configure.ac): Just invoke gl_FUNC_ATAN.
30172 2011-10-08  Bruno Haible  <bruno@clisp.org>
30174         Tests for module 'acosf'.
30175         * modules/acosf-tests: New file.
30176         * tests/test-acosf.c: New file.
30178         New module 'acosf'.
30179         * lib/math.in.h (acosf): New declaration.
30180         * lib/acosf.c: New file.
30181         * m4/acosf.m4: New file.
30182         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
30183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
30184         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
30185         * modules/acosf: New file.
30186         * tests/test-math-c++.cc: Check the declaration of acosf.
30187         * doc/posix-functions/acosf.texi: Mention the new module.
30189         acos: Use a .m4 file.
30190         * m4/acos.m4: New file.
30191         * modules/acos (Files): Add it.
30192         (configure.ac): Just invoke gl_FUNC_ACOS.
30194 2011-10-08  Bruno Haible  <bruno@clisp.org>
30196         Tests for module 'asinf'.
30197         * modules/asinf-tests: New file.
30198         * tests/test-asinf.c: New file.
30200         New module 'asinf'.
30201         * lib/math.in.h (asinf): New declaration.
30202         * lib/asinf.c: New file.
30203         * m4/asinf.m4: New file.
30204         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
30205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
30206         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
30207         * modules/asinf: New file.
30208         * tests/test-math-c++.cc: Check the declaration of asinf.
30209         * doc/posix-functions/asinf.texi: Mention the new module.
30211         asin: Use a .m4 file.
30212         * m4/asin.m4: New file.
30213         * modules/asin (Files): Add it.
30214         (configure.ac): Just invoke gl_FUNC_ASIN.
30216 2011-10-08  Bruno Haible  <bruno@clisp.org>
30218         Tests for module 'tanf'.
30219         * modules/tanf-tests: New file.
30220         * tests/test-tanf.c: New file.
30222         New module 'tanf'.
30223         * lib/math.in.h (tanf): New declaration.
30224         * lib/tanf.c: New file.
30225         * m4/tanf.m4: New file.
30226         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
30227         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
30228         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
30229         * modules/tanf: New file.
30230         * tests/test-math-c++.cc: Check the declaration of tanf.
30231         * doc/posix-functions/tanf.texi: Mention the new module.
30233         tan: Use a .m4 file.
30234         * m4/tan.m4: New file.
30235         * modules/tan (Files): Add it.
30236         (configure.ac): Just invoke gl_FUNC_TAN.
30238 2011-10-08  Bruno Haible  <bruno@clisp.org>
30240         Tests for module 'cosf'.
30241         * modules/cosf-tests: New file.
30242         * tests/test-cosf.c: New file.
30244         New module 'cosf'.
30245         * lib/math.in.h (cosf): New declaration.
30246         * lib/cosf.c: New file.
30247         * m4/cosf.m4: New file.
30248         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
30249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
30250         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
30251         * modules/cosf: New file.
30252         * tests/test-math-c++.cc: Check the declaration of cosf.
30253         * doc/posix-functions/cosf.texi: Mention the new module.
30255         cos: Use a .m4 file.
30256         * m4/cos.m4: New file.
30257         * modules/cos (Files): Add it.
30258         (configure.ac): Just invoke gl_FUNC_COS.
30260 2011-10-08  Bruno Haible  <bruno@clisp.org>
30262         Tests for module 'sinf'.
30263         * modules/sinf-tests: New file.
30264         * tests/test-sinf.c: New file.
30266         New module 'sinf'.
30267         * lib/math.in.h (sinf): New declaration.
30268         * lib/sinf.c: New file.
30269         * m4/sinf.m4: New file.
30270         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
30271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
30272         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
30273         * modules/sinf: New file.
30274         * tests/test-math-c++.cc: Check the declaration of sinf.
30275         * doc/posix-functions/sinf.texi: Mention the new module.
30277         sin: Use a .m4 file.
30278         * m4/sin.m4: New file.
30279         * modules/sin (Files): Add it.
30280         (configure.ac): Just invoke gl_FUNC_SIN.
30282 2011-10-08  Bruno Haible  <bruno@clisp.org>
30284         Tests for module 'powf'.
30285         * modules/powf-tests: New file.
30286         * tests/test-powf.c: New file.
30288         New module 'powf'.
30289         * lib/math.in.h (powf): New declaration.
30290         * lib/powf.c: New file.
30291         * m4/powf.m4: New file.
30292         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
30293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
30294         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
30295         * modules/powf: New file.
30296         * tests/test-math-c++.cc: Check the declaration of powf.
30297         * doc/posix-functions/powf.texi: Mention the new module.
30299         pow: Use a .m4 file.
30300         * m4/pow.m4: New file.
30301         * modules/pow (Files): Add it.
30302         (configure.ac): Just invoke gl_FUNC_POW.
30304 2011-10-08  Bruno Haible  <bruno@clisp.org>
30306         Tests for module 'log10f'.
30307         * modules/log10f-tests: New file.
30308         * tests/test-log10f.c: New file.
30310         New module 'log10f'.
30311         * lib/math.in.h (log10f): New declaration.
30312         * lib/log10f.c: New file.
30313         * m4/log10f.m4: New file.
30314         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
30315         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
30316         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
30317         * modules/log10f: New file.
30318         * tests/test-math-c++.cc: Check the declaration of log10f.
30319         * doc/posix-functions/log10f.texi: Mention the new module.
30321         log10: Use a .m4 file.
30322         * m4/log10.m4: New file.
30323         * modules/log10 (Files): Add it.
30324         (configure.ac): Just invoke gl_FUNC_LOG10.
30326 2011-10-08  Bruno Haible  <bruno@clisp.org>
30328         Tests for module 'logf'.
30329         * modules/logf-tests: New file.
30330         * tests/test-logf.c: New file.
30332         New module 'logf'.
30333         * lib/math.in.h (logf): New declaration.
30334         * lib/logf.c: New file.
30335         * m4/logf.m4: New file.
30336         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
30337         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
30338         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
30339         * modules/logf: New file.
30340         * tests/test-math-c++.cc: Check the declaration of logf.
30341         * doc/posix-functions/logf.texi: Mention the new module.
30343         log: Use a .m4 file.
30344         * m4/log.m4: New file.
30345         * modules/log (Files): Add it.
30346         (configure.ac): Just invoke gl_FUNC_LOG.
30348 2011-10-08  Bruno Haible  <bruno@clisp.org>
30350         Tests for module 'expf'.
30351         * modules/expf-tests: New file.
30352         * tests/test-expf.c: New file.
30354         New module 'expf'.
30355         * lib/math.in.h (expf): New declaration.
30356         * lib/expf.c: New file.
30357         * m4/expf.m4: New file.
30358         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
30359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
30360         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
30361         * modules/expf: New file.
30362         * tests/test-math-c++.cc: Check the declaration of expf.
30363         * doc/posix-functions/expf.texi: Mention the new module.
30365         exp: Use a .m4 file.
30366         * m4/exp.m4: New file.
30367         * modules/exp (Files): Add it.
30368         (configure.ac): Just invoke gl_FUNC_EXP.
30370 2011-10-08  Bruno Haible  <bruno@clisp.org>
30372         Tests for module 'sqrtf'.
30373         * modules/sqrtf-tests: New file.
30374         * tests/test-sqrtf.c: New file.
30376         New module 'sqrtf'.
30377         * lib/math.in.h (sqrtf): New declaration.
30378         * lib/sqrtf.c: New file.
30379         * m4/sqrtf.m4: New file.
30380         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
30381         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
30382         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
30383         * modules/sqrtf: New file.
30384         * tests/test-math-c++.cc: Check the declaration of sqrtf.
30385         * doc/posix-functions/sqrtf.texi: Mention the new module.
30387 2011-10-08  Bruno Haible  <bruno@clisp.org>
30389         Tests: Avoid link failures w.r.t. libintl.
30390         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
30391         $(LIBINTL).
30392         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
30393         $(LIBINTL).
30394         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
30395         against $(LIBINTL).
30396         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
30397         $(LIBINTL).
30398         * modules/openat-tests (Makefile.am): Link test-fchmodat against
30399         $(LIBINTL).
30400         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
30402 2011-10-08  Bruno Haible  <bruno@clisp.org>
30404         pow tests: Defeat compiler optimizations.
30405         * tests/test-pow.c (main): Assign arguments to x and y before use.
30407 2011-10-08  Bruno Haible  <bruno@clisp.org>
30409         gnulib-tool: Improve last commit.
30410         * gnulib-tool (func_modules_transitive_closure): Simplify code.
30411         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
30412         ignore dependencies that are not among the modules list.
30414 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
30416         gnulib-tool: don't follow dependencies to avoided modules
30417         This fixes a bug that is related to the previous one.
30418         * gnulib-tool (func_modules_transitive_closure)
30419         (func_emit_autoconf_snippets):
30420         Check whether a dependency is acceptable before using it.
30421         (--extract-dependencies): Report an error if --avoid is also used,
30422         since this combination of options is not yet supported.
30424         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
30425         Problem reported by Peter Dyballa in
30426         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
30427         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
30428         when echoing "$condition".
30430 2011-10-07  Bruno Haible  <bruno@clisp.org>
30432         Fix documentation about math functions on MacOS X.
30433         * doc/posix-functions/exp2.texi: Don't say the function is missing on
30434         MacOS X 10.5.
30435         * doc/posix-functions/fdim.texi: Likewise.
30436         * doc/posix-functions/feclearexcept.texi: Likewise.
30437         * doc/posix-functions/fegetenv.texi: Likewise.
30438         * doc/posix-functions/fegetround.texi: Likewise.
30439         * doc/posix-functions/feholdexcept.texi: Likewise.
30440         * doc/posix-functions/feraiseexcept.texi: Likewise.
30441         * doc/posix-functions/fesetenv.texi: Likewise.
30442         * doc/posix-functions/fesetround.texi: Likewise.
30443         * doc/posix-functions/fetestexcept.texi: Likewise.
30444         * doc/posix-functions/feupdateenv.texi: Likewise.
30445         * doc/posix-functions/fmax.texi: Likewise.
30446         * doc/posix-functions/fmin.texi: Likewise.
30447         * doc/posix-functions/log2.texi: Likewise.
30448         * doc/posix-functions/modff.texi: Likewise.
30449         * doc/posix-functions/nan.texi: Likewise.
30450         * doc/posix-functions/nanf.texi: Likewise.
30451         * doc/posix-functions/nextafterf.texi: Likewise.
30452         * doc/posix-functions/remquo.texi: Likewise.
30454 2011-10-07  Bruno Haible  <bruno@clisp.org>
30456         modff: Drop assumption about library that defines modff.
30457         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
30458         AC_CHECK_FUNCS.
30459         * modules/modff (Files): Add m4/mathfunc.m4.
30461 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
30463         raise tests: Avoid a GCC warning.
30464         * tests/test-raise.c (handler): Use _Noreturn.
30466 2011-10-07  Bruno Haible  <bruno@clisp.org>
30468         Tests for module 'ldexpf'.
30469         * modules/ldexpf-tests: New file.
30470         * tests/test-ldexpf.c: New file.
30472         New module 'ldexpf'.
30473         * lib/math.in.h (ldexpf): New declaration.
30474         * lib/ldexpf.c: New file.
30475         * m4/ldexpf.m4: New file.
30476         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
30477         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
30478         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
30479         * modules/ldexpf: New file.
30480         * tests/test-math-c++.cc: Check the declaration of ldexpf.
30481         * doc/posix-functions/ldexpf.texi: Mention the new module.
30483 2011-10-06  Bruno Haible  <bruno@clisp.org>
30485         frexpf: Work around problems on IRIX and mingw.
30486         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
30487         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
30488         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
30489         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
30490         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
30491         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
30492         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
30494 2011-10-06  Bruno Haible  <bruno@clisp.org>
30496         fabsf: Drop assumption about library that defines fabsf.
30497         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
30498         AC_CHECK_FUNCS.
30499         * modules/fabsf (Files): Add m4/mathfunc.m4.
30501 2011-10-06  Bruno Haible  <bruno@clisp.org>
30503         frexpf: Drop assumption about library that defines frexpf.
30504         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
30505         'int *', 'float *', 'long double *', 'float', 'long double'.
30506         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
30507         AC_CHECK_FUNCS.
30508         * modules/frexpf (Files): Add m4/mathfunc.m4.
30510         Tests for module 'frexpf'.
30511         * modules/frexpf-tests: New file.
30512         * tests/test-frexpf.c: New file.
30514         New module 'frexpf'.
30515         * lib/math.in.h (frexpf): New declaration.
30516         * lib/frexpf.c: New file.
30517         * m4/frexpf.m4: New file.
30518         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
30519         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
30520         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
30521         * modules/frexpf: New file.
30522         * tests/test-math-c++.cc: Check the declaration of frexpf.
30523         * doc/posix-functions/frexpf.texi: Mention the new module.
30525 2011-10-06  Bruno Haible  <bruno@clisp.org>
30527         math: Sort function declarations of math.in.h.
30528         * lib/math.in.h (frexp, logb): Move declarations.
30530 2011-10-05  Bruno Haible  <bruno@clisp.org>
30532         Tests for module 'modff'.
30533         * modules/modff-tests: New file.
30534         * tests/test-modff.c: New file.
30536         New module 'modff'.
30537         * lib/math.in.h (modff): New declaration.
30538         * lib/modff.c: New file.
30539         * m4/modff.m4: New file.
30540         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
30541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
30542         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
30543         * modules/modff: New file.
30544         * tests/test-math-c++.cc: Check the declaration of modff.
30545         * doc/posix-functions/modff.texi: Mention the new module.
30547         modf tests: Make test sharper.
30548         * tests/test-modf.c (main): Strengthen upper bound.
30550         modf: Use a .m4 file.
30551         * m4/modf.m4: New file.
30552         * modules/modf (Files): Add it.
30553         (configure.ac): Just invoke gl_FUNC_MODF.
30555 2011-10-05  Bruno Haible  <bruno@clisp.org>
30557         Tests for module 'fmodf'.
30558         * modules/fmodf-tests: New file.
30559         * tests/test-fmodf.c: New file.
30561         New module 'fmodf'.
30562         * lib/math.in.h (fmodf): New declaration.
30563         * lib/fmodf.c: New file.
30564         * m4/fmodf.m4: New file.
30565         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
30566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
30567         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
30568         * modules/fmodf: New file.
30569         * tests/test-math-c++.cc: Check the declaration of fmodf.
30570         * doc/posix-functions/fmodf.texi: Mention the new module.
30572         fmod: Use a .m4 file.
30573         * m4/fmod.m4: New file.
30574         * modules/fmod (Files): Add it.
30575         (configure.ac): Just invoke gl_FUNC_FMOD.
30577 2011-10-05  Bruno Haible  <bruno@clisp.org>
30579         Tests for module 'fabsf'.
30580         * modules/fabsf-tests: New file.
30581         * tests/test-fabsf.c: New file.
30583         New module 'fabsf'.
30584         * lib/math.in.h (fabsf): New declaration.
30585         * lib/fabsf.c: New file.
30586         * m4/fabsf.m4: New file.
30587         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
30588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
30589         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
30590         * modules/fabsf: New file.
30591         * tests/test-math-c++.cc: Check the declaration of fabsf.
30592         * doc/posix-functions/fabsf.texi: Mention the new module.
30594         fabs: Use a .m4 file.
30595         * m4/fabs.m4: New file.
30596         * modules/fabs (Files): Add it.
30597         (configure.ac): Just invoke gl_FUNC_FABS.
30599 2011-10-05  Jim Meyering  <meyering@redhat.com>
30601         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
30602         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
30603         ls -lL regression introduced in coreutils-8.12, it does so at the
30604         cost of an additional stat call in the common case.  Besides, now
30605         that the kernel change that prompted commit 95f7c57f has been reverted
30606         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
30607         we have no use for commit 95f7c57f, "file-has-acl: use
30608         acl_extended_file_nofollow if available".
30610 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
30612         file-has-acl: revert unintended change in behavior of ls -L
30613         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
30614         derived from...
30615         (file_has_acl): ...code here.  Call it.
30616         This problem was introduced with 2011-07-22 commit 95f7c57f,
30617         "file-has-acl: use acl_extended_file_nofollow if available".
30618         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
30620 2011-10-03  Bruno Haible  <bruno@clisp.org>
30622         poll: Avoid link errors on MSVC.
30623         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
30624         * modules/poll (Depends-on): Add sockets.
30625         (Link): New section.
30626         * NEWS: Mention the change.
30627         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
30628         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
30629         $(LIB_POLL) instead of $(LIBSOCKET).
30631 2011-10-03  Bruno Haible  <bruno@clisp.org>
30633         sys_select tests: Fix link error on MSVC 9.
30634         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
30635         with $(LIB_SELECT) instead of $(LIBSOCKET).
30637 2011-10-03  Bruno Haible  <bruno@clisp.org>
30639         sys_select: Fix compilation error on mingw.
30640         * lib/sys_select.in.h: On native Windows, include <io.h>.
30642 2011-10-03  Bruno Haible  <bruno@clisp.org>
30644         wmemset: Support for MSVC.
30645         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
30646         whether wmemset() exists.
30648 2011-10-03  Bruno Haible  <bruno@clisp.org>
30650         wmemmove: Support for MSVC.
30651         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
30652         whether wmemmove() exists.
30654 2011-10-03  Bruno Haible  <bruno@clisp.org>
30656         wmemcpy: Support for MSVC.
30657         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
30658         whether wmemcpy() exists.
30660 2011-10-03  Bruno Haible  <bruno@clisp.org>
30662         wmemcmp: Support for MSVC.
30663         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
30664         whether wmemcmp() exists.
30666 2011-10-03  Bruno Haible  <bruno@clisp.org>
30668         wmemchr: Support for MSVC.
30669         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
30670         whether wmemchr() exists.
30672 2011-10-03  Bruno Haible  <bruno@clisp.org>
30674         glthread/*, strsignal: Support for MSVC.
30675         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
30676         including <winsock.h> on MSVC 9.
30677         * lib/glthread/lock.h: Likewise.
30678         * lib/glthread/thread.h: Likewise.
30679         * lib/glthread/tls.h: Likewise.
30680         * lib/glthread/yield.h: Likewise.
30681         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
30682         if HAVE_UNISTD_H is false.
30683         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
30685 2011-10-03  Bruno Haible  <bruno@clisp.org>
30687         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
30688         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
30689         Set to 100000.
30691 2011-10-03  Bruno Haible  <bruno@clisp.org>
30693         acl: Fix specification.
30694         * lib/file-has-acl.c (file_has_acl): Fix specification.
30696 2011-10-03  Bruno Haible  <bruno@clisp.org>
30698         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
30699         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
30700         (compute_curr_prefix, shared_library_fullname,
30701         find_shared_library_fullname, get_shared_library_fullname, relocate):
30702         Use it together with PIC && INSTALLDIR.
30703         Reported by <jojelino@gmail.com>
30704         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
30706 2011-10-01  Jim Meyering  <meyering@redhat.com>
30708         maint.mk: adjust a release-related rule not to require use of gzip
30709         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
30710         Instead, check each file in $(DIST_ARCHIVES).  This is better for
30711         projects that build only .tar.xz files.  Also fix an erroneous test.
30713         test-linkat: don't leave behind a temporary file
30714         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
30715         Otherwise, coreutils' "make distcheck" would fail with this:
30716           Only in /c/cu/tests/torture/coreutils/test/\
30717             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
30718           make[2]: *** [my-distcheck] Error 1
30720         float, math: add omitted file
30721         * lib/itold.c: Add file, required for yesterday's float change.
30723 2011-10-01  Bruno Haible  <bruno@clisp.org>
30725         isinf: Fix for OpenBSD/x86.
30726         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
30727         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
30728         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
30730 2011-10-01  Bruno Haible  <bruno@clisp.org>
30732         isfinite: Fix syntax error in configure test.
30733         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
30735         isfinite: Fix typo.
30736         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
30737         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
30739 2011-10-01  Bruno Haible  <bruno@clisp.org>
30741         nonblocking tests: Fix test failure on Linux/IA-64.
30742         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30743         Set to 270000.
30745 2011-10-01  Bruno Haible  <bruno@clisp.org>
30747         mkfifoat tests: Fix a test failure on mingw.
30748         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30749         with error ENOSYS.
30751 2011-09-30  Bruno Haible  <bruno@clisp.org>
30753         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30754         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30755         'long double'. Set REPLACE_ITOLD.
30756         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30757         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30758         * lib/itold.c: New file.
30759         * modules/float (Files): Add lib/itold.c.
30760         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30761         (Makefile.am): Substitute REPLACE_ITOLD.
30762         * modules/math (Depends-on): Add float.
30763         (Makefile.am): Substitute REPLACE_ITOLD.
30764         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30765         * doc/posix-headers/math.texi: Likewise.
30766         * doc/posix-functions/logl.texi: Likewise.
30768 2011-09-30  Bruno Haible  <bruno@clisp.org>
30770         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30771         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30772         Set to 140000.
30774 2011-09-30  Bruno Haible  <bruno@clisp.org>
30776         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30777         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30778         invocation, say "right after AC_PROG_CC_STDC", not "right after
30779         AC_PROG_CC".
30780         Reported by Gary V. Vaughan <gary@gnu.org>.
30782 2011-09-30  Bruno Haible  <bruno@clisp.org>
30784         Centralize C99 requirement.
30785         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30786         * modules/stdarg (configure.ac-early): Invoke it instead of
30787         AC_PROG_CC_STDC.
30788         Reported by Gary V. Vaughan and Paul Eggert.
30790 2011-09-29  Bruno Haible  <bruno@clisp.org>
30792         float: Fix LDBL_MAX value on Linux/PowerPC.
30793         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30794         on Linux/PowerPC.
30795         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30796         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30797         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30798         platform.
30799         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30801 2011-09-29  Bruno Haible  <bruno@clisp.org>
30803         doc: Improve doc about gl_EARLY.
30804         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30805         AC_PROG_CC_STDC invocation.
30806         Reported by Gary V. Vaughan <gary@gnu.org>.
30808 2011-09-28  Bruno Haible  <bruno@clisp.org>
30810         fgetc, fputc, fread, fwrite tests: Fix link error.
30811         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30812         on non-MSVC platforms.
30813         * tests/test-fputc.c (main): Likewise.
30814         * tests/test-fread.c (main): Likewise.
30815         * tests/test-fwrite.c (main): Likewise.
30816         Reported by Jim Meyering.
30818 2011-09-27  Bruno Haible  <bruno@clisp.org>
30820         fputc, fwrite tests: Avoid test failure on MSVC.
30821         * tests/test-fgetc.c: Include msvc-inval.h.
30822         (main): Invoke gl_msvc_inval_ensure_handler.
30823         * tests/test-fputc.c: Include msvc-inval.h.
30824         (main): Invoke gl_msvc_inval_ensure_handler.
30825         * tests/test-fread.c: Include msvc-inval.h.
30826         (main): Invoke gl_msvc_inval_ensure_handler.
30827         * tests/test-fwrite.c: Include msvc-inval.h.
30828         (main): Invoke gl_msvc_inval_ensure_handler.
30829         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30830         * modules/fputc-tests (Depends-on): Likewise.
30831         * modules/fread-tests (Depends-on): Likewise.
30832         * modules/fwrite-tests (Depends-on): Likewise.
30834 2011-09-27  Bruno Haible  <bruno@clisp.org>
30836         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30837         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30838         (raise): Remove older, duplicated declaration.
30839         (_gl_raise_SIGPIPE): New declaration.
30840         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30841         (rpl_raise): Remove function.
30842         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30843         a gnulib-defined SIGPIPE here.
30844         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30845         'sigprocmask' has detected missing signal-blocking and the module
30846         'sigpipe' is enabled.
30847         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30849 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30851         base64-tests: avoid memory leak
30852         * tests/test-base64.c (main): Plug memory leak.
30854         base32: new module
30855         * modules/base32: New module.
30856         * lib/base32.c: New file.
30857         * lib/base32.h: Likewise.
30858         * m4/base32.m4: Likewise.
30859         * modules/base32-tests: New test.
30860         * tests/test-base32.c: Likewise.
30861         * MODULES.html.sh (Misc): Mention it.
30863 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30865         gnulib: use more-standard license notice wording
30866         * gnulib-tool (func_emit_copyright_notice): When emitting a
30867         license notice into a file, use the standard wording as suggested
30868         by the current information for GNU maintainers, except say "file"
30869         rather than "program".  The new wording gives a license version
30870         number, which addresses an issue raised by Glenn Morris in
30871         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30872         * m4/onceonly.m4: Use that same wording here, too.
30874         dup2: minor simplification
30875         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30876         as lib/dup2.c no longer uses 'inline'.
30878 2011-09-25  Bruno Haible  <bruno@clisp.org>
30880         strings: Fix compilation error on MSVC.
30881         * lib/strings.in.h: Include <stddef.h> for size_t.
30883 2011-09-25  Bruno Haible  <bruno@clisp.org>
30885         fflush et al.: Document limitation on MSVC.
30886         * doc/posix-functions/fflush.texi: Document possible crash in handling
30887         mode other than DEFAULT_HANDLING.
30888         * doc/posix-functions/fgetc.texi: Likewise.
30889         * doc/posix-functions/fputc.texi: Likewise.
30890         * doc/posix-functions/fread.texi: Likewise.
30891         * doc/posix-functions/fwrite.texi: Likewise.
30893 2011-09-25  Bruno Haible  <bruno@clisp.org>
30895         msvc-inval: Allow three invalid parameter handling modes.
30896         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30897         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30898         macros.
30899         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30900         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30901         SANE_LIBRARY_HANDLING as a no-op.
30902         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30903         <stdlib.h>.
30904         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30906 2011-09-25  Bruno Haible  <bruno@clisp.org>
30908         msvc-inval: Make handler multithread-safe.
30909         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30910         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30911         declarations.
30912         (gl_msvc_inval_current): New declaration.
30913         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30914         Operate on the structure returned by gl_msvc_inval_current().
30915         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30916         Remove varaiables.
30917         (tls_index, tls_initialized): New variables.
30918         (not_per_thread): New variable.
30919         (gl_msvc_inval_current): New function.
30920         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30921         returned by gl_msvc_inval_current().
30923 2011-09-25  Bruno Haible  <bruno@clisp.org>
30925         msvc-inval: Install handler globally.
30926         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30927         !_MSC_VER.
30928         (gl_msvc_invalid_parameter_handler): Remove declaration.
30929         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30930         declarations.
30931         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30932         Install the handler globally, don't uninstall it.
30933         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30934         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30935         currently valid, call RaiseException instead.
30936         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30937         for !_MSC_VER.
30939 2011-09-25  Bruno Haible  <bruno@clisp.org>
30941         strerror_r-posix: Fix for MSVC 9.
30942         * lib/strerror_r.c (local_snprintf): New function.
30943         (snprintf): Define to local_snprintf, not to _snprintf.
30945 2011-09-25  Bruno Haible  <bruno@clisp.org>
30947         ftruncate: Support for MSVC 9.
30948         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30949         (chsize_nothrow): New function.
30950         (chsize): Redefine as a macro.
30951         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30952         * modules/ftruncate (Depends-on): Add msvc-inval.
30954 2011-09-25  Bruno Haible  <bruno@clisp.org>
30956         New module 'fstat'.
30957         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30958         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30959         * lib/fchdir.c (rpl_fstat): Remove function.
30960         * m4/fstat.m4: New file.
30961         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30962         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30963         declared.
30964         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
30965         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
30966         * modules/fstat: New file.
30967         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
30968         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
30969         is set.
30970         * doc/posix-functions/fstat.texi: Mention the new module and the
30971         problem on MSVC.
30972         * NEWS: Mention the change.
30973         * modules/acl (Depends-on): Add fstat.
30974         * modules/chdir-safer (Depends-on): Likewise.
30975         * modules/chown (Depends-on): Likewise.
30976         * modules/copy-file (Depends-on): Likewise.
30977         * modules/fchdir (Depends-on): Likewise.
30978         * modules/fdopendir (Depends-on): Likewise.
30979         * modules/fopen (Depends-on): Likewise.
30980         * modules/fts (Depends-on): Likewise.
30981         * modules/getcwd (Depends-on): Likewise.
30982         * modules/isapipe (Depends-on): Likewise.
30983         * modules/linkat (Depends-on): Likewise.
30984         * modules/lseek (Depends-on): Likewise.
30985         * modules/mkdir-p (Depends-on): Likewise.
30986         * modules/open (Depends-on): Likewise.
30987         * modules/openat (Depends-on): Likewise.
30988         * modules/read-file (Depends-on): Likewise.
30989         * modules/renameat (Depends-on): Likewise.
30990         * modules/utimens (Depends-on): Likewise.
30992 2011-09-25  Bruno Haible  <bruno@clisp.org>
30994         linkat: Fix compilation on MSVC 9.
30995         * lib/linkat.c: Don't include <stdint.h>.
30997 2011-09-25  Bruno Haible  <bruno@clisp.org>
30999         fclose: Support for MSVC 9.
31000         * lib/fclose.c: Include msvc-inval.h.
31001         (fclose_nothrow): New function.
31002         (rpl_fclose): Use it.
31003         * modules/fclose (Depends-on): Add msvc-inval.
31004         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
31006 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
31008         dup2: minor simplifications
31009         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
31010         that it's a performance win.
31011         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
31012         ! defined __CYGWIN__)" to "ifdef F_GETFL".
31014 2011-09-24  Jim Meyering  <meyering@redhat.com>
31016         test-futimens: avoid a warning from gcc -Wshadow
31017         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
31018         to avoid a shadowing warning.
31020 2011-09-24  Bruno Haible  <bruno@clisp.org>
31022         fdopen: Support for MSVC 9.
31023         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
31024         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
31025         * lib/fdopen.c: Include msvc-inval.h.
31026         (fdopen_nothrow): New function.
31027         (rpl_fdopen): Use it.
31028         * modules/fdopen (Depends-on): Add msvc-inval.
31029         * modules/fclose-tests (Depends-on): Add fdopen.
31030         * modules/fflush-tests (Depends-on): Likewise.
31031         * modules/fgetc-tests (Depends-on): Likewise.
31032         * modules/fputc-tests (Depends-on): Likewise.
31033         * modules/fread-tests (Depends-on): Likewise.
31034         * modules/freopen-tests (Depends-on): Likewise.
31035         * modules/fseeko-tests (Depends-on): Likewise.
31036         * modules/ftello-tests (Depends-on): Likewise.
31037         * modules/fwrite-tests  (Depends-on): Likewise.
31038         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
31040 2011-09-24  Bruno Haible  <bruno@clisp.org>
31042         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
31043         * modules/fgetc-tests (Depends-on): Add unistd.
31044         * modules/fputc-tests (Depends-on): Likewise.
31045         * modules/fread-tests (Depends-on): Likewise.
31046         * modules/fwrite-tests (Depends-on): Likewise.
31048 2011-09-24  Bruno Haible  <bruno@clisp.org>
31050         dup: Simplify autoconf test.
31051         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
31052         on gl_MSVC_INVAL's result.
31054 2011-09-24  Bruno Haible  <bruno@clisp.org>
31056         Tests for function fwrite().
31057         * modules/fwrite-tests: New file.
31058         * tests/test-fwrite.c: New file.
31059         * modules/stdio-tests (Depends-on): Add fwrite-tests.
31061         Tests for function fread().
31062         * modules/fread-tests: New file.
31063         * tests/test-fread.c: New file.
31064         * modules/stdio-tests (Depends-on): Add fread-tests.
31066         Activate fputc tests.
31067         * modules/stdio-tests (Depends-on): Add fputc-tests.
31069         Enhance fgetc, fputc tests.
31070         * tests/test-fgetc.c (main): Also test the stream's error indicator.
31071         * tests/test-fputc.c (main): Likewise.
31073 2011-09-24  Bruno Haible  <bruno@clisp.org>
31075         write: Support for MSVC 9.
31076         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31077         is not 1.
31078         * lib/write.c (write_nothrow): New function.
31079         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
31080         not 1. Use write_nothrow.
31081         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
31082         invalid parameter handler.
31083         (gl_PREREQ_WRITE): New macro.
31084         * modules/write (Depends-on): Add msvc-inval.
31085         (configure.ac): Invoke gl_PREREQ_WRITE.
31086         * doc/posix-functions/write.texi: Mention the problem on MSVC.
31088 2011-09-24  Bruno Haible  <bruno@clisp.org>
31090         read: Fix last commit.
31091         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
31093 2011-09-24  Bruno Haible  <bruno@clisp.org>
31095         dup2: Fix last commit.
31096         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
31097         (rpl_dup2): Disable fcntl workaround on native Windows.
31099         sigprocmask: Make code safer.
31100         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
31101         section that changes macro definitions for this compilation unit.
31103 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
31105         dup2: clarify by coalescing Windows-specific material
31106         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
31107         "msvc-nothrow.h"' to the Windows-specific section, so that the
31108         Emacs source need not contain these include files.
31109         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
31110         Windows-specific fixes into this function rather than just the
31111         nothrow fix, as this shortens and clarifies the code.  Always
31112         define as a function, as that's a bit cleaner than having it be
31113         sometimes a function and sometimes a macro.
31114         (rpl_dup2): Move the Windows-specific stuff out of here and into
31115         ms_windows_dup2.  Don't protect the Haiku-related fix with
31116         "#if !defined __linux__", as the same code also works around
31117         a Linux kernel bug, and it doesn't add any system calls on any
31118         platform.  Add comment about FreeBSD 6.1.
31120         sigprocmask: move #include directive
31121         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
31122         Windows-specific section, so that the Emacs source need not
31123         contain msvc-inval.h.
31125 2011-09-23  Bruno Haible  <bruno@clisp.org>
31127         read: Support for MSVC 9.
31128         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31129         is not 1.
31130         * lib/read.c (read_nothrow): New function.
31131         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
31132         read_nothrow.
31133         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
31134         invalid parameter handler.
31135         (gl_PREREQ_READ): New macro.
31136         * modules/read (Depends-on): Add msvc-inval.
31137         (configure.ac): Invoke gl_PREREQ_READ.
31138         * doc/posix-functions/read.texi: Mention the problem on MSVC.
31140 2011-09-23  Bruno Haible  <bruno@clisp.org>
31142         close: Support for MSVC 9.
31143         * lib/close.c: Include <errno.h>, msvc-inval.h.
31144         (close_nothrow): New function.
31145         (rpl_close): Use it.
31146         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
31147         invalid parameter handler.
31148         * modules/close (Depends-on): Add msvc-inval.
31149         * modules/dup2-tests (Depends-on): Add close.
31150         * modules/dup3-tests (Depends-on): Likewise.
31151         * modules/fcntl-tests (Depends-on): Likewise.
31152         * modules/spawn-pipe-tests (Depends-on): Likewise.
31153         * modules/unistd-safer-tests (Depends-on): Likewise.
31154         * doc/posix-functions/close.texi: Mention the problem on MSVC.
31156 2011-09-23  Bruno Haible  <bruno@clisp.org>
31158         New module 'dup'.
31159         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
31160         Allow replacement.
31161         * lib/dup.c: New file.
31162         * lib/fchdir.c (rpl_dup): Remove function.
31163         * m4/dup.m4: New file.
31164         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
31165         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
31166         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
31167         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
31168         * modules/dup: New file.
31169         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
31170         'dup' module is in use.
31171         * modules/fdopendir (Depends-on): Add dup.
31172         * modules/fdutimensat-tests (Depends-on): Likewise.
31173         * modules/fts (Depends-on): Likewise.
31174         * modules/futimens-tests (Depends-on): Likewise.
31175         * modules/posix_spawnp-tests (Depends-on): Likewise.
31176         * modules/unistd-safer-tests (Depends-on): Likewise.
31177         * modules/utimens-tests (Depends-on): Likewise.
31178         * doc/posix-functions/dup.texi: Mention the new module and the problem
31179         on MSVC.
31181 2011-09-23  Bruno Haible  <bruno@clisp.org>
31183         getdtablesize: Support for MSVC 9.
31184         * lib/getdtablesize.c: Include msvc-inval.h.
31185         (_setmaxstdio_nothrow): New function.
31186         (_setmaxstdio): Redefine it.
31187         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
31188         * modules/getdtablesize (Depends-on): Add msvc-inval.
31189         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
31191 2011-09-23  Bruno Haible  <bruno@clisp.org>
31193         signal-h: Rename from signal.
31194         * modules/signal-h: Renamed from modules/signal.
31195         * modules/pthread_sigmask (Depends-on): Update.
31196         * modules/raise (Depends-on): Likewise.
31197         * modules/sigaction (Depends-on): Likewise.
31198         * modules/sigpipe (Depends-on): Likewise.
31199         * modules/sigprocmask (Depends-on): Likewise.
31200         * modules/sys_select (Depends-on): Likewise.
31201         * modules/signal-h-tests: Renamed from modules/signal-tests.
31202         (Files, Depends-on, Makefile.am): Update.
31203         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
31204         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
31205         (Files, Makefile.am): Update.
31206         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
31207         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
31208         * modules/signal: New placeholder file.
31209         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
31210         * doc/posix-headers/signal.texi: Update.
31211         * NEWS: Mention the change.
31213 2011-09-23  Bruno Haible  <bruno@clisp.org>
31215         sigprocmask: Avoid crashes through signal() on MSVC 9.
31216         * lib/sigprocmask.c: Include msvc-inval.h.
31217         (signal_nothrow): New function.
31218         (signal): Redefine it.
31219         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
31220         * modules/sigprocmask (Depends-on): Add msvc-inval.
31221         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
31223 2011-09-23  Bruno Haible  <bruno@clisp.org>
31225         Tests for module 'raise'.
31226         * modules/raise-tests: New file.
31227         * tests/test-raise.c: New file.
31229         raise: Support for MSVC.
31230         * lib/signal.in.h (raise): New declaration.
31231         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
31232         for native Windows platforms.
31233         * m4/raise.m4: New file.
31234         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
31235         HAVE_RAISE, REPLACE_RAISE.
31236         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
31237         REPLACE_RAISE.
31238         * modules/raise (Status, Notice): Remove fields.
31239         (Files): Add m4/raise.m4.
31240         (Depends-on): Add signal, msvc-inval.
31241         (configure.ac): Use the common idioms.
31242         (Maintainer): Add me.
31243         * tests/test-signal-c++.cc: Check the signature of raise.
31244         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
31246 2011-09-23  Bruno Haible  <bruno@clisp.org>
31248         pipe2: Fix compilation on pre-C99 compilers.
31249         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
31251 2011-09-23  Bruno Haible  <bruno@clisp.org>
31253         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
31254         * lib/msvc-nothrow.h: New file.
31255         * lib/msvc-nothrow.c: New file.
31256         * m4/msvc-nothrow.m4: New file.
31257         * modules/msvc-nothrow: New file.
31258         * lib/dup2.c: Include msvc-nothrow.h.
31259         (rpl_dup2): No need to protect _get_osfhandle call here.
31260         * lib/accept4.c: Include msvc-nothrow.h.
31261         * lib/error.c: Likewise.
31262         * lib/fcntl.c: Likewise.
31263         * lib/lseek.c: Likewise.
31264         * lib/nonblocking.c: Likewise.
31265         * lib/poll.c: Likewise.
31266         * lib/read.c: Likewise.
31267         * lib/select.c: Likewise.
31268         * lib/sockets.h: Likewise.
31269         * lib/sockets.c: Likewise.
31270         * lib/stdio-read.c: Likewise.
31271         * lib/stdio-write.c: Likewise.
31272         * lib/write.c: Likewise.
31273         * lib/w32sock.h: Likewise.
31274         * lib/w32spawn.h: Likewise.
31275         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
31276         * lib/fsync.c: Likewise.
31277         * lib/isapipe.c: Likewise.
31278         * modules/dup2 (Depends-on): Add msvc-nothrow.
31279         * modules/accept4 (Depends-on): Likewise.
31280         * modules/error (Depends-on): Likewise.
31281         * modules/fcntl (Depends-on): Likewise.
31282         * modules/lseek (Depends-on): Likewise.
31283         * modules/nonblocking (Depends-on): Likewise.
31284         * modules/poll (Depends-on): Likewise.
31285         * modules/read (Depends-on): Likewise.
31286         * modules/select (Depends-on): Likewise.
31287         * modules/sockets (Depends-on): Likewise.
31288         * modules/sigpipe (Depends-on): Likewise.
31289         * modules/write (Depends-on): Likewise.
31290         * modules/accept (Depends-on): Likewise.
31291         * modules/bind (Depends-on): Likewise.
31292         * modules/connect (Depends-on): Likewise.
31293         * modules/gethostname (Depends-on): Likewise.
31294         * modules/getpeername (Depends-on): Likewise.
31295         * modules/getsockname (Depends-on): Likewise.
31296         * modules/getsockopt (Depends-on): Likewise.
31297         * modules/ioctl (Depends-on): Likewise.
31298         * modules/listen (Depends-on): Likewise.
31299         * modules/recv (Depends-on): Likewise.
31300         * modules/recvfrom (Depends-on): Likewise.
31301         * modules/send (Depends-on): Likewise.
31302         * modules/sendto (Depends-on): Likewise.
31303         * modules/setsockopt (Depends-on): Likewise.
31304         * modules/shutdown (Depends-on): Likewise.
31305         * modules/socket (Depends-on): Likewise.
31306         * modules/execute (Depends-on): Likewise.
31307         * modules/spawn-pipe (Depends-on): Likewise.
31308         * modules/flock (Depends-on): Likewise.
31309         * modules/fsync (Depends-on): Likewise.
31310         * modules/isapipe (Depends-on): Likewise.
31311         * tests/test-cloexec.c: Include msvc-nothrow.h.
31312         * tests/test-dup-safer.c: Likewise.
31313         * tests/test-dup2.c: Likewise.
31314         * tests/test-dup3.c: Likewise.
31315         * tests/test-fcntl.c: Likewise.
31316         * tests/test-pipe.c: Likewise.
31317         * tests/test-pipe2.c: Likewise.
31318         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
31319         * modules/unistd-safer-tests (Depends-on): Likewise.
31320         * modules/dup2-tests (Depends-on): Likewise.
31321         * modules/dup3-tests (Depends-on): Likewise.
31322         * modules/fcntl-tests (Depends-on): Likewise.
31323         * modules/pipe-posix-tests (Depends-on): Likewise.
31324         * modules/pipe2-tests (Depends-on): Likewise.
31326 2011-09-23  Bruno Haible  <bruno@clisp.org>
31328         dup2: Make code more maintainable.
31329         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
31330         (rpl_dup2): Use it.
31331         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
31332         * modules/dup2 (configure.ac): Invoke it.
31333         Reported by Paul Eggert.
31335 2011-09-23  Bruno Haible  <bruno@clisp.org>
31337         msvc-inval: Fix compilation error.
31338         * lib/msvc-inval.h: Include <excpt.h>.
31340 2011-09-23  Bruno Haible  <bruno@clisp.org>
31342         mkdir: Tweak for MSVC 9.
31343         * lib/sys_stat.in.h: Update comments.
31344         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
31346         Tests for module 'chdir'.
31347         * modules/chdir-tests: New file.
31348         * tests/test-chdir.c: New file.
31350         New module 'chdir'.
31351         * modules/chdir: New file.
31352         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
31353         (chdir): New declaration.
31354         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
31355         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
31356         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
31357         * tests/test-unistd-c++.cc: Check signature of chdir.
31358         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
31359         * modules/chdir-long (Depends-on): Add chdir.
31360         * modules/fchdir (Depends-on): Likewise.
31361         * modules/rename (Depends-on): Likewise.
31362         * modules/savewd (Depends-on): Likewise.
31364         rmdir: Support for mingw, MSVC 9.
31365         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
31366         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
31368         getcwd: Tweak for MSVC 9.
31369         * lib/unistd.in.h: Update comments.
31370         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
31372 2011-09-22  Bruno Haible  <bruno@clisp.org>
31374         strerror_r-posix: Avoid a link error on MSVC.
31375         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
31376         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
31378 2011-09-22  Bruno Haible  <bruno@clisp.org>
31380         select: Avoid link errors on MSVC.
31381         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
31382         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
31383         * modules/pselect (Link): Likewise.
31384         * NEWS: Mention the change.
31385         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
31386         test-select-stdin against $(LIB_SELECT).
31387         * modules/pselect-tests (Makefile.am): Link test-pselect against
31388         $(LIB_SELECT).
31390 2011-09-22  Bruno Haible  <bruno@clisp.org>
31392         select: Avoid compilation error on MSVC.
31393         * lib/select.c: Don't include <stdbool.h>.
31395 2011-09-21  Bruno Haible  <bruno@clisp.org>
31397         Consolidate all uses of PATH_MAX in *.m4 files.
31398         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
31399         macros.
31400         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
31401         and gl_PATHMAX_SNIPPET.
31402         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31403         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31404         * modules/chdir-long (Files): Add m4/pathmax.m4.
31405         * modules/getcwd (Files): Likewise.
31407 2011-09-21  Bruno Haible  <bruno@clisp.org>
31409         ftruncate: Un-deprecate, concentrate on Win32 support.
31410         * modules/ftruncate (Status, Notice): Remove sections.
31411         (Depends-on): Add largefile.
31412         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
31413         non-mingw platforms.
31414         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
31415         include <io.h>.
31416         * modules/perror-tests (Depends-on): Add ftruncate.
31417         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
31418         'ftruncate' module.
31420 2011-09-21  Bruno Haible  <bruno@clisp.org>
31422         Add dependencies to new dirent related modules.
31423         * modules/opendir (Depends-on): Add closedir.
31424         * modules/getcwd (Depends-on): Add opendir, closedir.
31425         * modules/dirent-safer-tests (Depends-on): Likewise.
31426         * modules/fdopendir-tests (Depends-on): Likewise.
31427         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
31428         * modules/renameat-tests (Depends-on): Likewise.
31430 2011-09-21  Bruno Haible  <bruno@clisp.org>
31432         opendir: Avoid compilation error on mingw.
31433         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
31434         * modules/opendir (Depends-on): Add unistd.
31436 2011-09-21  Bruno Haible  <bruno@clisp.org>
31438         ftruncate tests: Avoid a test failure on mingw.
31439         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
31441 2011-09-21  Bruno Haible  <bruno@clisp.org>
31443         select tests: Avoid test failures on OSF/1 5.1 and mingw.
31444         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
31445         native Windows.
31447 2011-09-21  Bruno Haible  <bruno@clisp.org>
31449         New module 'fdopen'.
31450         * lib/stdio.in.h (fdopen): New declaration.
31451         * lib/fdopen.c: New file.
31452         * m4/fdopen.m4: New file.
31453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
31454         REPLACE_FDOPEN.
31455         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
31456         REPLACE_FDOPEN.
31457         * modules/fdopen: New file.
31458         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
31459         * tests/test-stdio-c++.cc: Check signature of fdopen.
31460         * doc/posix-functions/fdopen.texi: Mention the new module.
31462 2011-09-21  Bruno Haible  <bruno@clisp.org>
31464         unlockpt tests: Avoid test failure on NetBSD 5.1.
31465         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
31466         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
31468 2011-09-21  Bruno Haible  <bruno@clisp.org>
31470         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
31471         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
31472         * tests/test-getlogin_r.c (main): Likewise.
31474 2011-09-20  Bruno Haible  <bruno@clisp.org>
31476         time tests: Don't require pid_t.
31477         * doc/posix-headers/time.texi: Revert last change.
31478         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
31479         * tests/test-time.c: Comment out the check for pid_t.
31481 2011-09-20  Bruno Haible  <bruno@clisp.org>
31483         fsync tests: Avoid a test failure on mingw.
31484         * tests/test-fsync.c (main): Allow a failure with EIO.
31486 2011-09-20  Bruno Haible  <bruno@clisp.org>
31488         euidaccess: Update comments.
31489         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
31491 2011-09-20  Bruno Haible  <bruno@clisp.org>
31493         Ensure EBADF returns for socket functions on mingw.
31494         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
31495         descriptor is invalid.
31496         * lib/bind.c (rpl_bind): Likewise.
31497         * lib/connect.c (rpl_connect): Likewise.
31498         * lib/getpeername.c (rpl_getpeername): Likewise.
31499         * lib/getsockname.c (rpl_getsockname): Likewise.
31500         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31501         * lib/listen.c (rpl_listen): Likewise.
31502         * lib/recv.c (rpl_recv): Likewise.
31503         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31504         * lib/send.c (rpl_send): Likewise.
31505         * lib/sendto.c (rpl_sendto): Likewise.
31506         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31507         * lib/shutdown.c (rpl_shutdown): Likewise.
31509 2011-09-20  Bruno Haible  <bruno@clisp.org>
31511         select tests: EBADF tests.
31512         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
31513         test_bad_fd): New functions.
31514         (test_function): Invoke also test_bad_fd.
31516 2011-09-20  Bruno Haible  <bruno@clisp.org>
31518         Tests for module 'posix_spawn_file_actions_addopen.
31519         * modules/posix_spawn_file_actions_addopen-tests: New file.
31520         * tests/test-posix_spawn_file_actions_addopen.c: New file.
31522         Tests for module 'posix_spawn_file_actions_adddup2'.
31523         * modules/posix_spawn_file_actions_adddup2-tests: New file.
31524         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
31526         Tests for module 'posix_spawn_file_actions_addclose'.
31527         * modules/posix_spawn_file_actions_addclose-tests: New file.
31528         * tests/test-posix_spawn_file_actions_addclose.c: New file.
31530 2011-09-20  Bruno Haible  <bruno@clisp.org>
31532         Tests for module 'unlockpt'.
31533         * modules/unlockpt-tests: New file.
31534         * tests/test-unlockpt.c: New file.
31535         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
31537         Tests for module 'grantpt'.
31538         * modules/grantpt-tests: New file.
31539         * tests/test-grantpt.c: New file.
31540         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
31542 2011-09-20  Bruno Haible  <bruno@clisp.org>
31544         freopen tests: EBADF tests.
31545         * tests/test-freopen.c: Include errno.h, unistd.h.
31546         (main): Add tests for EBADF, commented out for the moment.
31548         fclose tests: EBADF tests.
31549         * tests/test-fclose.c (main): Add tests for EBADF.
31551         fflush tests: EBADF tests.
31552         * tests/test-fflush.c: Include errno.h, macros.h.
31553         (main): Add tests for EBADF.
31555         ftello tests: EBADF tests.
31556         * tests/test-ftello4.sh: New file.
31557         * tests/test-ftello4.c: New file.
31558         * modules/ftello-tests (Files): Add them.
31559         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
31561         fseeko tests: EBADF tests.
31562         * tests/test-fseeko4.sh: New file.
31563         * tests/test-fseeko4.c: New file.
31564         * modules/fseeko-tests (Files): Add them.
31565         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
31567         Tests for function fputc().
31568         * modules/fputc-tests: New file.
31569         * tests/test-fputc.c: New file.
31570         * modules/stdio-tests (Depends-on): Add fputc-tests.
31572         Tests for function fgetc().
31573         * modules/fgetc-tests: New file.
31574         * tests/test-fgetc.c: New file.
31575         * modules/stdio-tests (Depends-on): Add fgetc-tests.
31577         Tests for function fdopen().
31578         * modules/fdopen-tests: New file.
31579         * tests/test-fdopen.c: New file.
31580         * modules/stdio-tests (Depends-on): Add fdopen-tests.
31582         Tests for module 'vdprintf'.
31583         * modules/vdprintf-tests: New file.
31584         * tests/test-vdprintf.c: New file.
31586         Tests for module 'dprintf'.
31587         * modules/dprintf-tests: New file.
31588         * tests/test-dprintf.c: New file.
31590 2011-09-20  Bruno Haible  <bruno@clisp.org>
31592         Tests for module 'ioctl'.
31593         * modules/ioctl-tests: New file.
31594         * tests/test-ioctl.c: New file.
31596 2011-09-20  Bruno Haible  <bruno@clisp.org>
31598         fcntl tests: EBADF tests.
31599         * tests/test-fcntl.c (main): Add more tests for EBADF.
31601 2011-09-20  Bruno Haible  <bruno@clisp.org>
31603         utimensat tests: EBADF tests.
31604         * tests/test-utimensat.c (main): Add tests for EBADF.
31606         renameat tests: EBADF tests.
31607         * tests/test-renameat.c (main): Add tests for EBADF.
31609         mkfifoat tests: EBADF tests.
31610         * tests/test-mkfifoat.c (main): Add tests for EBADF.
31612         readlinkat tests: EBADF tests.
31613         * tests/test-readlinkat.c (main): Add tests for EBADF.
31615         symlinkat tests: EBADF tests.
31616         * tests/test-symlinkat.c (main): Add tests for EBADF.
31618         linkat tests: EBADF tests.
31619         * tests/test-linkat.c (main): Add tests for EBADF.
31621         Tests for module 'faccessat'.
31622         * modules/faccessat-tests: New file.
31623         * tests/test-faccessat.c: New file.
31625         fdopendir tests: EBADF tests.
31626         * tests/test-fdopendir.c (main): Add more tests for EBADF.
31628         openat tests: EBADF tests.
31629         * tests/test-fchownat.c (main): Add tests for EBADF.
31630         * tests/test-fstatat.c (main): Likewise.
31631         * tests/test-mkdirat.c (main): Likewise.
31632         * tests/test-openat.c (main): Likewise.
31633         * tests/test-unlinkat.c (main): Likewise.
31634         * tests/test-fchmodat.c: New file.
31635         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
31636         (Makefile.am): Also run 'test-fchmodat'.
31638 2011-09-20  Bruno Haible  <bruno@clisp.org>
31640         utimens, futimens, fdutimensat tests: EBADF tests.
31641         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
31643         Tests for function fstat().
31644         * modules/fstat-tests: New file.
31645         * tests/test-fstat.c: New file.
31646         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
31648 2011-09-20  Bruno Haible  <bruno@clisp.org>
31650         test-ttyname_r tests: EBADF tests.
31651         * tests/test-ttyname_r.c (main): Add tests for EBADF.
31653         Tests for module 'isatty'.
31654         * modules/isatty-tests: New file.
31655         * tests/test-isatty.c: New file.
31657         Tests for module 'write'.
31658         * modules/write-tests: New file.
31659         * tests/test-write.c: New file.
31661         Tests for module 'read'.
31662         * modules/read-tests: New file.
31663         * tests/test-read.c: New file.
31665         pwrite tests: EBADF tests.
31666         * tests/test-pwrite.c (main): Add tests for EBADF.
31668         pread tests: EBADF tests.
31669         * tests/test-pread.c (main): Add tests for EBADF.
31671         lseek tests: EBADF tests.
31672         * tests/test-lseek.c (main): Add more tests for EBADF.
31674         Tests for module 'ftruncate'.
31675         * modules/ftruncate-tests: New file.
31676         * tests/test-ftruncate.sh: New file.
31677         * tests/test-ftruncate.c: New file.
31679         fsync tests: EBADF tests.
31680         * tests/test-fsync.c (main): Add more tests for EBADF.
31682         fdatasync tests: EBADF tests.
31683         * tests/test-fdatasync.c (main): Add more tests for EBADF.
31685         Tests for module 'fchown'.
31686         * modules/fchown-tests: New file.
31687         * tests/test-fchown.c: New file.
31689         Tests for module 'fchmod'.
31690         * modules/fchmod-tests: New file.
31691         * tests/test-fchmod.c: New file.
31693         fchdir tests: EBADF tests.
31694         * tests/test-fchdir.c (main): Add more tests for EBADF.
31696         dup2 tests: EBADF tests.
31697         * tests/test-dup2.c (main): Add more tests for EBADF.
31699         Tests for module 'dup'.
31700         * modules/dup-tests: New file.
31701         * tests/test-dup.c: New file.
31703         Tests for module 'close'.
31704         * modules/close-tests: New file.
31705         * tests/test-close.c: New file.
31707 2011-09-20  Bruno Haible  <bruno@clisp.org>
31709         Tests for module 'shutdown'.
31710         * modules/shutdown-tests: New file.
31711         * tests/test-shutdown.c: New file.
31713         Tests for module 'setsockopt'.
31714         * modules/setsockopt-tests: New file.
31715         * tests/test-setsockopt.c: New file.
31717         Tests for module 'sendto'.
31718         * modules/sendto-tests: New file.
31719         * tests/test-sendto.c: New file.
31721         Tests for module 'send'.
31722         * modules/send-tests: New file.
31723         * tests/test-send.c: New file.
31725         Tests for module 'recvfrom'.
31726         * modules/recvfrom-tests: New file.
31727         * tests/test-recvfrom.c: New file.
31729         Tests for module 'recv'.
31730         * modules/recv-tests: New file.
31731         * tests/test-recv.c: New file.
31733         Tests for module 'listen'.
31734         * modules/listen-tests: New file.
31735         * tests/test-listen.c: New file.
31737         Tests for module 'getsockopt'.
31738         * modules/getsockopt-tests: New file.
31739         * tests/test-getsockopt.c: New file.
31741         Tests for module 'getsockname'.
31742         * modules/getsockname-tests: New file.
31743         * tests/test-getsockname.c: New file.
31745         Tests for module 'getpeername'.
31746         * modules/getpeername-tests: New file.
31747         * tests/test-getpeername.c: New file.
31749         Tests for module 'connect'.
31750         * modules/connect-tests: New file.
31751         * tests/test-connect.c: New file.
31753         Tests for module 'bind'.
31754         * modules/bind-tests: New file.
31755         * tests/test-bind.c: New file.
31757         accept4 tests: Fix for native Windows.
31758         * tests/test-accept4.c: Include sockets.h.
31759         (main): Invoke gl_sockets_startup.
31760         * modules/accept4-tests (Depends-on): Add sockets.
31762         accept tests: Fix for native Windows.
31763         * tests/test-accept.c: Include sockets.h.
31764         (main): Invoke gl_sockets_startup.
31765         * modules/accept-tests (Depends-on): Add sockets.
31767 2011-09-19  Bruno Haible  <bruno@clisp.org>
31769         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31770         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31771         do...while(0).
31772         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31773         Suggested by Paul Eggert.
31775 2011-09-19  Bruno Haible  <bruno@clisp.org>
31777         sched: Ensure pid_t is defined.
31778         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31779         not define pid_t.
31780         * lib/sched.in.h: Include <sys/types.h>.
31781         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31782         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31784 2011-09-19  Bruno Haible  <bruno@clisp.org>
31786         msvc-inval: Ensure the entire expansion is a single statement.
31787         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31788         of braces.
31790 2011-09-19  Jim Meyering  <meyering@redhat.com>
31792         tests: use printf, not echo in init.sh's warn_ function
31793         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31794         misbehave when given strings containing a backslash or starting
31795         with e.g., -n.  James Youngman suggested setting IFS.
31797 2011-09-19  Eric Blake  <eblake@redhat.com>
31799         futimens: enhance test
31800         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31801         closed non-negative fd.
31803         date: accept 'hence' as opposite of 'ago'
31804         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31805         * tests/test-parse-datetime.c (main): Enhance test.
31806         Suggested by Jesse Wilson.
31808 2011-09-19  Jim Meyering  <meyering@redhat.com>
31810         getcwd: don't fail in a deep directory on a system without openat
31811         Before this change, getcwd would fail when called from a directory
31812         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31813         the non-openat implementation used "..", "../..", "../../..", etc.
31814         to access ancestor directories.  With too many, that string would
31815         be longer than PATH_MAX.
31816         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31817         using gnulib's openat replacement.
31818         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31819         we're using the replacement function.
31821 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31823         maint.mk: avoid warnings from perl about missing files
31824         * top/maint.mk (def_sym_regex): Ignore files listed in
31825         $(gl_other_headers_) that do not exist, say because a project
31826         does not use a corresponding module.
31828 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31830         stat: use pathmax.h only if needed
31831         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31832         This is better for Emacs, which does not have a mingw port and
31833         therefore can avoid the pathmax module.
31835         utimens: remove dependency on dup2
31836         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31837         to work around the Linux kernel bug.
31838         * modules/utimens (Depends-on): Remove dup2.
31840 2011-09-18  Bruno Haible  <bruno@clisp.org>
31842         inet_ntop, inet_pton: Look for it also in libresolv.
31843         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31844         libnsl, search for it in libresolv.
31845         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31846         Needed on Solaris 7.
31848 2011-09-18  Bruno Haible  <bruno@clisp.org>
31850         accept, accept4 tests: Avoid link error on Solaris.
31851         * modules/accept-tests (Makefile.am): Link test-accept against
31852         $(LIBSOCKET).
31853         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31854         $(LIBSOCKET).
31856         accept4: Avoid link error on Solaris.
31857         * modules/accept4 (Link): New section.
31859         socket functions: Avoid link errors on Solaris.
31860         * modules/accept (Depends-on): Add socketlib.
31861         (Link): New section.
31862         * modules/bind (Depends-on): Add socketlib.
31863         (Link): New section.
31864         * modules/connect (Depends-on): Add socketlib.
31865         (Link): New section.
31866         * modules/getpeername (Depends-on): Add socketlib.
31867         (Link): New section.
31868         * modules/getsockname (Depends-on): Add socketlib.
31869         (Link): New section.
31870         * modules/getsockopt (Depends-on): Add socketlib.
31871         (Link): New section.
31872         * modules/listen (Depends-on): Add socketlib.
31873         (Link): New section.
31874         * modules/recv (Depends-on): Add socketlib.
31875         (Link): New section.
31876         * modules/recvfrom (Depends-on): Add socketlib.
31877         (Link): New section.
31878         * modules/send (Depends-on): Add socketlib.
31879         (Link): New section.
31880         * modules/sendto (Depends-on): Add socketlib.
31881         (Link): New section.
31882         * modules/setsockopt (Depends-on): Add socketlib.
31883         (Link): New section.
31884         * modules/shutdown (Depends-on): Add socketlib.
31885         (Link): New section.
31886         * modules/socket (Depends-on): Add socketlib.
31887         (Link): New section.
31889 2011-09-18  Bruno Haible  <bruno@clisp.org>
31891         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31892         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31893         than 5 seconds.
31894         * modules/ptsname-tests (configure.ac): Test for alarm.
31896 2011-09-18  Bruno Haible  <bruno@clisp.org>
31898         posix_spawn_file_actions_add*: Fix module dependencies.
31899         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31900         posix_spawn_file_actions_init.
31901         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31902         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31904 2011-09-18  Bruno Haible  <bruno@clisp.org>
31906         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31907         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31908         * tests/test-renameat.c (main): Likewise.
31910 2011-09-18  Bruno Haible  <bruno@clisp.org>
31912         Tests for module 'accept4'.
31913         * modules/accept4-tests: New file.
31914         * tests/test-accept4.c: New file.
31916 2011-09-18  Bruno Haible  <bruno@clisp.org>
31918         Tests for module 'accept'.
31919         * modules/accept-tests: New file.
31920         * tests/test-accept.c: New file.
31922 2011-09-18  Bruno Haible  <bruno@clisp.org>
31924         dup2: Support for MSVC.
31925         * lib/dup2.c: Include msvc-inval.h.
31926         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31927         _get_osfhandle calls.
31928         * modules/dup2 (Depends-on): Add msvc-inval.
31929         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31931         New module 'msvc-inval'.
31932         * lib/msvc-inval.h: New file.
31933         * lib/msvc-inval.c: New file.
31934         * m4/msvc-inval.m4: New file.
31935         * modules/msvc-inval: New file.
31937 2011-09-17  Bruno Haible  <bruno@clisp.org>
31939         Tests for module 'pclose'.
31940         * modules/pclose-tests: New file.
31942         New module 'pclose'.
31943         * lib/stdio.in.h (pclose): New declaration.
31944         * lib/pclose.c: New file.
31945         * m4/pclose.m4: New file.
31946         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31947         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31948         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31949         * modules/pclose: New file.
31950         * modules/popen-tests (Depends-on): Add pclose.
31951         * modules/popen-safer-tests (Depends-on): Likewise.
31952         * doc/posix-functions/pclose.texi: Mention the new module.
31954 2011-09-17  Bruno Haible  <bruno@clisp.org>
31956         popen: Support for MSVC.
31957         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31958         * lib/popen.c (popen): Provide alternate definition for native Windows.
31959         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31960         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31961         * modules/popen (Depends-on, configure.ac): Update condition.
31962         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31963         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31964         fixed.
31966 2011-09-17  Bruno Haible  <bruno@clisp.org>
31968         isnanl, isnand, isnanf: Work around MSVC bug.
31969         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
31971 2011-09-17  Bruno Haible  <bruno@clisp.org>
31973         sys_socket tests: Fix recent mistake.
31974         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
31976 2011-09-17  Bruno Haible  <bruno@clisp.org>
31978         putenv: Support for MSVC.
31979         * modules/putenv (Depends-on): Add environ.
31980         * lib/putenv.c (environ): Disable declaration.
31981         * lib/unistd.in.h: Update comment.
31983 2011-09-17  Bruno Haible  <bruno@clisp.org>
31985         math: Avoid macro redefinition warnings on MSVC.
31986         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
31987         Undefine before redefining.
31989 2011-09-17  Bruno Haible  <bruno@clisp.org>
31991         doc: Mention functions which are declared as macros.
31992         * doc/posix-functions/*[fl].texi: Mention that some functions are
31993         defined as macros with arguments only.
31995 2011-09-17  Bruno Haible  <bruno@clisp.org>
31997         Add dependencies to new dirent related modules.
31998         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
31999         * modules/fts (Depends-on): Likewise.
32000         * modules/glob (Depends-on): Likewise.
32001         * modules/savedir (Depends-on): Likewise.
32002         * modules/scandir (Depends-on): Likewise.
32003         * modules/dirent-safer (Depends-on): Add opendir, closedir.
32004         * modules/fdopendir (Depends-on): Add opendir.
32006 2011-09-17  Bruno Haible  <bruno@clisp.org>
32008         inet_pton: Support for MSVC on Windows Vista or newer.
32009         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
32010         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
32011         HAVE_DECL_INET_PTON is defined.
32012         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32013         On platforms with <winsock2.h>, test whether inet_pton is declared in
32014         <ws2tcpip.h>. If so, arrange to replace it.
32015         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32016         REPLACE_INET_PTON.
32017         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
32018         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
32019         (Depends-on, configure.ac): Update condition.
32020         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
32022 2011-09-17  Bruno Haible  <bruno@clisp.org>
32024         inet_ntop: Support for MSVC on Windows Vista or newer.
32025         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
32026         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
32027         HAVE_DECL_INET_NTOP is defined.
32028         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32029         On platforms with <winsock2.h>, test whether inet_ntop is declared in
32030         <ws2tcpip.h>. If so, arrange to replace it.
32031         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32032         REPLACE_INET_NTOP.
32033         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
32034         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
32035         (Depends-on, configure.ac): Update condition.
32036         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
32038 2011-09-16  Eric Blake  <eblake@redhat.com>
32040         test-fsync: yet another enhancement
32041         * tests/test-fsync.c (main): Also test behavior on read-only text
32042         file.
32044 2011-09-16  Bruno Haible  <bruno@clisp.org>
32046         Enhance fsync, fdatasync tests.
32047         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
32048         * tests/test-fdatasync.c (main): Likewise.
32050 2011-09-16  Bruno Haible  <bruno@clisp.org>
32052         Support for MSVC compiler: Ensure mode_t gets defined.
32053         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
32054         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32055         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32056         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
32057         * tests/test-fcntl-h.c: Check that mode_t is defined.
32058         * tests/test-sys_stat.c: Likewise.
32059         * tests/test-sys_types.c: Likewise.
32060         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
32061         * doc/posix-headers/sys_stat.texi: Likewise.
32062         * doc/posix-headers/sys_types.texi: Likewise.
32064 2011-09-16  Bruno Haible  <bruno@clisp.org>
32066         sys_stat: Support for MSVC.
32067         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
32068         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
32069         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
32070         MSVC.
32072 2011-09-16  Bruno Haible  <bruno@clisp.org>
32074         Support for MSVC compiler: Ensure off_t gets defined.
32075         * lib/unistd.in.h: Include <sys/types.h>.
32076         * tests/test-fcntl-h.c: Check that off_t is defined.
32077         * tests/test-sys_stat.c: Likewise.
32078         * tests/test-sys_types.c: Likewise.
32080 2011-09-16  Eric Blake  <eblake@redhat.com>
32082         fdatasync: port to Solaris
32083         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
32084         * modules/fdatasync (Link): Document it.
32085         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
32087         fdatasync: port to MacOS X 10.7
32088         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
32089         declared.
32090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
32091         * modules/unistd (Makefile.am): Substitute it.
32092         * lib/unistd.in.h (fdatasync): Declare on MacOS.
32093         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
32095         fdatasync: minor improvements
32096         * modules/fdatasync (Depends-on): Add condition for fsync.
32097         * lib/fdatasync.c (fdatasync): Add comment.
32098         * tests/test-unistd-c++.cc: Test fdatasync.
32100         unistd: update refs to newer POSIX
32101         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
32102         Suggested by Bruno Haible.
32104         fdatasync: new module
32105         * modules/fsync (Description): Document difference to fdatasync.
32106         * modules/fdatasync: New module.
32107         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
32108         * lib/fdatasync.c (fdatasync): Likewise.
32109         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
32110         defaults.
32111         * modules/unistd (Makefile.am): Set witnesses.
32112         * lib/unistd.in.h (fdatasync): Declare.
32113         * MODULES.html.sh: Document it.
32114         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
32115         * modules/fdatasync-tests: New test.
32116         * tests/test-fdatasync.c: Likewise.
32118 2011-09-16  Eric Blake  <eblake@redhat.com>
32120         test-fsync: enhance tests
32121         * modules/fsync-tests (Depends-on): Add errno, for mingw.
32122         * tests/test-fsync.c (main): Enhance test.
32124 2011-09-15  Bruno Haible  <bruno@clisp.org>
32126         Support for MSVC compiler: Ensure ssize_t gets defined.
32127         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
32128         * doc/posix-headers/stdio.texi: Likewise.
32129         * modules/stdio (Depends-on): Add ssize_t.
32130         * modules/sys_socket (Depends-on): Likewise.
32131         * modules/sys_types (Depends-on): Likewise.
32132         * modules/sys_uio (Depends-on): Likewise.
32133         * modules/unistd (Depends-on): Likewise.
32134         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
32135         * tests/test-sys_types.c: Check that ssize_t is defined.
32137 2011-09-14  Bruno Haible  <bruno@clisp.org>
32139         Avoid using #, the m4 comment starter character, near brackets.
32140         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
32141         delimiter character in sed expressions.
32142         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
32143         Suggested by Eric Blake.
32145         Properly quote AC_CHECK_DECLS' 4th argument.
32146         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
32147         argument.
32148         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32149         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32150         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32151         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32152         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32153         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
32154         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
32155         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
32156         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
32157         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
32158         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
32159         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
32160         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32161         * m4/isinf.m4 (gl_ISINF): Likewise.
32162         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
32163         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32164         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32165         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32166         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32167         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
32168         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
32169         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
32170         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
32171         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
32172         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32173         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32174         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
32175         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32177         Reported by Eric Blake.
32179         Properly quote AC_CHECK_DECL's 4th argument.
32180         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
32181         argument.
32182         * m4/argp.m4 (gl_ARGP): Likewise.
32183         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
32184         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32185         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
32186         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
32187         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
32188         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
32189         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
32190         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
32191         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32192         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
32193         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
32194         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
32195         Reported by Eric Blake.
32197 2011-09-14  Eric Blake  <eblake@redhat.com>
32199         opendir: avoid compile warning
32200         * lib/opendir.c (includes): Always include errno.h.
32201         Reported by Tatsuro MATSUOKA.
32203 2011-09-14  Jim Meyering  <meyering@redhat.com>
32205         maint.mk: sc_tight_scope: propagate failure from sub-make
32206         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
32207         Reported by Martin von Gagern.
32209 2011-09-13  Bruno Haible  <bruno@clisp.org>
32211         tempname: Support for MSVC.
32212         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
32213         MSVC.
32214         * modules/tempname (Depends-on): Add fcntl-h.
32216 2011-09-13  Bruno Haible  <bruno@clisp.org>
32218         sys_time: Support for MSVC.
32219         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
32220         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
32221         include <winsock2.h>.
32222         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
32223         function declarations that collide with POSIX.
32224         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
32225         (Makefile.am): Substitute HAVE_WINSOCK2_H.
32227 2011-09-13  Bruno Haible  <bruno@clisp.org>
32229         stat: Support for MSVC.
32230         * lib/stat.c: Include pathmax.h.
32231         * modules/stat (Depends-on): Add pathmax.
32233         pathmax: Support for native Windows.
32234         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
32236 2011-09-12  Bruno Haible  <bruno@clisp.org>
32238         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
32239         * lib/dirent.in.h (struct dirent): New type.
32240         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
32241         DT_WHT): New macros.
32242         (DIR): New type.
32243         (opendir, closedir): Declare only if the module 'opendir' is enabled.
32244         (readdir, rewinddir): New declarations.
32245         * lib/dirent-private.h: New file.
32246         * lib/opendir.c: New file.
32247         * lib/readdir.c: New file.
32248         * lib/rewinddir.c: New file.
32249         * lib/closedir.c: New file.
32250         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
32251         * m4/opendir.m4: New file.
32252         * m4/readdir.m4: New file.
32253         * m4/rewinddir.m4: New file.
32254         * m4/closedir.m4: New file.
32255         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
32256         REPLACE_CLOSEDIR here.
32257         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
32258         readdir, rewinddir are declared.
32259         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
32260         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
32261         HAVE_REWINDDIR, HAVE_CLOSEDIR.
32262         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
32263         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
32264         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
32265         * modules/opendir: New file.
32266         * modules/readdir: New file.
32267         * modules/rewinddir: New file.
32268         * modules/closedir: New file.
32269         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
32270         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
32271         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
32272         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
32273         * NEWS: Mention the 'fchdir' change.
32275 2011-09-11  Bruno Haible  <bruno@clisp.org>
32277         asm-underscore.m4: Support for MSVC.
32278         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
32279         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
32281 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
32283         Doc about crypt functions.
32284         * doc/posix-functions/crypt.texi: Expand range of glibc versions
32285         needing for _GNU_SOURCE to get crypt.
32286         * doc/posix-functions/encrypt.texi: Likewise.
32287         * doc/posix-functions/setkey.texi: Likewise.
32289 2011-09-11  Bruno Haible  <bruno@clisp.org>
32291         doc: Update regarding MSVC 9.
32292         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
32293         tested".
32294         * doc/posix-functions/*.texi: Update with info about MSVC 9.
32295         * doc/posix-headers/*.texi: Likewise.
32296         * doc/pastposix-functions/*.texi: Likewise.
32297         * doc/glibc-functions/*.texi: Likewise.
32298         * doc/glibc-headers/*.texi: Likewise.
32300 2011-09-11  Bruno Haible  <bruno@clisp.org>
32302         unistd et al.: Don't assume <unistd.h> exists.
32303         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
32304         does not exist.
32305         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
32306         exist. But include <stdlib.h>.
32307         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
32308         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
32309         symlink() does not exist.
32310         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
32311         include <io.h> instead.
32312         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
32313         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
32314         include <direct.h> instead.
32315         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
32316         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
32317         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
32318         <io.h> instead.
32319         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
32320         correctly if the system does not have hard links.
32321         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
32322         <direct.h> instead.
32323         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
32324         it when looking for function declarations.
32325         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
32326         <direct.h> and <io.h> instead.
32327         * doc/posix-headers/unistd.texi: More details about MSVC problem.
32329 2011-09-11  Bruno Haible  <bruno@clisp.org>
32331         strcase: Support for MSVC.
32332         * modules/strcase (Status, Notice): Remove obsoletion mark.
32333         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
32334         * doc/posix-functions/strncasecmp.texi: Likewise.
32336         strings: Don't assume <strings.h> exists.
32337         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
32338         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
32339         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
32340         * doc/posix-headers/strings.texi: Mention the MSVC problem.
32342 2011-09-11  Bruno Haible  <bruno@clisp.org>
32344         dirent: Don't assume <dirent.h> exists.
32345         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
32346         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
32347         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
32348         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
32350 2011-09-11  Bruno Haible  <bruno@clisp.org>
32352         Fix wint_t on MSVC.
32353         * lib/wchar.in.h (wint_t): On MSVC, override it.
32354         * lib/wctype.in.h (wint_t): Likewise.
32355         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
32356         MSVC.
32357         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
32358         * doc/posix-headers/wctype.texi: Likewise.
32360 2011-09-11  Bruno Haible  <bruno@clisp.org>
32362         sys_types: Fix typo.
32363         * lib/sys_types.in.h: Fix typo in comment.
32364         Reported by Paul Eggert.
32366         Support for MSVC compiler: Ensure size_t gets defined.
32367         * modules/strings (Depends-on): Add 'sys_types'.
32368         * modules/sys_uio (Depends-on): Likewise.
32369         * lib/sys_uio.in.h: Update comment.
32371         C++ tests for module 'sys_types'.
32372         * modules/sys_types-c++-tests: New file.
32373         * tests/test-sys_types-c++.cc: New file.
32375         Tests for module 'sys_types'.
32376         * modules/sys_types-tests: New file.
32377         * tests/test-sys_types.c: New file.
32379         New module 'sys_types'.
32380         * lib/sys_types.in.h: New file.
32381         * m4/sys_types_h.m4: New file.
32382         * modules/sys_types: New file.
32383         * doc/posix-headers/sys_types.texi: Mention the new module and the
32384         size_t problem on MSVC 9.
32386 2011-09-11  Bruno Haible  <bruno@clisp.org>
32388         Support for MSVC compiler: Avoid division by a literal 0.
32389         * lib/math.in.h (NAN): Define through a function call also on MSVC.
32390         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
32391         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
32392         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
32393         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
32394         * tests/infinity.h: New file.
32395         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
32396         on MSVC.
32397         * tests/test-ceilf1.c: Include infinity.h.
32398         (main): Use Infinityf.
32399         * tests/test-ceil1.c: Include infinity.h.
32400         (main): Use Infinityd.
32401         * tests/test-ceill.c: Include infinity.h.
32402         (main): Use Infinityl.
32403         * tests/test-dprintf-posix.c: Include infinity.h.
32404         (test_function): Use Infinityd.
32405         * tests/test-floorf1.c: Include infinity.h.
32406         (main): Use Infinityf.
32407         * tests/test-floor1.c: Include infinity.h.
32408         (main): Use Infinityd.
32409         * tests/test-floorl.c: Include infinity.h.
32410         (main): Use Infinityl.
32411         * tests/test-fprintf-posix.c: Include infinity.h.
32412         (test_function): Use Infinityd.
32413         * tests/test-frexp.c: Include infinity.h.
32414         (main): Use Infinityd.
32415         * tests/test-frexpl.c: Include infinity.h.
32416         (main): Use Infinityl.
32417         * tests/test-isfinite.c: Include infinity.h.
32418         (test_isfinitef): Use Infinityf.
32419         (test_isfinited): Use Infinityd.
32420         (test_isfinitel): Use Infinityl.
32421         * tests/test-isinf.c: Include infinity.h.
32422         (test_isinff): Use Infinityf.
32423         (test_isinfd): Use Infinityd.
32424         (test_isinfl): Use Infinityl.
32425         * tests/test-isnan.c: Include infinity.h.
32426         (test_float): Use Infinityf.
32427         (test_double): Use Infinityd.
32428         (test_long_double): Use Infinityl.
32429         * tests/test-isnanf.h: Include infinity.h.
32430         (main): Use Infinityf.
32431         * tests/test-isnand.h: Include infinity.h.
32432         (main): Use Infinityd.
32433         * tests/test-isnanl.h: Include infinity.h.
32434         (main): Use Infinityl.
32435         * tests/test-ldexpl.c: Include infinity.h.
32436         (main): Use Infinityl.
32437         * tests/test-printf-posix.h: Include infinity.h.
32438         (test_function): Use Infinityd.
32439         * tests/test-roundf1.c: Include infinity.h.
32440         (main): Use Infinityf.
32441         * tests/test-round1.c: Include infinity.h.
32442         (main): Use Infinityd.
32443         * tests/test-roundl.c: Include infinity.h.
32444         (main): Use Infinityl.
32445         * tests/test-signbit.c: Include infinity.h.
32446         (test_signbitf): Use Infinityf.
32447         (test_signbitd): Use Infinityd.
32448         (test_signbitl): Use Infinityl.
32449         * tests/test-snprintf-posix.h: Include infinity.h.
32450         (test_function): Use Infinityd, Infinityl.
32451         * tests/test-sprintf-posix.h: Include infinity.h.
32452         (test_function): Use Infinityd, Infinityl.
32453         * tests/test-truncf1.c: Include infinity.h.
32454         (main): Use Infinityf.
32455         * tests/test-trunc1.c: Include infinity.h.
32456         (main): Use Infinityd.
32457         * tests/test-truncl.c: Include infinity.h.
32458         (main): Use Infinityl.
32459         * tests/test-vasnprintf-posix.c: Include infinity.h.
32460         (test_function): Use Infinityd, Infinityl.
32461         * tests/test-vasprintf-posix.c: Include infinity.h.
32462         (test_function): Use Infinityd, Infinityl.
32463         * modules/ceilf-tests (Files): Add tests/infinity.h.
32464         * modules/ceil-tests (Files): Likewise.
32465         * modules/ceill-tests (Files): Likewise.
32466         * modules/dprintf-posix-tests (Files): Likewise.
32467         * modules/floorf-tests (Files): Likewise.
32468         * modules/floor-tests (Files): Likewise.
32469         * modules/floorl-tests (Files): Likewise.
32470         * modules/fprintf-posix-tests (Files): Likewise.
32471         * modules/frexp-tests (Files): Likewise.
32472         * modules/frexp-nolibm-tests (Files): Likewise.
32473         * modules/frexpl-tests (Files): Likewise.
32474         * modules/frexpl-nolibm-tests (Files): Likewise.
32475         * modules/isfinite-tests (Files): Likewise.
32476         * modules/isinf-tests (Files): Likewise.
32477         * modules/isnan-tests (Files): Likewise.
32478         * modules/isnanf-tests (Files): Likewise.
32479         * modules/isnanf-nolibm-tests (Files): Likewise.
32480         * modules/isnand-tests (Files): Likewise.
32481         * modules/isnand-nolibm-tests (Files): Likewise.
32482         * modules/isnanl-tests (Files): Likewise.
32483         * modules/isnanl-nolibm-tests (Files): Likewise.
32484         * modules/ldexpl-tests (Files): Likewise.
32485         * modules/printf-posix-tests (Files): Likewise.
32486         * modules/roundf-tests (Files): Likewise.
32487         * modules/round-tests (Files): Likewise.
32488         * modules/roundl-tests (Files): Likewise.
32489         * modules/signbit-tests (Files): Likewise.
32490         * modules/snprintf-posix-tests (Files): Likewise.
32491         * modules/sprintf-posix-tests (Files): Likewise.
32492         * modules/truncf-tests (Files): Likewise.
32493         * modules/trunc-tests (Files): Likewise.
32494         * modules/truncl-tests (Files): Likewise.
32495         * modules/vasnprintf-posix-tests (Files): Likewise.
32496         * modules/vasprintf-posix-tests (Files): Likewise.
32497         * modules/vdprintf-posix-tests (Files): Likewise.
32498         * modules/vfprintf-posix-tests (Files): Likewise.
32499         * modules/vprintf-posix-tests (Files): Likewise.
32500         * modules/vsnprintf-posix-tests (Files): Likewise.
32501         * modules/vsprintf-posix-tests (Files): Likewise.
32502         * modules/xprintf-posix-tests (Files): Likewise.
32504 2011-09-11  Bruno Haible  <bruno@clisp.org>
32506         Ensure pid_t gets defined.
32507         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
32508         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32509         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32510         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32511         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32512         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
32513         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
32514         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32515         * tests/test-fcntl-h.c: Check that pid_t is defined.
32516         * tests/test-sched.c: Likewise.
32517         * tests/test-termios.c: Likewise.
32518         * tests/test-time.c: Likewise.
32519         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
32520         * doc/posix-headers/signal.texi: Likewise.
32521         * doc/posix-headers/sys_types.texi: Likewise.
32522         * doc/posix-headers/time.texi: Likewise.
32524 2011-09-11  Bruno Haible  <bruno@clisp.org>
32526         acl: Fix compilation on Solaris 10 (older version).
32527         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
32528         of ACE_EVERYONE.
32529         * lib/set-mode-acl.c (qset_acl): Likewise.
32530         Reported by Christian Jullien <eligis@orange.fr>.
32532 2011-09-10  Bruno Haible  <bruno@clisp.org>
32534         iconv, unsetenv: Add support for MSVC compiler.
32535         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
32536         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
32538 2011-09-10  Bruno Haible  <bruno@clisp.org>
32540         *printf: Add support for MSVC compiler.
32541         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
32542         handles the exception caused by the %n directive. When cross-compiling,
32543         guess no on native Windows.
32544         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
32545         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
32546         emulate it through vsnprintf.
32547         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
32548         * doc/posix-functions/dprintf.texi: Update documentation regarding
32549         MSVC 9.
32550         * doc/posix-functions/fprintf.texi: Likewise.
32551         * doc/posix-functions/printf.texi: Likewise.
32552         * doc/posix-functions/snprintf.texi: Likewise.
32553         * doc/posix-functions/sprintf.texi: Likewise.
32554         * doc/posix-functions/swprintf.texi: Likewise.
32555         * doc/posix-functions/vdprintf.texi: Likewise.
32556         * doc/posix-functions/vfprintf.texi: Likewise.
32557         * doc/posix-functions/vprintf.texi: Likewise.
32558         * doc/posix-functions/vsnprintf.texi: Likewise.
32559         * doc/posix-functions/vsprintf.texi: Likewise.
32560         * doc/glibc-functions/asprintf.texi: Likewise.
32561         * doc/glibc-functions/obstack_printf.texi: Likewise.
32562         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32563         * doc/glibc-functions/vasprintf.texi: Likewise.
32565 2011-09-10  Bruno Haible  <bruno@clisp.org>
32567         nocrash: Add support for native Windows.
32568         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
32570 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
32571             Bruno Haible  <bruno@clisp.org>
32573         absolute-header, include-next: Add support for MSVC compiler.
32574         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
32575         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
32576         directory separator in #line directives.
32577         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
32578         recognize also backslash as directory separator in #line directives.
32580 2011-09-08  Jim Meyering  <meyering@redhat.com>
32582         maint.mk: mark the post-release commit log with "maint: " prefix
32583         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
32584         one-line commit-log summary.
32586 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
32587             Bruno Haible  <bruno@clisp.org>
32589         Doc about crypt functions.
32590         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
32591         systems.
32592         * doc/posix-functions/encrypt.texi: Likewise.
32593         * doc/posix-functions/setkey.texi: Likewise.
32595 2011-09-08  Simon Josefsson  <simon@josefsson.org>
32597         * lib/gc.h: Fix copyright header.
32599 2011-09-07  Bruno Haible  <bruno@clisp.org>
32601         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
32602         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
32603         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
32605 2011-09-07  Bruno Haible  <bruno@clisp.org>
32607         openat: Work around compilation error with OSF/1 5.1 DTK cc.
32608         * lib/fopen.c: Use different syntax for include of <stdio.h>.
32609         * lib/freopen.c: Likewise.
32610         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
32611         * lib/lstat.c: Likewise.
32612         * lib/stat.c: Likewise.
32613         * lib/open.c: Use different syntax for include of <fcntl.h>.
32614         * lib/openat.c: Include fcntl.h again, explicitly.
32616 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
32618         parse-datetime: document the newly accepted format
32619         * doc/parse-datetime.texi (Combined date and time of day items):
32620         New section.
32622 2011-09-06  Bruno Haible  <bruno@clisp.org>
32624         acl: Fix a test failure on newer Solaris 10 with ZFS.
32625         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
32626         ENOSYS as no ACL.
32627         Reported by Jim Meyering.
32629 2011-09-06  Bruno Haible  <bruno@clisp.org>
32631         acl: Update for AIX >= 5.3 with NFS.
32632         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
32633         ENOSYS as no ACL.
32635         acl: Fix a test failure on AIX >= 5.3 with NFS.
32636         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
32637         as no ACL.
32639 2011-09-06  Bruno Haible  <bruno@clisp.org>
32641         acl: Fix a test failure on IRIX 6.5 with NFS.
32642         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
32643         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
32644         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
32645         * lib/copy-acl.c (qcopy_acl): Likewise.
32647 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
32649         openat: port to AIX 7.1 with large files
32650         AIX 7.1 does a "#define openat open64at" if large files are in use,
32651         so we can't simply #undef openat.  Use the orig_openat trick (similar
32652         to orig_open in lib/open.c) to work around the problem.  Problem
32653         reported by Kevin Brott for GNU tar, in the thread containing
32654         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
32655         * lib/openat.c (__need_system_fcntl_h): Define first.
32656         Include <fcntl.h> and <sys/types.h> before undefining.
32657         (orig_openat) [HAVE_OPENAT]: New inline function.
32658         (openat) [HAVE_OPENAT]: Do not undef.
32659         (rpl_openat): Use orig_openat, not openat.
32661 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
32662             Bruno Haible  <bruno@clisp.org>
32664         acl: Avoid errors on NonStop Kernel.
32665         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
32666         ENOTSUP errors.
32668 2011-09-05  Bruno Haible  <bruno@clisp.org>
32670         acl: Clean up Solaris code.
32671         * lib/acl-internal.h: Remove no-op #if.
32672         * lib/file-has-acl.c: Likewise.
32673         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
32674         * lib/copy-acl.c (qcopy_acl): Likewise.
32676 2011-09-05  Bruno Haible  <bruno@clisp.org>
32678         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
32679         binaries built on the original Solaris 10.
32680         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
32681         trivial.
32683 2011-09-05  Bruno Haible  <bruno@clisp.org>
32685         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32686         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
32687         10.
32688         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
32689         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
32690         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
32691         instead of acl_get, facl_get, acl_set, facl_set.
32693 2011-09-05  Bruno Haible  <bruno@clisp.org>
32695         copy-file: Try unit tests on more file systems.
32696         * tests/test-copy-file-1.sh: New file.
32697         * tests/test-copy-file-2.sh: New file.
32698         * modules/copy-file-tests (Files): Add them.
32699         (Makefile.am): Add them to TESTS.
32701         acl: Try unit tests on more file systems.
32702         * tests/test-file-has-acl-1.sh: New file.
32703         * tests/test-file-has-acl-2.sh: New file.
32704         * tests/test-set-mode-acl-1.sh: New file.
32705         * tests/test-set-mode-acl-2.sh: New file.
32706         * tests/test-copy-acl-1.sh: New file.
32707         * tests/test-copy-acl-2.sh: New file.
32708         * modules/acl-tests (Files): Add them.
32709         (Makefile.am): Add them to TESTS.
32711 2011-09-04  Bruno Haible  <bruno@clisp.org>
32713         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32714         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
32715         10.
32716         (OLD_ALLOW, OLD_DENY): New macros.
32717         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
32718         ACE_ACCESS_ALLOWED_ACE_TYPE.
32719         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
32720         ACE_ACCESS_DENIED_ACE_TYPE.
32721         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
32722         (NEW_ACE_EXECUTE): Fix value.
32723         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
32724         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
32725         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
32726         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
32727         NEW_ACE_SYNCHRONIZE): New macros.
32728         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
32729         instead of acl_fromtext, acl_set, facl_set.
32730         Fixes a coreutils/tests/cp/perm failure.
32732 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
32734         openat: test for fstatat (..., 0) bug
32735         Further testing with tar suggests that fstatat (..., 0)
32736         does not work in general, on AIX 7.1; see
32737         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
32738         So, give up entirely on AIX 7.1's fstatat, and fall back on our
32739         replacement fstatat (which is what older AIX releases were using
32740         anyway).
32741         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32742         use is now changed to orig_fstatat.  This was probably the right
32743         thing to do anyway.
32744         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32745         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32746         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32747         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32748         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32749         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32750         if the bug is found.
32752         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32753         This tests for another fstatat bug on AIX 7.1:
32754         fstatat (AT_FDCWD, ..., 0) does not work.  See
32755         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32756         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32757         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32758         (rpl_fstatat): Adjust so that it works around either (or both)
32759         bugs if present.
32760         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32762 2011-09-03  Karl Berry  <karl@gnu.org>
32764         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32765         in index entries.
32767 2011-09-02  Bruno Haible  <bruno@clisp.org>
32769         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32770         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32771         values of AR, ARFLAGS, RANLIB.
32772         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32774 2011-09-02  Bruno Haible  <bruno@clisp.org>
32776         Find 'ar' program that fits with --host argument.
32777         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32779 2011-09-02  Bruno Haible  <bruno@clisp.org>
32781         tests: init.sh: Support any non-GNU diff.
32782         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32783         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32784         Solaris 8.
32786 2011-09-02  Bruno Haible  <bruno@clisp.org>
32788         tests: init.sh: work also with any non-GNU diff that supports -u
32789         * tests/init.sh: Relax check for diff -u support.
32790         Rather than checking for GNU diff via --version, simply check
32791         for support for -u itself.  Useful at least on OpenBSD 4.9,
32792         AIX 7.1, IRIX 6.5, and Solaris 10.
32794 2011-09-01  Bruno Haible  <bruno@clisp.org>
32796         strtoimax, strtoumax: Document problem on HP-UX 11.
32797         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32798         * doc/posix-functions/strtoumax.texi: Likewise.
32800 2011-09-01  Bruno Haible  <bruno@clisp.org>
32802         strtoumax: Avoid link error on OSF/1 with DTK cc.
32803         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32804         defined as a function.
32805         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32806         strtoumax is defined, not whether it is declared.
32808 2011-09-01  Bruno Haible  <bruno@clisp.org>
32810         strtoimax: Avoid link error on OSF/1 with DTK cc.
32811         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32812         defined as a function.
32813         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32814         strtoimax is defined, not whether it is declared.
32816 2011-09-01  Bruno Haible  <bruno@clisp.org>
32818         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32819         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32820         as a function.
32821         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32822         whether it is declared.
32824 2011-09-01  Bruno Haible  <bruno@clisp.org>
32826         imaxabs: Avoid link error on OSF/1 with DTK cc.
32827         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32828         as a function.
32829         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32830         whether it is declared.
32832 2011-09-01  Bruno Haible  <bruno@clisp.org>
32834         Tests for module 'strtoumax'.
32835         * modules/strtoumax-tests: New file.
32836         * tests/test-strtoumax.c: New file.
32838         Tests for module 'strtoimax'.
32839         * modules/strtoimax-tests: New file.
32840         * tests/test-strtoimax.c: New file.
32842         Tests for module 'imaxdiv'.
32843         * modules/imaxdiv-tests: New file.
32844         * tests/test-imaxdiv.c: New file.
32846         Tests for module 'imaxabs'.
32847         * modules/imaxabs-tests: New file.
32848         * tests/test-imaxabs.c: New file.
32850 2011-09-01  Bruno Haible  <bruno@clisp.org>
32852         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32853         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32854         pthread_create.
32856 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32858         openat: work around AIX 7.1 fstatat issue
32859         This should fix the problem that was not properly fixed
32860         in the previous change, dated 2011-08-30.
32861         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32862         __need_system_stat_h defined.
32863         (orig_fstatat) [HAVE_FSTATAT]: New function.
32864         (rpl_fstatat): Go back to the old way of doing things,
32865         except call orig_fstatat instead of fstatat.
32866         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32867         Remove unnecessary check whether fstatat fills in st_size etc.
32869 2011-09-01  Bruno Haible  <bruno@clisp.org>
32871         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32872         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32873         just include the system's header.
32875 2011-08-31  Jim Meyering  <meyering@redhat.com>
32877         tests: avoid spurious assertion failure in test-float.c on ppc64
32878         * tests/test-float.c (test_long_double): Comment out an assertion,
32879         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32880         with gcc-4.4.4.
32882         maint: indent with spaces, not TABs
32883         I need to get in the habit of running gnulib's "make check".
32884         Both of these would have been caught.
32885         * m4/largefile.m4: Indent with spaces, not TABs.
32886         * lib/parse-datetime.y (iso_8601_time): Likewise.
32887         Spotted by Pádraig Brady.
32889         test-parse-datetime.c: accommodate a relatively strict gcc warning
32890         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32891         to avoid a warning from gcc's -Werror=missing-declarations.
32892         Insert a few spaces-before-funcall-parenthesis.
32894 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32896         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32897         The parser now accepts ISO 8601 date-time strings with "T" as the
32898         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32899         with a space between the date and time strings.  Now it also parses
32900         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32901         variants like "2004-02-29T16:21:42.333-07:00"
32902         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32903         of day representation using the 'T' separator character.
32904         * doc/parse-datetime.texi (General date syntax): replace use of
32905         deprecated --iso-8601 option with --rfc-3339 in example of date
32906         command output formats that can be parsed.
32907         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32908         lib/parse-datetime.y.
32909         (gmt_offset): New function.
32910         (main): Add additional test cases to validate ISO8601 extended
32911         date and time of day parsing.
32913 2011-08-31  Bruno Haible  <bruno@clisp.org>
32915         freopen: Documentation.
32916         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32917         name.
32918         Reported by Claudio Bley <claudio.bley@gmail.com>.
32920 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32922         freopen: Don't crash if the filename argument is NULL.
32923         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32924         NULL.
32926 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32928         openat: work around AIX 7.1 fstatat bug
32929         Problem reported by Kevin Brott for GNU tar, in the thread containing
32930         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32931         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32932         FSTATAT_ST_SIZE_ETC_BROKEN.
32933         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32934         rpl_fstatat.
32935         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32936         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32937         AC_CHECK_FUNCS_ONCE for fstatat.
32938         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32939         fchmodat, mkdirat, openat and unlinkat.
32941 2011-08-30  Bruno Haible  <bruno@clisp.org>
32943         Avoid endless recursions if config.h includes some header files.
32944         * lib/fopen.c (__need_FILE): Define already before including config.h.
32945         * lib/freopen.c (__need_FILE): Likewise.
32946         * lib/open.c (__need_system_fcntl_h): Likewise.
32947         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32948         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32949         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32951 2011-08-25  Karl Berry  <karl@gnu.org>
32953         * config/srclist.txt (ylwrap): new try.
32954         * build-aux/ylwrap: new file.
32956 2011-08-23  Bruno Haible  <bruno@clisp.org>
32958         tmpdir: Use a good default directory on native Windows.
32959         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32960         (P_tmpdir): Default to _P_tmpdir on native Windows.
32961         (path_search): On native Windows, try the value returned by GetTempPath
32962         before trying P_tmpdir.
32963         * modules/tmpdir (Depends-on): Add pathmax.
32964         Suggested by John Darrington <john@darrington.wattle.id.au>.
32966 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
32968         doc: fix typo in README-release
32969         * top/README-release: Capitalize first word of a sentence.
32971 2011-08-19  Jim Meyering  <meyering@redhat.com>
32973         fts: do not exhaust memory when processing million-entry directories
32974         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
32975         directory would require about 256*N bytes of memory.  Thus, it was
32976         easy to construct a directory too large to be processed by any of
32977         those tools.  With this change, fts' maximum memory utilization is
32978         now limited to around 30MB.
32979         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
32980         (fts_read): When we've processed the final entry (i.e., when
32981         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
32982         using the parent entry to read any remaining entries.  Dispatch
32983         depending on what fts_build returns:
32984         - NULL+stop, aka failure: stop
32985         - NULL otherwise: move up in the dir hierarchy
32986         - non-NULL: handle this new entry
32987         (fts_build): Declare and use new local, continue_readdir.
32988         Prepare to be called from fts_read, when the entries
32989         from a partially-read directory have just been exhausted.
32990         In that case, we'll skip the opendir and instead use the parent's
32991         fts_dirp and derive dir_fd from that.
32992         Finally, in the readdir loop, if we read max_entries entries,
32993         exit the loop ensuring *not* to call closedir.  This is required
32994         so that fts_dirp can be reused on a subsequent call.
32995         Prompted by Ben England's report of memory exhaustion in find
32996         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
32998         maint: fts: move decl of `dp' down into while loop; split a long line
32999         * lib/fts.c (fts_build): No semantic change.
33001         fts: add/use new struct member, fts_dirp
33002         We are about to use this to manage any directory with
33003         too many entries to read all of them into memory at once.
33004         To do that, we'll need to save the DIR* pointer in each
33005         affected FTSENT struct.
33006         * lib/fts_.h: Include <dirent.h>.
33007         (struct FTSENT) [fts_dirp]: New member.
33008         * lib/fts.c (closedir_and_clear): Define.
33009         Use it in place of closedir so that we are sure to
33010         clear the new fts_dirp member when done with it.
33011         (fts_alloc): Initialize the new member.
33012         (fts_lfree): Free, if needed.
33014         maint: fts: give __opendir2 a new parameter and rename
33015         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
33016         than surreptitiously using sole caller's "dir_fd".
33017         (fts_opendir): Rename from __opendir2.
33019         maint: fts.c: remove __opendir2's now-unused parameter, oflag
33020         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
33022         maint: fts.c: correct off-by-one indentation
33023         * lib/fts.c (fts_build): Correct indentation, change style
33024         of a couple of block comments, and bracing style.
33026         maint: fts.c: move __opendir2 #define "up" out of function body
33027         * lib/fts.c (__opendir2): Move "up".  No semantic change.
33029         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
33030         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
33031         out for a long time and besides was useful only on BSD systems.
33033 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
33035         regex: port to Stratus OpenVOS
33036         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
33037         define to empty, rather than attempting nonportable optimizations.
33038         Problem reported by Paul Green in:
33039         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
33040         and fix suggested by Eric Blake in:
33041         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
33043 2011-08-17  Eric Blake  <eblake@redhat.com>
33045         getcwd: fix test failures on mingw
33046         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
33047         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
33048         test if long directory cannot be created, and allow mingw errno.
33050         getcwd-lgpl: fix m4 to match relaxed test for BSD
33051         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
33052         (gl_FUNC_GETCWD_SIGNATURE): New macro.
33053         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
33054         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
33055         signature problem.
33057         getcwd: fix compilation on mingw64
33058         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
33059         getcwd.
33060         Reported by Marc-André Lureau.
33062         pipe2: silence compiler warning
33063         * lib/pipe2.c (pipe2): Hide label if it is not used.
33065 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
33067         relocatable-prog: fix link error
33068         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
33069         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
33070         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
33071         into modules/relocatable-lib without noticing that
33072         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
33073         also needs to build relocatable.c.
33075 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
33077         getaddrinfo: fix sh typo in gai_strerrorA decl checking
33078         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
33079         shell code: it contained a 'break' that was not in a loop.
33080         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
33081         via a shell-language loop; this may have been true in old Autoconf
33082         versions, but it's not true in Autoconf 2.68.  I found this bug
33083         when testing coreutils git on Solaris 8, whose shell complains
33084         about the syntax error.
33086 2011-08-12  Simon Josefsson  <simon@josefsson.org>
33088         * lib/base64.c: Fix comment to reference RFC 4648.
33089         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
33090         <gvtulder@gmail.com>.
33092 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33094         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
33096         po/Makefile.in.in: fix make -q problem
33097         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
33098         rule, since there's no file named 'check-macro-version' and its
33099         use as a file breaks make -q.
33100         (all): Don't depend on check-macro-version.
33101         (CHECK_MACRO_VERSION): New macro.
33102         (stamp-po): Use it.
33104         configmake: fix make -q problem
33105         * modules/configmake (configmake.h): Update configmake.h's time stamp
33106         even if the file does not change.  Otherwise, 'make -q' fails.
33107         Problem reported by Simon Josefsson in
33108         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
33110 2011-08-11  Jim Meyering  <meyering@redhat.com>
33112         git-version-gen: correct the advice in a comment
33113         * build-aux/git-version-gen: Correct comment.
33114         Don't recommend to list .tarball-version in .gitignore.
33116 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33118         base64: fix off-by-one buffer size bug
33119         Problem and (trivial) fix reported by Gijs van Tulder in
33120         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
33121         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
33122         * tests/test-base64.c (main): Catch the bug.
33124 2011-08-10  Eric Blake  <eblake@redhat.com>
33126         closein: correct comments
33127         * lib/closein.c (close_stdin): Improve comments.
33129 2011-08-09  Bruno Haible  <bruno@clisp.org>
33131         More tests for 'fseeko'.
33132         * tests/test-fseeko3.c: New file, from Eric Blake.
33133         * tests/test-fseeko3.sh: New file.
33134         * modules/fseeko-tests (Files): Add them.
33135         (TESTS): Add test-fseeko3.sh.
33136         (check_PROGRAMS): Add test-fseeko3.
33138 2011-08-09  Eric Blake  <eblake@redhat.com>
33140         fseeko: remove unneeded hack
33141         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
33143         fseeko: fix bug on glibc
33144         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
33145         Reported by John W. Eaton.
33147 2011-08-08  Bruno Haible  <bruno@clisp.org>
33149         unictype/base: Fix interoperability with preinstalled libunistring.
33150         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
33151         Reported by Simon Josefsson.
33153 2011-08-08  Bruno Haible  <bruno@clisp.org>
33155         iswblank: Detect declaration correctly.
33156         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
33157         AC_CHECK_DECLS invocation.
33159 2011-08-08  Bruno Haible  <bruno@clisp.org>
33161         tcgetsid: Detect declaration correctly.
33162         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
33163         AC_CHECK_DECLS invocation.
33164         Reported by Simon Josefsson.
33166 2011-08-08  Eric Blake  <eblake@redhat.com>
33168         largefile: fix typo that regressed large file support
33169         * modules/largefile (configure.ac-early): Fix section name.
33171 2011-08-06  Karl Berry  <karl@gnu.org>
33173         * MODULES.html.sh (func_all_files): _Noreturn is no longer
33174         a separate module.
33176 2011-08-05  Simon Josefsson  <simon@josefsson.org>
33178         openat: Fix warnings and commens when building unlinkat.c on Hurd.
33179         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
33180         get prototype for free.
33182 2011-08-04  Bruno Haible  <bruno@clisp.org>
33184         Tests for module 'pathmax'.
33185         * modules/pathmax-tests: New file.
33186         * tests/test-pathmax.c: New file.
33188         canonicalize-lgpl: Support larger filenames on the Hurd.
33189         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
33190         Reported by Paul Eggert.
33192         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
33193         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
33194         * lib/chdir-long.h: Include pathmax.h.
33195         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
33196         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
33197         (PATH_MAX): Remove code that is done by pathmax.h.
33198         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
33199         * lib/tmpfile.c: Add a comment.
33200         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
33201         * modules/chdir-long (Depends-on): Add pathmax.
33202         * modules/getcwd (Depends-on): Add pathmax.
33203         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
33204         is not defined.
33205         * doc/posix-headers/limits.texi: Mention the pathmax module.
33206         * NEWS: Mention the change.
33208 2011-08-02  Bruno Haible  <bruno@clisp.org>
33210         pthread_sigmask: Actually use results of gl_THREADLIB.
33211         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
33212         gl_THREADLIB, not gl_[]THREADLIB.
33213         Reported by Eric Blake.
33215 2011-08-02  Jim Meyering  <meyering@redhat.com>
33217         maint.mk: relax the default _gl_TS_function_match regexp
33218         * top/maint.mk (_gl_TS_function_match): Don't require at least one
33219         space between function name and "(" in an "extern" declaration.
33220         That would fail to match a decl with no space there: extern void foo();
33222 2011-07-31  Iain Nicol  <iain@thenicols.net>
33224         git-version-gen: document that EXTRA_DIST must include .version
33225         * build-aux/git-version-gen: In the how-to-use comment, document
33226         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
33227         will fail when run from an unpacked distribution tarball.
33229 2011-08-01  Bruno Haible  <bruno@clisp.org>
33231         wctype-h: Fix last change.
33232         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
33233         REPLACE_TOWLOWER to 0.
33234         Reported by Sam Steingold <sds@gnu.org>.
33236 2011-07-31  Bruno Haible  <bruno@clisp.org>
33238         frexpl: Update autoconf test.
33239         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
33240         according to changes of 2011-06-20.
33242 2011-07-31  Bruno Haible  <bruno@clisp.org>
33244         sys_utsname: Add support for Minix.
33245         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
33246         <sys/utsname.h>.
33247         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33248         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
33250 2011-07-31  Bruno Haible  <bruno@clisp.org>
33252         strings: Add support for Minix.
33253         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
33254         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33255         * doc/posix-headers/strings.texi: Document the Minix problem.
33257 2011-07-31  Bruno Haible  <bruno@clisp.org>
33259         wctype-h: Add support for Minix.
33260         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
33261         REPLACE_TOWLOWER.
33262         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
33263         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
33264         REPLACE_ISWCNTRL.
33266 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
33268         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
33269         This is a performance improvement for 64-bit hosts: it causes the
33270         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
33272 2011-07-31  Bruno Haible  <bruno@clisp.org>
33274         stdioext: Add support for Minix.
33275         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
33276         * lib/fpurge.c (fpurge): Likewise.
33277         * lib/freadahead.c (freadahead): Likewise.
33278         * lib/freadable.c (freadable): Likewise.
33279         * lib/freading.c (freading): Likewise.
33280         * lib/freadptr.c (freadptr): Likewise.
33281         * lib/freadseek.c (freadptrinc): Likewise.
33282         * lib/fseeko.c (rpl_fseeko): Likewise.
33283         * lib/fseterr.c (fseterr): Likewise.
33284         * lib/fwritable.c (fwritable): Likewise.
33285         * lib/fwriting.c (fwriting): Likewise.
33286         * lib/fflush.c (clear_ungetc_buffer): Update comment.
33287         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
33289 2011-07-31  Bruno Haible  <bruno@clisp.org>
33291         errno: Port to Minix.
33292         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
33293         ECONNABORTED are defined.
33294         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
33295         GNULIB_defined_ECONNABORTED): New macros.
33296         * lib/strerror-override.h (strerror_override): Test also
33297         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
33298         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
33299         ECONNABORTED.
33300         * doc/posix-headers/errno.texi: Mention the Minix problem.
33302 2011-07-31  Bruno Haible  <bruno@clisp.org>
33304         Work around declaration collisions on Minix.
33305         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
33306         defined, set REPLACE_MBSINIT.
33307         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
33308         defined, set REPLACE_MBRTOWC.
33309         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
33310         set REPLACE_MBRLEN.
33311         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
33312         defined, set REPLACE_MBSRTOWCS.
33313         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
33314         defined, set REPLACE_WCRTOMB.
33315         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
33316         defined, set REPLACE_WCSRTOMBS.
33318 2011-07-31  Bruno Haible  <bruno@clisp.org>
33320         Add support for Minix with ACK compiler.
33321         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
33322         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
33323         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
33325 2011-07-31  Bruno Haible  <bruno@clisp.org>
33327         Documentation about Minix.
33328         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
33329         * doc/glibc-headers/*.texi: Likewise.
33330         * doc/posix-functions/*.texi: Likewise.
33331         * doc/glibc-functions/*.texi: Likewise.
33333 2011-07-31  Bruno Haible  <bruno@clisp.org>
33335         snippet/warn-on-use: Fix indentation.
33336         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
33338 2011-07-25  Jim Meyering  <meyering@redhat.com>
33340         tests: test-update-copyright.sh: remove unnecessary "rm" commands
33341         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
33342         commands.
33344 2011-07-27  Jim Meyering  <meyering@redhat.com>
33346         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
33347         * top/maint.mk (gl_extract_significant_defines_): Now that
33348         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
33349         gnulib/lib/signal.in.h, and now that we recommend to
33350         define-if-undefined those two symbols in application code,
33351         we must filter them out of the "significant" list.
33352         This avoids a "make syntax-check" failure in coreutils.
33354 2011-07-26  Eric Blake  <eblake@redhat.com>
33356         warnings: add comments about previous patch
33357         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
33358         * m4/include_next.m4: Likewise.
33359         * m4/warn-on-use.m4: Likewise.
33360         * m4/warnings.m4: Likewise, and simplify use.
33361         Suggested by Stefano Lattarini.
33363         include-next, warnings: support older autoconf
33364         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
33365         AS_VAR_PUSHDEF in a way that works with older autoconf.
33366         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
33367         Reported by Daniel P. Berrange.
33369 2011-07-25  Bruno Haible  <bruno@clisp.org>
33371         fseek, ftell: Fix doc.
33372         * doc/posix-functions/fseek.texi: Reword statement about
33373         AC_SYS_LARGEFILE.
33374         * doc/posix-functions/ftell.texi: Likewise.
33376 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33377             Bruno Haible  <bruno@clisp.org>
33379         Add dependencies to the 'largefile' module.
33380         * modules/fopen (Depends-on): Add 'largefile'.
33381         * modules/freopen (Depends-on): Likewise.
33382         * modules/fseeko (Depends-on): Likewise.
33383         * modules/ftello (Depends-on): Likewise.
33384         * modules/glob (Depends-on): Likewise.
33385         * modules/lseek (Depends-on): Likewise.
33386         * modules/lstat (Depends-on): Likewise.
33387         * modules/mkostemp (Depends-on): Likewise.
33388         * modules/mkostemps (Depends-on): Likewise.
33389         * modules/mkstemp (Depends-on): Likewise.
33390         * modules/mkstemps (Depends-on): Likewise.
33391         * modules/open (Depends-on): Likewise.
33392         * modules/openat (Depends-on): Likewise.
33393         * modules/pread (Depends-on): Likewise.
33394         * modules/pwrite (Depends-on): Likewise.
33395         * modules/scandir (Depends-on): Likewise.
33396         * modules/stat (Depends-on): Likewise.
33397         * modules/tmpfile (Depends-on): Likewise.
33398         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
33399         since the containing module now depends on the largefile module.
33400         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
33401         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
33402         off_t is fixed by gnulib.
33403         * doc/posix-functions/freopen.texi: Likewise.
33404         * doc/posix-functions/fseeko.texi: Likewise.
33405         * doc/posix-functions/fstatat.texi: Likewise.
33406         * doc/posix-functions/ftello.texi: Likewise.
33407         * doc/posix-functions/glob.texi: Likewise.
33408         * doc/posix-functions/lseek.texi: Likewise.
33409         * doc/posix-functions/lstat.texi: Likewise.
33410         * doc/posix-functions/mkstemp.texi: Likewise.
33411         * doc/posix-functions/open.texi: Likewise.
33412         * doc/posix-functions/openat.texi: Likewise.
33413         * doc/posix-functions/pread.texi: Likewise.
33414         * doc/posix-functions/pwrite.texi: Likewise.
33415         * doc/posix-functions/scandir.texi: Likewise.
33416         * doc/posix-functions/stat.texi: Likewise.
33417         * doc/posix-functions/tmpfile.texi: Likewise.
33418         * doc/glibc-functions/mkostemp.texi: Likewise.
33419         * doc/glibc-functions/mkostemps.texi: Likewise.
33420         * doc/glibc-functions/mkstemps.texi: Likewise.
33422 2011-07-25  Bruno Haible  <bruno@clisp.org>
33424         fcntl: Move AC_LIBOBJ invocation to module description.
33425         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
33426         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
33428         fcntl: Remove call-in from fchdir.m4.
33429         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
33430         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
33432         dup3: Remove potential call-in from fchdir.m4.
33433         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
33434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
33436         dup2: Move AC_LIBOBJ invocation to module description.
33437         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
33438         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
33439         Don't invoke AC_LIBOBJ.
33440         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
33442         dup2: Remove call-in from fchdir.m4.
33443         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
33444         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
33446         fclose: Move AC_LIBOBJ invocation to module description.
33447         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
33448         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
33449         to 1.
33450         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
33452         fclose: Remove call-in from close.m4.
33453         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
33454         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
33456         close: Move AC_LIBOBJ invocation to module description.
33457         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
33458         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
33459         1.
33460         * modules/close (configure.ac): Invoke AC_LIBOBJ.
33462         close: Remove call-in from fchdir.m4.
33463         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
33464         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
33466         open: Move AC_LIBOBJ invocation to module description.
33467         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
33468         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
33469         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
33471         open: Remove call-in from fchdir.m4.
33472         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
33473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
33475         fchdir: Start to remove gl_REPLACE_* idiom.
33476         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
33477         (gl_FUNC_FCHDIR): Invoke it.
33479 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33481         * lib/ftell.c (ftell): Comment out cast.
33483         close: use gl_REPLACE_FCLOSE only if defined
33484         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
33485         is defined.  The close module doesn't depend on the fclose module
33486         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
33487         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
33488         I reproduced the problem with "./gnulib-tool --test close sys_socket".
33490 2011-07-24  Jim Meyering  <meyering@redhat.com>
33492         test-select.h: avoid warning when using gcc's -Wmissing-declarations
33493         * tests/test-select.h (test_function): Declare as "static".
33495 2011-07-24  Bruno Haible  <bruno@clisp.org>
33497         doc: Mention the effects of AC_SYS_LARGEFILE.
33498         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
33499         on this function.
33500         * doc/posix-functions/aio_error.texi: Likewise.
33501         * doc/posix-functions/aio_fsync.texi: Likewise.
33502         * doc/posix-functions/aio_read.texi: Likewise.
33503         * doc/posix-functions/aio_return.texi: Likewise.
33504         * doc/posix-functions/aio_suspend.texi: Likewise.
33505         * doc/posix-functions/aio_write.texi: Likewise.
33506         * doc/posix-functions/fgetpos.texi: Likewise.
33507         * doc/posix-functions/fopen.texi: Likewise.
33508         * doc/posix-functions/freopen.texi: Likewise.
33509         * doc/posix-functions/fsetpos.texi: Likewise.
33510         * doc/posix-functions/fstatvfs.texi: Likewise.
33511         * doc/posix-functions/ftruncate.texi: Likewise.
33512         * doc/posix-functions/ftw.texi: Likewise.
33513         * doc/posix-functions/getrlimit.texi: Likewise.
33514         * doc/posix-functions/glob.texi: Likewise.
33515         * doc/posix-functions/lio_listio.texi: Likewise.
33516         * doc/posix-functions/lockf.texi: Likewise.
33517         * doc/posix-functions/mkstemp.texi: Likewise.
33518         * doc/posix-functions/mmap.texi: Likewise.
33519         * doc/posix-functions/nftw.texi: Likewise.
33520         * doc/posix-functions/openat.texi: Likewise.
33521         * doc/posix-functions/opendir.texi: Likewise.
33522         * doc/posix-functions/posix_fadvise.texi: Likewise.
33523         * doc/posix-functions/posix_fallocate.texi: Likewise.
33524         * doc/posix-functions/pread.texi: Likewise.
33525         * doc/posix-functions/pwrite.texi: Likewise.
33526         * doc/posix-functions/readdir.texi: Likewise.
33527         * doc/posix-functions/readdir_r.texi: Likewise.
33528         * doc/posix-functions/rewinddir.texi: Likewise.
33529         * doc/posix-functions/scandir.texi: Likewise.
33530         * doc/posix-functions/seekdir.texi: Likewise.
33531         * doc/posix-functions/setrlimit.texi: Likewise.
33532         * doc/posix-functions/statvfs.texi: Likewise.
33533         * doc/posix-functions/telldir.texi: Likewise.
33534         * doc/posix-functions/tmpfile.texi: Likewise.
33535         * doc/posix-functions/truncate.texi: Likewise.
33536         * doc/glibc-functions/fallocate.texi: Likewise.
33537         * doc/glibc-functions/fstatfs.texi: Likewise.
33538         * doc/glibc-functions/fts_children.texi: Likewise.
33539         * doc/glibc-functions/fts_read.texi: Likewise.
33540         * doc/glibc-functions/getdirentries.texi: Likewise.
33541         * doc/glibc-functions/mkostemp.texi: Likewise.
33542         * doc/glibc-functions/mkostemps.texi: Likewise.
33543         * doc/glibc-functions/mkstemps.texi: Likewise.
33544         * doc/glibc-functions/preadv.texi: Likewise.
33545         * doc/glibc-functions/pwritev.texi: Likewise.
33546         * doc/glibc-functions/sendfile.texi: Likewise.
33547         * doc/glibc-functions/statfs.texi: Likewise.
33549 2011-07-24  Bruno Haible  <bruno@clisp.org>
33551         doc: Fix typo.
33552         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
33554 2011-07-24  Bruno Haible  <bruno@clisp.org>
33556         doc: Mention fsusage.
33557         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
33559 2011-07-24  Bruno Haible  <bruno@clisp.org>
33561         doc: Mention new glibc headers and functions.
33562         * doc/glibc-headers/gshadow.texi: New file.
33563         * doc/glibc-functions/endsgent.texi: New file.
33564         * doc/glibc-functions/fgetsgent.texi: New file.
33565         * doc/glibc-functions/fgetsgent_r.texi: New file.
33566         * doc/glibc-functions/getsgent.texi: New file.
33567         * doc/glibc-functions/getsgent_r.texi: New file.
33568         * doc/glibc-functions/getsgnam.texi: New file.
33569         * doc/glibc-functions/getsgnam_r.texi: New file.
33570         * doc/glibc-functions/putsgent.texi: New file.
33571         * doc/glibc-functions/setsgent.texi: New file.
33572         * doc/glibc-functions/sgetsgent.texi: New file.
33573         * doc/glibc-functions/sgetsgent_r.texi: New file.
33574         * doc/glibc-functions/malloc_info.texi: New file.
33575         * doc/glibc-functions/preadv.texi: New file.
33576         * doc/glibc-functions/pwritev.texi: New file.
33577         * doc/glibc-functions/register_printf_modifier.texi: New file.
33578         * doc/glibc-functions/register_printf_specifier.texi: New file.
33579         * doc/glibc-functions/register_printf_type.texi: New file.
33580         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
33581         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
33582         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
33583         * doc/glibc-functions/pthread_getname_np.texi: New file.
33584         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
33585         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
33586         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
33587         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
33588         * doc/glibc-functions/pthread_setname_np.texi: New file.
33589         * doc/glibc-functions/pthread_sigqueue.texi: New file.
33590         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
33591         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
33592         * doc/glibc-functions/qsort_r.texi: New file.
33593         * doc/glibc-functions/quick_exit.texi: New file.
33594         * doc/glibc-functions/syncfs.texi: New file.
33595         * doc/gnulib.texi: Include them.
33596         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
33597         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
33598         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
33599         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
33600         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
33601         * doc/glibc-functions/execvpe.texi: Likewise.
33603 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33605         ftell: don't include <unistd.h>
33606         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
33607         guaranteed to define off_t, and the ftell module depends on the
33608         stdio module.
33610         ftell: do not assume wraparound signed arithmetic
33611         * lib/ftell.c: Include <limits.h>.
33612         (ftell): Don't assume wraparound signed arithmetic.
33614 2011-07-24  Bruno Haible  <bruno@clisp.org>
33616         close: No longer depend on module 'fclose'.
33617         * modules/close (Depends-on): Remove fclose.
33618         * NEWS: Mention the change.
33619         Suggested by Sam Steingold <sds@gnu.org>.
33621 2011-07-24  Bruno Haible  <bruno@clisp.org>
33623         fsusage: Enable large volume support on AIX >= 5.2.
33624         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
33625         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
33626         instead of STAT_STATVFS.
33627         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
33629         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
33630         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
33631         f_blocks field only on MacOS X.
33633         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
33634         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
33635         * modules/fsusage (Depends-on): Add largefile.
33637 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33639         * README: Modernize discussion of signed integers.
33640         Assuming overflow wraparound is no longer safe.
33641         Mention ones' complement and signed magnitude.
33643 2011-07-22  Bruno Haible  <bruno@clisp.org>
33645         select tests, pselect tests: Refactor.
33646         * tests/test-select.h: New file, extracted from tests/test-select.c.
33647         (select_fn): New type.
33648         (test, do_select, do_select_nowait, do_select_wait, test_tty,
33649         test_connect_first, test_accept_first, test_pair, test_socket_pair,
33650         test_pipe): Add my_select argument.
33651         (test_function): Renamed from main. Add my_select argument.
33652         * tests/test-select.c: Move most code to tests/test-select.h. Include
33653         test-select.h.
33654         * modules/select-tests (Files): Add tests/test-select.h.
33655         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
33656         (my_select, main): New functions.
33657         * modules/pselect-tests (Files): Add tests/test-select.h,
33658         tests/macros.h, tests/signature.h.
33659         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
33660         (configure.ac): Check for <sys/wait.h>.
33662 2011-07-22  Bruno Haible  <bruno@clisp.org>
33664         sys_select tests: Check the signature of FD_*.
33665         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
33666         signature tests from here...
33667         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
33668         here.
33669         * modules/sys_select-tests (Files): Add tests/signature.h.
33671 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33673         largefile: new module, replacing large-inode
33674         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
33675         * MODULES.html.sh: Add largefile, remove large-inode.
33676         * modules/largefile, m4/largefile.m4: New files.
33677         * modules/large-inode, m4/large-inode.m4: Remove.
33679         fsusage: port to MacOS X 10.7 with 4 TiB file systems
33680         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
33681         implementations that use only 32 bits to count blocks.
33682         On typical hosts with 1024-byte blocks, this fails with file
33683         systems as small as 4 TiB.  Problem reported by Herb Wartens
33684         <http://debbugs.gnu.org/9140> and this should also fix a similar
33685         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
33687         large-inode: New module
33688         * MODULES.html.sh: Add it.
33689         * modules/large-inode, m4/large-inode.m4: New files.
33691         extensions: Enable extensions on MacOS X 10.5 and later.
33692         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
33694 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
33696         file-has-acl: use acl_extended_file_nofollow if available
33697         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
33698         (acl_extended_file): New macro.
33699         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
33700         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
33702 2011-07-21  Bruno Haible  <bruno@clisp.org>
33704         Declare system functions in a way that works with C++.
33705         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
33706         declare fdopendir as extern "C".
33707         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
33708         declare frexpl as extern "C".
33709         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
33710         declare gai_strerror as extern "C".
33711         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
33712         programs, declare gai_strerror as extern "C".
33713         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
33714         declare getlogin_r as extern "C".
33715         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
33716         as extern "C".
33717         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
33718         declare ldexpl as extern "C".
33719         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
33720         as extern "C".
33721         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
33722         program, declare getmntinfo as extern "C".
33723         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
33724         stpncpy as extern "C".
33725         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
33726         program, declare __xpg_strerror_r as extern "C".
33727         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
33728         strndup as extern "C".
33729         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
33730         declare memset and bzero as extern "C".
33731         Reported by Sam Steingold <sds@gnu.org>.
33733 2011-07-12  Jim Meyering  <meyering@redhat.com>
33735         maint.mk: prohibit inclusion of "verify.h" without use
33736         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
33738 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33740         timer-time: A new module to check for timer_settime()
33741         * m4/timer_time.m4: Check for the posix function.
33742         * modules/timer-time: Add the new module.
33743         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33744         Mention it.
33746 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33747             Bruno Haible  <bruno@clisp.org>
33749         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33750         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33751         not defined, assume POSIX threads and look for pthread_sigmask in
33752         $LIBS, without changing $CPPFLAGS.
33754 2011-07-19  Bruno Haible  <bruno@clisp.org>
33756         strstr: Update cross-compilation guess.
33757         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33758         CPUs, guess no, in view of glibc
33759         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33760         Suggested by Eric Blake. Reported by Reuben Thomas.
33762 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33764         getopt-gnu: suppress core dumps from detection code
33765         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33766         to suppress core dumps that may well occur on glibc systems.
33767         * modules/getopt-gnu: Depend on nocrash.
33769 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33771         pthread_sigmask: ensure usleep is declared
33772         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33773         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33775 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33777         doc: Document NonStop portability issues.
33778         * doc/posix-functions/sigaction.texi (sigaction):
33779         * doc/posix-headers/signal.texi (signal.h):
33780         Document NonStop.  See Joachim Schmitz in
33781         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33783 2011-07-15  Bruno Haible  <bruno@clisp.org>
33785         ffsl, ffsll: Avoid unportable behaviour.
33786         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33788 2011-07-15  Bruno Haible  <bruno@clisp.org>
33790         ffs: More tests.
33791         * tests/test-ffs.c (NBITS): New macro.
33792         (main): Add more tests.
33793         * tests/test-ffsl.c (NBITS): New macro.
33794         (main): Add more tests.
33795         * tests/test-ffsll.c (NBITS): New macro.
33796         (main): Add more tests.
33798 2011-07-15  Eric Blake  <eblake@redhat.com>
33800         ffsl, ffsll: new modules
33801         * modules/ffsl: New file.
33802         * modules/ffsll: Likewise.
33803         * m4/ffsl.m4: Likewise.
33804         * m4/ffsll.m4: Likewise.
33805         * lib/ffsl.c: Likewise.
33806         * lib/ffsl.h: Likewise.
33807         * lib/ffsll.c: Likewise.
33808         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33809         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33810         * modules/string (Makefile.am): Substitute witnesses.
33811         * lib/strings.in.h (ffsl, ffsll): Declare.
33812         * modules/ffsl-tests: New test file.
33813         * modules/ffsll-tests: Likewise.
33814         * tests/test-ffsl.c: Likewise.
33815         * tests/test-ffsll.c: Likewise.
33816         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33817         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33818         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33820         ffs: fix m4 prerequisite
33821         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33823         ffs: avoid undefined behavior
33824         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33825         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33826         Reported by Bruno Haible.
33828 2011-07-12  Bruno Haible  <bruno@clisp.org>
33830         pthread_sigmask: Rely on module 'threadlib'.
33831         * modules/pthread_sigmask (Depends-on): Add threadlib.
33832         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33833         is defined.
33835 2011-07-12  Bruno Haible  <bruno@clisp.org>
33837         regex: Depend on module 'strcase'.
33838         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33840 2011-07-12  Jim Meyering  <meyering@redhat.com>
33842         warn-on-use: fix typo in file name
33843         * modules/snippet/warn-on-use (Files): Correct file name:
33844         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33846 2011-07-12  Bruno Haible  <bruno@clisp.org>
33848         strings: Document module.
33849         * doc/posix-headers/strings.texi: Mention module 'strings'.
33851 2011-07-12  Bruno Haible  <bruno@clisp.org>
33853         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33854         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33855         (Files, Makefile.am): Update.
33856         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33857         * modules/stdlib (Depends-on): Update.
33859 2011-07-12  Bruno Haible  <bruno@clisp.org>
33861         * NEWS: Mention the changes.
33863         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33864         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33865         (Files, Makefile.am): Update.
33866         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33867         * modules/arpa_inet (Depends-on): Update.
33868         * modules/ctype (Depends-on): Update.
33869         * modules/dirent (Depends-on): Update.
33870         * modules/fcntl-h (Depends-on): Update.
33871         * modules/glob (Depends-on): Update.
33872         * modules/iconv-h (Depends-on): Update.
33873         * modules/inttypes-incomplete (Depends-on): Update.
33874         * modules/langinfo (Depends-on): Update.
33875         * modules/locale (Depends-on): Update.
33876         * modules/math (Depends-on): Update.
33877         * modules/netdb (Depends-on): Update.
33878         * modules/poll-h (Depends-on): Update.
33879         * modules/pty (Depends-on): Update.
33880         * modules/search (Depends-on): Update.
33881         * modules/signal (Depends-on): Update.
33882         * modules/spawn (Depends-on): Update.
33883         * modules/stdio (Depends-on): Update.
33884         * modules/stdlib (Depends-on): Update.
33885         * modules/string (Depends-on): Update.
33886         * modules/strings (Depends-on): Update.
33887         * modules/sys_file (Depends-on): Update.
33888         * modules/sys_ioctl (Depends-on): Update.
33889         * modules/sys_select (Depends-on): Update.
33890         * modules/sys_socket (Depends-on): Update.
33891         * modules/sys_stat (Depends-on): Update.
33892         * modules/sys_time (Depends-on): Update.
33893         * modules/sys_times (Depends-on): Update.
33894         * modules/sys_utsname (Depends-on): Update.
33895         * modules/sys_wait (Depends-on): Update.
33896         * modules/termios (Depends-on): Update.
33897         * modules/time (Depends-on): Update.
33898         * modules/unistd (Depends-on): Update.
33899         * modules/wchar (Depends-on): Update.
33900         * modules/wctype-h (Depends-on): Update.
33901         * MODULES.html.sh (Support for building libraries and executables):
33902         Update.
33904         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33905         * modules/snippet/unused-parameter: Renamed from
33906         modules/unused-parameter.
33907         (Files, Makefile.am): Update.
33908         * build-aux/snippet/unused-parameter.h: Renamed from
33909         build-aux/unused-parameter.h.
33910         * modules/selinux-h (Depends-on): Update.
33911         * modules/unistr/base (Depends-on): Update.
33912         * MODULES.html.sh (Core language properties): Update.
33914         Rename module 'link-warning' to 'snippet/link-warning'.
33915         * modules/snippet/link-warning: Renamed from modules/link-warning.
33916         (Files, Makefile.am): Update.
33917         * build-aux/snippet/link-warning.h: Renamed from
33918         build-aux/link-warning.h.
33919         * MODULES.html.sh (Support for building libraries and executables):
33920         Update.
33922         Rename module 'c++defs' to 'snippet/c++defs'.
33923         * modules/snippet/c++defs: Renamed from modules/c++defs.
33924         (Files, Makefile.am): Update.
33925         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33926         * modules/arpa_inet (Depends-on): Update.
33927         * modules/ctype (Depends-on): Update.
33928         * modules/dirent (Depends-on): Update.
33929         * modules/fcntl-h (Depends-on): Update.
33930         * modules/glob (Depends-on): Update.
33931         * modules/iconv-h (Depends-on): Update.
33932         * modules/langinfo (Depends-on): Update.
33933         * modules/locale (Depends-on): Update.
33934         * modules/math (Depends-on): Update.
33935         * modules/netdb (Depends-on): Update.
33936         * modules/poll-h (Depends-on): Update.
33937         * modules/pty (Depends-on): Update.
33938         * modules/search (Depends-on): Update.
33939         * modules/signal (Depends-on): Update.
33940         * modules/spawn (Depends-on): Update.
33941         * modules/stdio (Depends-on): Update.
33942         * modules/stdlib (Depends-on): Update.
33943         * modules/string (Depends-on): Update.
33944         * modules/strings (Depends-on): Update.
33945         * modules/sys_ioctl (Depends-on): Update.
33946         * modules/sys_select (Depends-on): Update.
33947         * modules/sys_socket (Depends-on): Update.
33948         * modules/sys_stat (Depends-on): Update.
33949         * modules/sys_time (Depends-on): Update.
33950         * modules/sys_wait (Depends-on): Update.
33951         * modules/termios (Depends-on): Update.
33952         * modules/time (Depends-on): Update.
33953         * modules/unistd (Depends-on): Update.
33954         * modules/wchar (Depends-on): Update.
33955         * modules/wctype-h (Depends-on): Update.
33957         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33958         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33959         (Files, Makefile.am): Update.
33960         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33961         * modules/argv-iter (Depends-on): Update.
33962         * modules/arpa_inet (Depends-on): Update.
33963         * modules/dirent (Depends-on): Update.
33964         * modules/fcntl-h (Depends-on): Update.
33965         * modules/fnmatch (Depends-on): Update.
33966         * modules/getopt-posix (Depends-on): Update.
33967         * modules/glob (Depends-on): Update.
33968         * modules/iconv-h (Depends-on): Update.
33969         * modules/inttypes-incomplete (Depends-on): Update.
33970         * modules/locale (Depends-on): Update.
33971         * modules/math (Depends-on): Update.
33972         * modules/netdb (Depends-on): Update.
33973         * modules/search (Depends-on): Update.
33974         * modules/signal (Depends-on): Update.
33975         * modules/spawn (Depends-on): Update.
33976         * modules/stdio (Depends-on): Update.
33977         * modules/stdlib (Depends-on): Update.
33978         * modules/string (Depends-on): Update.
33979         * modules/strings (Depends-on): Update.
33980         * modules/sys_socket (Depends-on): Update.
33981         * modules/sys_stat (Depends-on): Update.
33982         * modules/sys_time (Depends-on): Update.
33983         * modules/sys_times (Depends-on): Update.
33984         * modules/sys_utsname (Depends-on): Update.
33985         * modules/time (Depends-on): Update.
33986         * modules/unistd (Depends-on): Update.
33987         * modules/wchar (Depends-on): Update.
33988         * MODULES.html.sh (Support for building libraries and executables):
33989         Update.
33991 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33993         Improvements on _Noreturn and related modules.
33995         modules/_Exit-tests: test _Noreturn too
33996         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
33997         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
33998         (main): Use them.
34000         stdnoreturn, stdnoreturn-tests: remove modules
34001         They're not needed here and a bit premature for use elsewhere.  See
34002         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
34003         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
34004         * tests/test-stdnoreturn.c: Remove files.
34005         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
34006         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
34007         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
34008         and using noreturn.
34009         * modules/openat, modules/sigpipe-die, modules/xalloc:
34010         * modules/xmemdup0, modules/xstrtol:
34011         Remove dependency on stdnoreturn.
34013         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
34014         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
34015         Reparenthesize to avoid GCC warning.
34016         Support Microsoft's syntax.
34017         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
34019         _Noreturn-tests: remove module
34020         * modules/_Noreturn-tests: Remove.
34021         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
34022         * tests/test-_Noreturn.c: Remove.
34023         * tests/test-stdnoreturn.c: Merge from the old
34024         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
34026 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34028         _Noreturn, stdnoreturn, and related modules.
34030         * top/maint.mk: Adjust to new noreturn support.
34031         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
34032         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
34034         xalloc: use stdnoreturn.h
34035         * lib/xalloc.h: Include <stdnoreturn.h>.
34036         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34037         * modules/xalloc (Depends-on): Add stdnoreturn.
34039         xstrtol: use stdnoreturn.h
34040         * lib/xstrtol.h: Include <stdnoreturn.h>.
34041         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34042         * modules/xstrtol (Depends-on): Add stdnoreturn.
34044         xmemdup0: use stdnoreturn.h
34045         * lib/xmemdup0.h: Include <stdnoreturn.h>.
34046         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34047         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
34049         sigpipe-die: use stdnoreturn.h
34050         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
34051         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34052         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
34054         openat: use stdnoreturn.h
34055         * lib/openat.h: Include <stdnoreturn.h>.
34056         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34057         * modules/openat (Depends-on): Add stdnoreturn.
34059         * lib/openat-die.c (openat_save_fail): Modernize comment.
34061         * lib/xalloc-die.c (xalloc_die): Modernize comment.
34063         * lib/glthread/thread.h: Modernize comment.
34065         obstack: use _Noreturn
34066         * lib/obstack.c (__attribute__): Remove macro.
34067         (print_and_abort): Use _Noreturn.
34069         c-stack: use _Noreturn
34070         * lib/c-stack.c (die, overflow_handler, segv_handler):
34071         Use _Noreturn rather than __attribute__((noreturn)).
34073         argmatch-tests, exclude_tests: use _Noreturn
34074         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
34075         Remove.
34076         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
34078         stdlib: use _Noreturn
34079         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
34080         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
34081         * modules/stdlib (Depends-on): Add _Noreturn.
34082         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
34084         stdnoreturn-tests: new module
34085         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
34087         stdnoreturn: new module
34088         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
34089         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
34091         _Noreturn-tests: new module
34092         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
34094         _Noreturn: new module
34095         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
34096         New section, mentioning it.
34097         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
34099         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
34101 2011-07-11  Eric Blake  <eblake@redhat.com>
34103         ffs: new module
34104         * modules/ffs: New file.
34105         * m4/ffs.m4: Likewise.
34106         * lib/ffs.c: Likewise.
34107         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
34108         * modules/strings (Makefile.am): Substitute witness.
34109         (Depends-on): Add c++defs.
34110         * lib/strings.in.h (ffs): Declare.
34111         * modules/ffs-tests: New test file.
34112         * tests/test-ffs.c: Test new module.
34113         * MODULES.html.sh (Integer arithmetic functions): Mention it.
34114         * doc/posix-functions/ffs.texi (ffs): Likewise.
34116         regex: avoid compiler warning
34117         * lib/regex.c (includes): Include <strings.h>, for use of
34118         strcasecmp in regcomp.c.
34119         Reported by Joachim Schmitz.
34121 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34123         stdint: respect system's intmax_t if INTMAX_MAX
34124         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
34125         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
34126         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
34127         long but int64_t is long long, and where we will clash with the
34128         system intmax_t if we override it.  See
34129         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
34130         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
34131         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
34132         similarly for UINTMAX_C.
34134 2011-07-08  Bruno Haible  <bruno@clisp.org>
34136         pthread_sigmask tests: Avoid a compiler warning.
34137         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
34138         non-zero.
34140         sigprocmask tests: A better way to avoid a compiler warning.
34141         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
34142         (main): Complain if system() returns non-zero.
34143         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
34145 2011-07-08  Bruno Haible  <bruno@clisp.org>
34147         pthread_sigmask: Work around IRIX bug.
34148         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
34149         bug.
34150         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
34151         there may be unblocked pending signals.
34152         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
34154 2011-07-08  Bruno Haible  <bruno@clisp.org>
34156         pthread_sigmask: Work around Cygwin bug.
34157         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
34158         bug.
34159         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
34160         the system's pthread_sigmask function.
34161         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
34163 2011-07-08  Bruno Haible  <bruno@clisp.org>
34165         pthread_sigmask: Work around bug in single-threaded implementation.
34166         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
34167         FreeBSD, HP-UX, Solaris bug.
34168         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
34169         * lib/pthread_sigmask.c: Include <stddef.h>.
34170         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
34171         the system's pthread_sigmask function.
34172         * modules/pthread_sigmask (configure.ac): Invoke
34173         gl_PREREQ_PTHREAD_SIGMASK.
34174         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
34175         HP-UX, Solaris.
34177 2011-07-08  Eric Blake  <eblake@redhat.com>
34179         test-sigprocmask: avoid compiler warning
34180         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
34181         * tests/test-sigprocmask.c (main): Use it to silence warning.
34182         Reported by Jim Meyering.
34184         test-snprintf: avoid compiler warning
34185         * tests/test-snprintf.c (main): Avoid shadowed declaration.
34186         * tests/test-vsnprintf.c (main): Likewise.
34187         Reported by Jim Meyering.
34189 2011-07-08  Bruno Haible  <bruno@clisp.org>
34191         Tests for module 'pthread_sigmask'.
34192         * modules/pthread_sigmask-tests: New file.
34193         * tests/test-pthread_sigmask1.c: New file, based on
34194         tests/test-sigprocmask.c.
34195         * tests/test-pthread_sigmask2.c: New file.
34197 2011-07-08  Jim Meyering  <meyering@redhat.com>
34199         test-getopt.h: avoid warning about an unused variable
34200         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
34202 2011-07-07  Jim Meyering  <meyering@redhat.com>
34204         maint: reduce list of files exempt from sc_prohibit_leading_TABs
34205         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
34206         now that it no longer contains leading TABs.
34207         Remove unused "url=FIXME" statement.
34209 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
34211         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
34212         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34213         When gl_THREADLIB is not in use, assume that the POSIX sematics
34214         are desired.  This is better for Emacs, which uses POSIX semantics
34215         on GNUish and/or POSIXish platforms, and does not use threads at
34216         all otherwise.
34218         pthread_sigmask: fix typo when testing for libraries
34219         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34220         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
34222 2011-07-08  Eric Blake  <eblake@redhat.com>
34224         fts: introduce FTS_NOATIME
34225         * lib/fts_.h (FTS_NOATIME): New bit flag.
34226         (FTS_OPTIONMASK): Adjust.
34227         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
34228         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
34230 2011-07-08  Bruno Haible  <bruno@clisp.org>
34232         Tests for module 'thread'.
34233         * modules/thread-tests: New file.
34234         * tests/test-thread_self.c: New file.
34235         * tests/test-thread_create.cc: New file.
34237 2011-07-08  Bruno Haible  <bruno@clisp.org>
34239         thread: Avoid gcc warnings when using gl_thread_self().
34240         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
34241         'void *'.
34242         (gl_thread_self_pointer): Update.
34244 2011-07-07  Bruno Haible  <bruno@clisp.org>
34246         signal-c++-tests: Check declaration of pthread_sigmask.
34247         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
34248         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
34249         $(LIB_PTHREAD_SIGMASK).
34251 2011-07-07  Bruno Haible  <bruno@clisp.org>
34253         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
34254         * lib/signal.in.h (pthread_sigmask): Override if
34255         REPLACE_PTHREAD_SIGMASK is 1.
34256         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34257         REPLACE_PTHREAD_SIGMASK.
34258         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
34259         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
34260         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
34261         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34262         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
34264 2011-07-07  Bruno Haible  <bruno@clisp.org>
34266         pthread_sigmask: Ensure declaration in <signal.h>.
34267         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
34268         include <pthread.h>.
34269         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
34270         problem.
34272 2011-07-07  Bruno Haible  <bruno@clisp.org>
34274         pthread_sigmask: Document the module.
34275         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
34277 2011-07-07  Bruno Haible  <bruno@clisp.org>
34279         pthread_sigmask: Follow gnulib conventions.
34280         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
34281         gl_PTHREAD_SIGMASK.
34282         * modules/pthread_sigmask (configure.ac): Update.
34284 2011-07-07  Bruno Haible  <bruno@clisp.org>
34286         pthread_sigmask: Make declaration C++ safe.
34287         * lib/signal.in.h: In two special conditions, just do an #include_next.
34288         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34289         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
34290         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34291         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34292         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
34293         not REPLACE_PTHREAD_MASK.
34294         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
34295         not REPLACE_PTHREAD_MASK.
34296         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34298 2011-07-07  Bruno Haible  <bruno@clisp.org>
34300         pthread_sigmask: Fix return value.
34301         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
34302         * lib/pthread_sigmask.c: New file.
34303         * modules/pthread_sigmask (Files): Add it.
34304         (configure.ac): Invoke AC_LIBOBJ.
34306 2011-07-07  Eric Blake  <eblake@redhat.com>
34308         getopt: more portable argv creation
34309         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
34310         const, use char arrays rather than strings.
34311         Suggested by Paul Eggert.
34313 2011-07-07  Bruno Haible  <bruno@clisp.org>
34315         Tests for module 'sigprocmask'.
34316         * modules/sigprocmask-tests: New file.
34317         * tests/test-sigprocmask.c: New file.
34319 2011-07-07  Bruno Haible  <bruno@clisp.org>
34321         float tests: Tweak.
34322         * tests/test-float.c (main): Tweak skip message.
34324 2011-07-07  Eric Blake  <eblake@redhat.com>
34326         getopt: avoid compiler warning during configure
34327         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
34328         assigning string literals to non-const pointer.
34330         getopt-gnu: avoid crash in glibc getopt
34331         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
34332         * tests/test-getopt.h (test_getopt): Enhance test.
34333         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34334         * doc/posix-functions/getopt.texi (getopt): Document it.
34335         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34336         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34337         Likewise.
34339 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
34341         getopt: handle W; without long options in getopt [BZ #12922]
34342         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
34343         but no long options are defined, just return 'W'.
34345 2011-07-07  Bruno Haible  <bruno@clisp.org>
34347         Avoid literal tabs.
34348         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
34349         variable containing a tab instead of a literal tab.
34350         Reported by Jim Meyering.
34352 2011-07-07  Bruno Haible  <bruno@clisp.org>
34354         Comments.
34355         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
34357 2011-07-06  Bruno Haible  <bruno@clisp.org>
34359         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
34360         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
34361         <winsock2.h>.
34362         (rpl_fd_isset, FD_ISSET): New definitions, copied from
34363         lib/sys_socket.in.h.
34364         (close, gethostname): Hide declarations from <winsock2.h>.
34365         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34366         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
34367         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
34368         (select): Don't override if gnulib's <sys/select.h> was already
34369         included.
34370         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34371         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34372         setsockopt, shutdown, select): Tweak indentation.
34374 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34376         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
34377         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
34378         in an application that does not use the sys_select module.
34380 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
34382         poll: do not return 0 on timeout=-1
34383         * lib/poll.c: Loop with yield if no events occurred.
34385 2011-07-06  Eric Blake  <eblake@redhat.com>
34387         pthread_sigmask: always replace when not using pthread
34388         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
34389         replacement when using some threading other than pthread.  Fix
34390         logic bug.
34392 2011-07-06  Bruno Haible  <bruno@clisp.org>
34394         Comments.
34395         * m4/printf.m4: Update comments about mingw.
34397 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34399         sys_select: define sigset_t more portably
34400         * lib/sys_select.in.h: Always include <sys/types.h>, since
34401         we now need sigset_t and mingw defines it there.
34402         Include <signal.h> before split inclusion guard, to avoid
34403         mishaps on Solaris, whose <signal.h> eventually includes us.
34404         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
34405         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
34406         which come from ...
34407         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
34408         gl_CHECK_TYPE_SIGSET_T.
34409         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
34410         does the real work.
34411         * modules/sys_select (Depends-on): Add 'signal'.
34413         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
34414         Suggested by Bruno Haible.
34416         pselect: Use pthread_sigmask, not sigprocmask.
34417         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
34418         multithreaded apps better than sigprocmask does.
34419         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
34420         sigprocmask directly.
34422 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34424         * lib/pselect.c (pselect): Use plain name, without "rpl_".
34425         Don't #undef,  since we don't need any underlying pselect.
34426         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
34427         (Depends-on): Add select.
34428         (Link): Add $(LIBSOCKET).
34429         These changes suggested by Bruno Haible.
34431         pselect: document better
34432         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34433         * doc/posix-functions/pselect.texi (pselect): Document new module.
34435         pthread_sigmask: new module
34436         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34437         * doc/posix-functions/pthread_sigmask.texi: Document new module.
34438         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
34439         This is done only as a macro; I don't know how well that'll
34440         work for C++.  Move <sys/types.h> include before the include_next,
34441         to avoid mishap on Solaris.
34442         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
34443         * modules/signal (Makefile.am): Substitute the check's results.
34444         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
34446         test-pselect: new module
34447         * modules/pselect-tests, tests/test-pselect.c: New files.
34448         * tests/test-select.c, tests/test-sys_select-c++.cc:
34449         If TEST_PSELECT is defined, test pselect instead of testing select.
34451         * tests/test-sys_select.c (sigset_t): Test for it, too.
34452         Suggested by Bruno Haible.
34454 2011-07-05  Eric Blake  <eblake@redhat.com>
34456         snprintf: guarantee %1$d, for libintl
34457         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
34458         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
34459         * doc/posix-functions/snprintf.texi (snprintf): Update.
34460         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34461         * tests/test-snprintf.c (main): Enhance test.
34462         * tests/test-vsnprintf.c (main): Likewise.
34464 2011-07-05  Jim Meyering  <meyering@redhat.com>
34466         maint: exempt stdio-read.c and stdio-write.c from the cppi check
34467         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
34468         per Bruno's request, to accommodate this idiom (no space after "#")
34469         even when the function is inside an #if block:
34470         char *
34471         gets (char *s)
34472         #undef gets
34473         {
34474           ...
34475         }
34477 2011-07-04  Jim Meyering  <meyering@redhat.com>
34479         maint: indent with spaces, not TABs, and add a rule to check this
34480         * tests/test-userspec.c: Indent with spaces, not TABs.
34481         * tests/test-argp.c: Likewise.
34482         * tests/test-c-stack2.sh: Likewise.
34483         * tests/test-parse-duration.sh: Likewise
34484         * m4/strtod.m4: Likewise.
34485         * m4/alloca.m4: Likewise.
34486         * m4/pselect.m4: Likewise.
34487         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
34489 2011-07-03  Jim Meyering  <meyering@redhat.com>
34491         maint.mk: correct omissions in prohibit_argmatch_without_use check
34492         This rule would mistakenly report that argmatch.h is included without
34493         use even when both the argmatch and invalid_arg macro were used.
34494         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
34495         of argmatch and invalid_arg.
34497 2011-07-03  Bruno Haible  <bruno@clisp.org>
34499         Comments about EINTR.
34500         * lib/safe-read.h: Explain the purpose of this module.
34501         * lib/safe-write.h: Likewise.
34502         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
34503         module.
34504         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
34505         module.
34506         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34508 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34510         xnanosleep: Rewrite to use new dtotimespec module.
34511         It has the conversion code that used to be in xnanosleep.
34512         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
34513         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
34514         (TIME_T_MAX): Remove.
34515         (xnanosleep): Rewrite in terms of dtotimespec.
34516         * modules/xnanosleep (Depends-on): Add dtotimespec.
34517         Remove intprops, stdbool.
34519         timespec-add, timespec-sub: new modules
34520         * lib/timespec.h (timespec_add, timespec_sub): New decls.
34521         * lib/timespec-add.c, lib/timespec-sub.c:
34522         * modules/timespec-add, modules/timespec-sub: New files.
34524         dtotimespec: new module
34525         * lib/timespec.h (dtotimespec): New decl.
34526         * lib/dtotimespec.c, modules/dtotimespec: New files.
34528         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
34530         pselect: new module
34531         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
34532         (pselect): New decls.
34533         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
34534         since the standard pselect decl uses 'restrict'.
34535         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
34536         HAVE_PSELECT, REPLACE_PSELECT.
34537         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
34538         HAVE_PSELECT, REPLACE_PSELECT.
34539         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
34541         sys_select: don't depend on sys_socket
34542         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
34543         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
34544         This fix works on GNU and GNU-like platforms, but has not been tested
34545         on native Windows.
34546         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
34547         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
34548         gl_HEADER_SYS_SOCKET.
34549         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
34550         gl_PREREQ_SYS_H_WINSOCK2.
34552 2011-06-29  Eric Blake  <eblake@redhat.com>
34554         pipe2: fix C89 compile problem
34555         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
34556         Reported by Bruno Haible.
34558         pipe, pipe2: don't corrupt fd on error
34559         * lib/pipe.c (pipe): Leave fd unchanged on error.
34560         * lib/pipe2.c (pipe2): Likewise.
34561         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
34562         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34564 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
34566         mmap-anon: do not use regular expressions inadvertently
34567         * m4/mmap-anon.m4: Remove trailing period from strings sought
34568         in the output.
34570 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
34572         nanosleep: fix integer overflow problem
34573         * lib/nanosleep.c (my_usleep): Don't assume signed integer
34574         arithmetic wraps around on overflow.
34576         nanosleep: simplify carrying
34577         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
34578         first call to the underyling nanosleep, not for the last one.
34579         This doesn't fix any bugs, but it simplifies the computation of
34580         the remaining delay.  Found while auditing integer overflow issues.
34582         dup2: remove test for existence of fcntl
34583         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
34584         "#if HAVE_FCNTL", in the configure-time test program.
34585         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
34586         and therefore speeds up "configure" a bit.  Found while
34587         adding the dup2 module to Emacs.
34589 2011-06-24  Eric Blake  <eblake@redhat.com>
34591         maint.mk: enhance useless header checks
34592         * top/maint.mk (_sc_header_without_use): Check both include
34593         styles.
34594         (sc_prohibit_assert_without_use)
34595         (sc_prohibit_close_stream_without_use)
34596         (sc_prohibit_getopt_without_use)
34597         (sc_prohibit_quotearg_without_use)
34598         (sc_prohibit_quote_without_use)
34599         (sc_prohibit_long_options_without_use)
34600         (sc_prohibit_inttostr_without_use)
34601         (sc_prohibit_ignore_value_without_use)
34602         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
34603         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
34604         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
34605         (sc_prohibit_hash_pjw_without_use)
34606         (sc_prohibit_safe_read_without_use)
34607         (sc_prohibit_argmatch_without_use)
34608         (sc_prohibit_canonicalize_without_use)
34609         (sc_prohibit_root_dev_ino_without_use)
34610         (sc_prohibit_openat_without_use)
34611         (sc_prohibit_c_ctype_without_use)
34612         (sc_prohibit_signal_without_use)
34613         (sc_prohibit_stdio--_without_use)
34614         (sc_prohibit_stdio-safer_without_use)
34615         (sc_prohibit_strings_without_use)
34616         (sc_prohibit_intprops_without_use)
34617         (sc_prohibit_stddef_without_use)
34618         (sc_prohibit_xfreopen_without_use): Update clients.
34620 2011-06-24  Jim Meyering  <meyering@redhat.com>
34622         syntax-check: keep one maint.mk rule in sync with its header
34623         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
34624         of the bug Eric has just fixed, with today's commit 25e4c2ec.
34625         I prefer to avoid temporary files here, so use <(...), but that
34626         is not supported by /bin/sh, so...
34627         (SHELL): Define to /bin/bash.
34629 2011-06-24  Eric Blake  <eblake@redhat.com>
34631         maint.mk: update sc_prohibit_intprops_without_use
34632         * top/maint.mk (_intprops_names): Match recent changes.
34634 2011-06-24  Bruno Haible  <bruno@clisp.org>
34636         strerror-override: No-op tweak.
34637         * lib/strerror-override.h (strerror_override): Reorder conditions,
34638         for consistency with lib/strerror-override.c.
34640 2011-06-23  Eric Blake  <eblake@redhat.com>
34642         maint.mk: test further PATH_MAX issues
34643         * top/maint.mk (sc_prohibit_path_max_array): Rename...
34644         (sc_prohibit_path_max_allocation): ...and also test alloca.
34645         Suggested by Jim Meyering.
34647 2011-06-22  Eric Blake  <eblake@redhat.com>
34649         maint.mk: add syntax-check to avoid char[PATH_MAX]
34650         * top/maint.mk (sc_prohibit_path_max_array): New rule.
34652         stat: be robust to PATH_MAX definition
34653         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
34654         * modules/stat (Depends-on): Add verify.
34656         link: work around IRIX bug
34657         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
34658         * lib/link.c (rpl_link): Work around it.
34659         * tests/test-link.h (test_link): Enhance test.
34660         * doc/posix-functions/link.texi (link): Document the bug.
34662         getopt: silence clang warning
34663         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
34664         dereference.
34665         Reported by Gustavo Martin Domato.
34667 2011-06-22  Jim Meyering  <meyering@redhat.com>
34669         bootstrap: do not insert a blank line into each .gitignore file
34670         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
34672 2011-06-21  Eric Blake  <eblake@redhat.com>
34674         perror: test for output mismatch
34675         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
34676         perror on IRIX.
34678         strerror_r: fix OpenBSD behavior on out-of-range
34679         * lib/strerror_r.c (strerror_r): Always use maximal string.
34680         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
34682         strerror_r: fix OpenBSD behavior on 0
34683         * lib/strerror-override.c (strerror_override): Also override 0
34684         when needed.
34685         * lib/strerror-override.h (strerror_override): Likewise.
34686         * lib/strerror.c (strerror): Simplify, now that 0 override is done
34687         earlier.
34688         * lib/strerror_r.c (strerror_r): Likewise.
34689         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
34690         behavior...
34691         (gl_FUNC_STRERROR_0): ...into new macro.
34692         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
34693         is overridden.
34694         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
34695         * modules/strerror-override (Files): Add strerror.m4.
34696         (configure.ac): Also provide override for 0 when needed.
34697         * doc/posix-functions/strerror.texi (strerror): Document this.
34698         * doc/posix-functions/perror.texi (perror): Likewise.
34700         perror: adjust array size
34701         * modules/perror (Depends-on): Add strerror-override.
34702         * lib/perror.c (perror): Use it to avoid magic number.
34704         strerror-override: reduce size
34705         * lib/strerror-override.c (strerror_override): Use fewer lines.
34707 2011-06-20  Bruno Haible  <bruno@clisp.org>
34709         pathmax: Ensure correct value for PATH_MAX on HP-UX.
34710         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
34712 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34714         alloca: port to compilers that can optimize like GCC 4.6.0
34715         * lib/alloca.c (find_stack_direction): New signature, taken from
34716         Autoconf git.  This works with GCC 4.6.0.  This code should never
34717         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
34718         be used with other compilers that optimize as well as GCC 4.6.0 does.
34719         (alloca): Adjust to new signature.
34720         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
34721         New macro, which patches Autoconf in a similar way.
34723         c-stack: stop worrying about stack direction
34724         * lib/c-stack.c (find_stack_direction): Remove.
34725         (segv_handler): Don't worry about stack direction growth, as it's
34726         too much of a pain to configure this correctly, given how compilers
34727         are optimizing-away our stack-growth detection code.  Instead, assume
34728         that any access to just before or just after the stack is OK.
34729         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34730         Don't require AC_FUNC_ALLOCA; no longer needed.
34732 2011-06-20  Eric Blake  <eblake@redhat.com>
34734         test-stat: don't allocate PATH_MAX bytes
34735         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
34736         PATH_MAX-sized buffer.
34737         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
34738         * modules/stat-tests (Depends-on): Likewise.
34739         * tests/test-fstatat.c (includes): Drop pathmax.h.
34740         * tests/test-stat.c (includes): Likewise.
34741         Reported by Bruno Haible.
34743 2011-06-20  Bruno Haible  <bruno@clisp.org>
34745         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34746         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34747         * lib/float.c: New file.
34748         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34749         REPLACE_FLOAT_LDBL.
34750         * modules/float (Files): Add lib/float.c.
34751         (configure.ac): Invoke AC_LIBOBJ.
34752         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34754 2011-06-20  Bruno Haible  <bruno@clisp.org>
34756         Tests for module 'float'.
34757         * modules/float-tests: New file.
34758         * tests/test-float.c: New file.
34760 2011-06-19  Bruno Haible  <bruno@clisp.org>
34762         isinf: Coding style.
34763         * lib/isinf.c: Use GNU coding style.
34765 2011-06-19  Bruno Haible  <bruno@clisp.org>
34767         linkat test: Avoid test failure on AIX 7.1.
34768         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34769         * tests/test-link.h (test_link): Likewise.
34771 2011-06-19  Bruno Haible  <bruno@clisp.org>
34773         pread test: Avoid test failure on OpenBSD 4.9.
34774         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34776 2011-06-19  Bruno Haible  <bruno@clisp.org>
34778         sprintf-posix: Fix test failure on AIX 7.1.
34779         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34780         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34781         on AIX.
34782         * doc/posix-functions/fprintf.texi: Likewise.
34783         * doc/posix-functions/printf.texi: Likewise.
34784         * doc/posix-functions/snprintf.texi: Likewise.
34785         * doc/posix-functions/sprintf.texi: Likewise.
34786         * doc/posix-functions/vdprintf.texi: Likewise.
34787         * doc/posix-functions/vfprintf.texi: Likewise.
34788         * doc/posix-functions/vprintf.texi: Likewise.
34789         * doc/posix-functions/vsnprintf.texi: Likewise.
34790         * doc/posix-functions/vsprintf.texi: Likewise.
34792 2011-06-19  Bruno Haible  <bruno@clisp.org>
34794         roundl-ieee: Fix test failure on AIX 7.1.
34795         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34796         * doc/posix-functions/roundl.texi: Mention problem with negative
34797         arguments.
34799 2011-06-19  Bruno Haible  <bruno@clisp.org>
34801         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34802         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34803         * doc/posix-functions/round.texi: Mention problem with negative
34804         arguments.
34805         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34807 2011-06-19  Bruno Haible  <bruno@clisp.org>
34809         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34810         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34811         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34812         * doc/posix-functions/roundf.texi: Mention problem with negative
34813         arguments.
34814         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34816 2011-06-19  Bruno Haible  <bruno@clisp.org>
34818         ceilf-ieee: Work around bug on MacOS X 10.5.
34819         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34821         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34822         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34823         IEEE compliant, avoid compiler optimizations.
34824         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34825         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34826         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34827         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34828         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34829         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34830         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34831         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34832         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34833         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34835 2011-06-19  Bruno Haible  <bruno@clisp.org>
34837         ceilf-ieee: Work around bug on AIX 7.1.
34838         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34839         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34841 2011-06-19  Bruno Haible  <bruno@clisp.org>
34843         ceil-ieee: Work around bug on AIX 7.1.
34844         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34845         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34847 2011-06-18  Bruno Haible  <bruno@clisp.org>
34849         fsync test: Avoid test failure on MacOS X and AIX.
34850         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34851         EINVAL.
34853 2011-06-18  Bruno Haible  <bruno@clisp.org>
34855         openat, fdopendir tests: Fix link errors.
34856         * modules/openat-tests (Depends-on): Add progname.
34857         * modules/fdopendir-tests (Depends-on): Likewise.
34858         * tests/test-fchownat.c: Include progname.h.
34859         (main): Call set_program_name.
34860         * tests/test-fstatat.c: Include progname.h.
34861         (main): Call set_program_name.
34862         * tests/test-mkdirat.c: Include progname.h.
34863         (main): Call set_program_name.
34864         * tests/test-openat.c: Include progname.h.
34865         (main): Call set_program_name.
34866         * tests/test-unlinkat.c: Include progname.h.
34867         (main): Call set_program_name.
34868         * tests/test-fdopendir.c: Include progname.h.
34869         (main): Call set_program_name.
34871 2011-06-18  Bruno Haible  <bruno@clisp.org>
34873         Doc update.
34874         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34875         HP-UX.
34876         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34878 2011-06-18  Bruno Haible  <bruno@clisp.org>
34880         getcwd tests: Avoid compilation error on HP-UX 11.31.
34881         * modules/getcwd-tests (Depends-on): Add pathmax.
34882         * tests/test-getcwd.c: Include pathmax.h.
34884 2011-06-18  Bruno Haible  <bruno@clisp.org>
34886         isfinite, isinf: Fix link error on AIX 6 and 7.
34887         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34888         needed, also test the macro with a 'float' argument.
34889         * m4/isinf.m4 (gl_ISINF): Likewise.
34891 2011-06-18  Bruno Haible  <bruno@clisp.org>
34893         getloadavg: Don't clobber LIBS. Regression from previous commit.
34894         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34895         AC_CHECK_LIB from here...
34896         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34897         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34898         gl_func_getloadavg_done.
34899         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34901 2011-06-18  Bruno Haible  <bruno@clisp.org>
34903         clean-temp: Improve documentation.
34904         * lib/clean-temp.h: Explain better how to use this module.
34905         Reported by John Darrington <john@darrington.wattle.id.au>.
34907 2011-06-17  Bruno Haible  <bruno@clisp.org>
34909         pread, pwrite: Avoid cc warning on AIX.
34910         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34911         (pwrite): Likewise.
34913 2011-06-17  Bruno Haible  <bruno@clisp.org>
34915         spawn-pipe tests: Fix link error.
34916         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34917         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34919 2011-06-17  Bruno Haible  <bruno@clisp.org>
34921         Tests: Remove unnecessary dependency.
34922         * modules/canonicalize-tests (Depends-on): Remove progname.
34923         * modules/chown-tests (Depends-on): Likewise.
34924         * modules/dirname-tests (Depends-on): Likewise.
34925         * modules/fdopendir-tests (Depends-on): Likewise.
34926         * modules/fdutimensat-tests (Depends-on): Likewise.
34927         * modules/hash-tests (Depends-on): Likewise.
34928         * modules/lchown-tests (Depends-on): Likewise.
34929         * modules/linkat-tests (Depends-on): Likewise.
34930         * modules/renameat-tests (Depends-on): Likewise.
34931         * modules/spawn-pipe-tests (Depends-on): Likewise.
34932         * modules/utimensat-tests (Depends-on): Likewise.
34934 2011-06-17  Bruno Haible  <bruno@clisp.org>
34936         spawn-pipe tests: Fix link error.
34937         * tests/test-spawn-pipe-child.c: Undefine fflush.
34939 2011-06-17  Bruno Haible  <bruno@clisp.org>
34941         Fix tests link errors.
34942         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34943         * modules/chown-tests (Makefile.am): Don't link test-chown with
34944         LIBINTL.
34945         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34946         LIBINTL.
34947         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34948         LIBINTL.
34949         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34950         LIBINTL.
34952 2011-06-16  Bruno Haible  <bruno@clisp.org>
34954         crypto/gc-sha1: Fix recent regression.
34955         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34956         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34958         crypto/gc-md5: Fix recent regression.
34959         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34961         crypto/gc-md4: Fix recent regression.
34962         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34963         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
34965         crypto/gc-arctwo: Fix recent regression.
34966         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
34967         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
34969         crypto/gc-rijndael: Fix recent regression.
34970         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
34971         (configure.ac): Invoke AC_LIBOBJ here.
34972         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
34973         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34975         crypto/gc-hmac-sha1: Fix recent regression.
34976         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
34977         (configure.ac): Invoke AC_LIBOBJ here.
34978         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
34979         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34981         crypto/gc-hmac-md5: Fix recent regression.
34982         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
34983         (configure.ac): Invoke AC_LIBOBJ here.
34984         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
34985         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34987         crypto/gc-des: Fix recent regression.
34988         * modules/crypto/gc-des (Files): Remove m4/des.m4.
34989         (configure.ac): Invoke AC_LIBOBJ here.
34990         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
34991         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34993         crypto/gc-arcfour: Fix recent regression.
34994         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
34995         (configure.ac): Invoke AC_LIBOBJ here.
34996         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
34997         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34999 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
35001         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
35002         After the 2011-05-21 change, this macro requires
35003         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
35004         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35006 2011-06-16  Bruno Haible  <bruno@clisp.org>
35008         fprintftime: Move AC_LIBOBJ invocations to module description.
35009         * m4/fprintftime.m4: Remove file.
35010         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
35011         (configure.ac): Remove gl_FPRINTFTIME call.
35012         (Makefile.am): Augment lib_SOURCES.
35013         Reported by Jim Meyering.
35015 2011-06-16  Bruno Haible  <bruno@clisp.org>
35017         tmpfile-safer: Finish 2011-05-23 commit.
35018         * m4/stdio-safer.m4: Really remove file.
35019         Reported by Jim Meyering.
35021 2011-06-16  Bruno Haible  <bruno@clisp.org>
35023         syntax-check: Fix typo.
35024         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
35025         printf-posix.m4.
35026         Reported by Jim Meyering.
35028 2011-06-13  Jim Meyering  <meyering@redhat.com>
35030         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
35031         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
35033 2011-05-23  Bruno Haible  <bruno@clisp.org>
35035         yesno: Move AC_LIBOBJ invocations to module description.
35036         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
35037         * modules/yesno (Makefile.am): Augment lib_SOURCES.
35039 2011-05-23  Bruno Haible  <bruno@clisp.org>
35041         xstrtol: Move AC_LIBOBJ invocations to module description.
35042         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
35043         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
35045 2011-05-23  Bruno Haible  <bruno@clisp.org>
35047         xstrtold: Move AC_LIBOBJ invocations to module description.
35048         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
35049         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
35051 2011-05-23  Bruno Haible  <bruno@clisp.org>
35053         xstrtod: Move AC_LIBOBJ invocations to module description.
35054         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
35055         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
35057 2011-05-23  Bruno Haible  <bruno@clisp.org>
35059         xnanosleep: Move AC_LIBOBJ invocations to module description.
35060         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
35061         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
35063 2011-05-23  Bruno Haible  <bruno@clisp.org>
35065         xgetcwd: Move AC_LIBOBJ invocations to module description.
35066         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
35067         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
35069 2011-05-23  Bruno Haible  <bruno@clisp.org>
35071         xalloc: Move AC_LIBOBJ invocations to module description.
35072         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
35073         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
35075 2011-05-23  Bruno Haible  <bruno@clisp.org>
35077         write-any-file: Move AC_LIBOBJ invocations to module description.
35078         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
35079         invocation.
35080         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
35082 2011-05-23  Bruno Haible  <bruno@clisp.org>
35084         utimens: Move AC_LIBOBJ invocations to module description.
35085         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
35086         * modules/utimens (Makefile.am): Augment lib_SOURCES.
35088 2011-05-23  Bruno Haible  <bruno@clisp.org>
35090         utimecmp: Move AC_LIBOBJ invocations to module description.
35091         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
35092         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
35094 2011-05-23  Bruno Haible  <bruno@clisp.org>
35096         userspec: Move AC_LIBOBJ invocations to module description.
35097         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
35098         * modules/userspec (Makefile.am): Augment lib_SOURCES.
35100 2011-05-23  Bruno Haible  <bruno@clisp.org>
35102         unlinkdir: Move AC_LIBOBJ invocations to module description.
35103         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
35104         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
35106 2011-05-23  Bruno Haible  <bruno@clisp.org>
35108         unistd-safer: Move AC_LIBOBJ invocations to module description.
35109         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
35110         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
35112 2011-05-23  Bruno Haible  <bruno@clisp.org>
35114         tempname: Move AC_LIBOBJ invocations to module description.
35115         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
35116         * modules/tempname (Makefile.am): Augment lib_SOURCES.
35118 2011-05-23  Bruno Haible  <bruno@clisp.org>
35120         strftime: Move AC_LIBOBJ invocations to module description.
35121         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
35122         * modules/strftime (Makefile.am): Augment lib_SOURCES.
35124 2011-05-23  Bruno Haible  <bruno@clisp.org>
35126         stdlib-safer: Move AC_LIBOBJ invocations to module description.
35127         * m4/stdlib-safer.m4: Remove file.
35128         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
35129         (configure.ac): Remove gl_STDLIB_SAFER call.
35130         (Makefile.am): Augment lib_SOURCES.
35132 2011-05-23  Bruno Haible  <bruno@clisp.org>
35134         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
35135         * m4/stdio-safer.m4: Remove file.
35136         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
35137         (configure.ac): Remove gl_TMPFILE_SAFER call.
35138         (Makefile.am): Augment lib_SOURCES.
35140 2011-05-23  Bruno Haible  <bruno@clisp.org>
35142         popen-safer: Move AC_LIBOBJ invocations to module description.
35143         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
35144         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
35145         (configure.ac): Remove gl_POPEN_SAFER call.
35146         (Makefile.am): Augment lib_SOURCES.
35148 2011-05-23  Bruno Haible  <bruno@clisp.org>
35150         freopen-safer: Move AC_LIBOBJ invocations to module description.
35151         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
35152         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
35153         (configure.ac): Remove gl_FREOPEN_SAFER call.
35154         (Makefile.am): Augment lib_SOURCES.
35156 2011-05-23  Bruno Haible  <bruno@clisp.org>
35158         fopen-safer: Move AC_LIBOBJ invocations to module description.
35159         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
35160         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
35161         (configure.ac): Remove gl_FOPEN_SAFER call.
35162         (Makefile.am): Augment lib_SOURCES.
35164 2011-05-23  Bruno Haible  <bruno@clisp.org>
35166         crypto/sha512: Move AC_LIBOBJ invocations to module description.
35167         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
35168         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
35170 2011-05-23  Bruno Haible  <bruno@clisp.org>
35172         crypto/sha256: Move AC_LIBOBJ invocations to module description.
35173         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
35174         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
35176 2011-05-23  Bruno Haible  <bruno@clisp.org>
35178         crypto/sha1: Move AC_LIBOBJ invocations to module description.
35179         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
35180         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
35182 2011-05-23  Bruno Haible  <bruno@clisp.org>
35184         settime: Move AC_LIBOBJ invocations to module description.
35185         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
35186         * modules/settime (Makefile.am): Augment lib_SOURCES.
35188 2011-05-23  Bruno Haible  <bruno@clisp.org>
35190         savedir: Move AC_LIBOBJ invocations to module description.
35191         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
35192         * modules/savedir (Makefile.am): Augment lib_SOURCES.
35194 2011-05-23  Bruno Haible  <bruno@clisp.org>
35196         save-cwd: Move AC_LIBOBJ invocations to module description.
35197         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
35198         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
35200 2011-05-23  Bruno Haible  <bruno@clisp.org>
35202         same: Move AC_LIBOBJ invocations to module description.
35203         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
35204         * modules/same (Makefile.am): Augment lib_SOURCES.
35206 2011-05-23  Bruno Haible  <bruno@clisp.org>
35208         safe-write: Move AC_LIBOBJ invocations to module description.
35209         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
35210         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
35211         instead of gl_SAFE_WRITE.
35212         (Makefile.am): Augment lib_SOURCES.
35214 2011-05-23  Bruno Haible  <bruno@clisp.org>
35216         safe-read: Move AC_LIBOBJ invocations to module description.
35217         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
35218         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
35219         of gl_SAFE_READ.
35220         (Makefile.am): Augment lib_SOURCES.
35222 2011-05-23  Bruno Haible  <bruno@clisp.org>
35224         safe-alloc: Move AC_LIBOBJ invocations to module description.
35225         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
35226         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
35228 2011-05-23  Bruno Haible  <bruno@clisp.org>
35230         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
35231         * m4/rijndael.m4: Remove file.
35232         * modules/crypto/rijndael (Files): Remove it.
35233         (configure.ac): Remove gl_RIJNDAEL call.
35234         (Makefile.am): Augment lib_SOURCES.
35236 2011-05-23  Bruno Haible  <bruno@clisp.org>
35238         readtokens: Move AC_LIBOBJ invocations to module description.
35239         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
35240         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
35242 2011-05-23  Bruno Haible  <bruno@clisp.org>
35244         read-file: Move AC_LIBOBJ invocations to module description.
35245         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
35246         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
35247         of gl_FUNC_READ_FILE.
35248         (Makefile.am): Augment lib_SOURCES.
35250 2011-05-23  Bruno Haible  <bruno@clisp.org>
35252         quotearg: Move AC_LIBOBJ invocations to module description.
35253         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
35254         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
35256 2011-05-23  Bruno Haible  <bruno@clisp.org>
35258         quote: Move AC_LIBOBJ invocations to module description.
35259         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
35260         * modules/quote (Makefile.am): Augment lib_SOURCES.
35262 2011-05-23  Bruno Haible  <bruno@clisp.org>
35264         posixver: Move AC_LIBOBJ invocations to module description.
35265         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
35266         * modules/posixver (Makefile.am): Augment lib_SOURCES.
35268 2011-05-23  Bruno Haible  <bruno@clisp.org>
35270         posixtm: Move AC_LIBOBJ invocations to module description.
35271         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
35272         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
35274 2011-05-23  Bruno Haible  <bruno@clisp.org>
35276         physmem: Move AC_LIBOBJ invocations to module description.
35277         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
35278         * modules/physmem (Makefile.am): Augment lib_SOURCES.
35280 2011-05-23  Bruno Haible  <bruno@clisp.org>
35282         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
35283         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
35284         invocation.
35285         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
35287 2011-05-23  Bruno Haible  <bruno@clisp.org>
35289         mpsort: Move AC_LIBOBJ invocations to module description.
35290         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
35291         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
35293 2011-05-23  Bruno Haible  <bruno@clisp.org>
35295         modechange: Move AC_LIBOBJ invocations to module description.
35296         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
35297         * modules/modechange (Makefile.am): Augment lib_SOURCES.
35299 2011-05-23  Bruno Haible  <bruno@clisp.org>
35301         mkdir-p: Move AC_LIBOBJ invocations to module description.
35302         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
35303         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
35305 2011-05-23  Bruno Haible  <bruno@clisp.org>
35307         mkancesdirs: Move AC_LIBOBJ invocations to module description.
35308         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
35309         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
35311 2011-05-23  Bruno Haible  <bruno@clisp.org>
35313         mgetgroups: Move AC_LIBOBJ invocations to module description.
35314         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
35315         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
35317 2011-05-23  Bruno Haible  <bruno@clisp.org>
35319         memxor: Move AC_LIBOBJ invocations to module description.
35320         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
35321         * modules/memxor (Makefile.am): Augment lib_SOURCES.
35323 2011-05-23  Bruno Haible  <bruno@clisp.org>
35325         memcoll: Move AC_LIBOBJ invocations to module description.
35326         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
35327         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
35329 2011-05-23  Bruno Haible  <bruno@clisp.org>
35331         memcasecmp: Move AC_LIBOBJ invocations to module description.
35332         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
35333         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
35335 2011-05-23  Bruno Haible  <bruno@clisp.org>
35337         crypto/md5: Move AC_LIBOBJ invocations to module description.
35338         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
35339         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
35341 2011-05-23  Bruno Haible  <bruno@clisp.org>
35343         crypto/md4: Move AC_LIBOBJ invocations to module description.
35344         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
35345         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
35347 2011-05-23  Bruno Haible  <bruno@clisp.org>
35349         crypto/md2: Move AC_LIBOBJ invocations to module description.
35350         * m4/md2.m4: Remove file.
35351         * modules/crypto/md2 (Files): Remove it.
35352         (configure.ac): Remove gl_MD2 call.
35353         (Makefile.am): Augment lib_SOURCES.
35355 2011-05-23  Bruno Haible  <bruno@clisp.org>
35357         long-options: Move AC_LIBOBJ invocations to module description.
35358         * m4/long-options.m4: Remove file.
35359         * modules/long-options (Files): Remove it.
35360         (configure.ac): Remove gl_LONG_OPTIONS call.
35361         (Makefile.am): Augment lib_SOURCES.
35363 2011-05-23  Bruno Haible  <bruno@clisp.org>
35365         i-ring: Move AC_LIBOBJ invocations to module description.
35366         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
35367         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
35369 2011-05-23  Bruno Haible  <bruno@clisp.org>
35371         idcache: Move AC_LIBOBJ invocations to module description.
35372         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
35373         * modules/idcache (Makefile.am): Augment lib_SOURCES.
35375 2011-05-23  Bruno Haible  <bruno@clisp.org>
35377         human: Move AC_LIBOBJ invocations to module description.
35378         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
35379         * modules/human (Makefile.am): Augment lib_SOURCES.
35381 2011-05-23  Bruno Haible  <bruno@clisp.org>
35383         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
35384         * m4/hmac-sha1.m4: Remove file.
35385         * modules/crypto/hmac-sha1 (Files): Remove it.
35386         (configure.ac): Remove gl_HMAC_SHA1 call.
35387         (Makefile.am): Augment lib_SOURCES.
35389 2011-05-23  Bruno Haible  <bruno@clisp.org>
35391         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
35392         * m4/hmac-md5.m4: Remove file.
35393         * modules/crypto/hmac-md5 (Files): Remove it.
35394         (configure.ac): Remove gl_HMAC_MD5 call.
35395         (Makefile.am): Augment lib_SOURCES.
35397 2011-05-23  Bruno Haible  <bruno@clisp.org>
35399         hash: Move AC_LIBOBJ invocations to module description.
35400         * m4/hash.m4: Remove file.
35401         * modules/hash (Files): Remove it.
35402         (configure.ac): Remove gl_HASH call.
35403         (Makefile.am): Augment lib_SOURCES.
35405 2011-05-23  Bruno Haible  <bruno@clisp.org>
35407         hard-locale: Move AC_LIBOBJ invocations to module description.
35408         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
35409         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
35411 2011-05-23  Bruno Haible  <bruno@clisp.org>
35413         getugroups: Move AC_LIBOBJ invocations to module description.
35414         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
35415         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
35417 2011-05-23  Bruno Haible  <bruno@clisp.org>
35419         gettime: Move AC_LIBOBJ invocations to module description.
35420         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
35421         * modules/gettime (Makefile.am): Augment lib_SOURCES.
35423 2011-05-23  Bruno Haible  <bruno@clisp.org>
35425         getndelim2: Move AC_LIBOBJ invocations to module description.
35426         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
35427         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
35429 2011-05-23  Bruno Haible  <bruno@clisp.org>
35431         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
35432         * m4/gc-pbkdf2-sha1.m4: Remove file.
35433         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
35434         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
35435         (Makefile.am): Augment lib_SOURCES.
35437 2011-05-23  Bruno Haible  <bruno@clisp.org>
35439         fts: Move AC_LIBOBJ invocations to module description.
35440         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
35441         * modules/fts (configure.ac): ... to here.
35443 2011-05-23  Bruno Haible  <bruno@clisp.org>
35445         file-type: Move AC_LIBOBJ invocations to module description.
35446         * m4/file-type.m4: Remove file.
35447         * modules/file-type (Files): Remove it.
35448         (configure.ac): Remove gl_FILE_TYPE call.
35449         (Makefile.am): Augment lib_SOURCES.
35451 2011-05-23  Bruno Haible  <bruno@clisp.org>
35453         filenamecat*: Respect rules for use of AC_LIBOBJ.
35454         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
35455         Remove AC_LIBOBJ invocation.
35456         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
35457         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
35459 2011-05-23  Bruno Haible  <bruno@clisp.org>
35461         filemode: Move AC_LIBOBJ invocations to module description.
35462         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
35463         * modules/filemode (Makefile.am): Augment lib_SOURCES.
35465 2011-05-23  Bruno Haible  <bruno@clisp.org>
35467         openat-safer: Move AC_LIBOBJ invocations to module description.
35468         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
35469         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
35471 2011-05-23  Bruno Haible  <bruno@clisp.org>
35473         fcntl-safer: Move AC_LIBOBJ invocations to module description.
35474         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
35475         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
35477 2011-05-23  Bruno Haible  <bruno@clisp.org>
35479         exclude: Move AC_LIBOBJ invocations to module description.
35480         * m4/exclude.m4: Remove file.
35481         * modules/exclude (Files): Remove it.
35482         (configure.ac): Remove gl_EXCLUDE call.
35483         (Makefile.am): Augment lib_SOURCES.
35485 2011-05-23  Bruno Haible  <bruno@clisp.org>
35487         dirname*: Respect rules for use of AC_LIBOBJ.
35488         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
35489         invocations.
35490         * modules/dirname (Makefile.am): Augment lib_SOURCES.
35491         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
35493 2011-05-23  Bruno Haible  <bruno@clisp.org>
35495         dirent-safer: Move AC_LIBOBJ invocations to module description.
35496         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
35497         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
35499 2011-05-23  Bruno Haible  <bruno@clisp.org>
35501         crypto/des: Move AC_LIBOBJ invocations to module description.
35502         * m4/des.m4: Remove file.
35503         * modules/crypto/des (Files): Remove it.
35504         (configure.ac): Remove gl_DES call.
35505         (Makefile.am): Augment lib_SOURCES.
35507 2011-05-23  Bruno Haible  <bruno@clisp.org>
35509         cycle-check: Move AC_LIBOBJ invocations to module description.
35510         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
35511         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
35513 2011-05-23  Bruno Haible  <bruno@clisp.org>
35515         c-strtold: Move AC_LIBOBJ invocations to module description.
35516         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
35517         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
35519 2011-05-23  Bruno Haible  <bruno@clisp.org>
35521         c-strtod: Move AC_LIBOBJ invocations to module description.
35522         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
35523         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
35525 2011-05-23  Bruno Haible  <bruno@clisp.org>
35527         crc: Move AC_LIBOBJ invocations to module description.
35528         * m4/crc.m4: Remove file.
35529         * modules/crc (Files): Remove it.
35530         (configure.ac): Remove gl_CRC call.
35531         (Makefile.am): Augment lib_SOURCES.
35533 2011-05-23  Bruno Haible  <bruno@clisp.org>
35535         close-stream: Move AC_LIBOBJ invocations to module description.
35536         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
35537         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
35539 2011-05-23  Bruno Haible  <bruno@clisp.org>
35541         closeout: Move AC_LIBOBJ invocations to module description.
35542         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
35543         * modules/closeout (Makefile.am): Augment lib_SOURCES.
35545 2011-05-23  Bruno Haible  <bruno@clisp.org>
35547         closein: Move AC_LIBOBJ invocations to module description.
35548         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
35549         * modules/closein (Makefile.am): Augment lib_SOURCES.
35551 2011-05-23  Bruno Haible  <bruno@clisp.org>
35553         cloexec: Move AC_LIBOBJ invocations to module description.
35554         * m4/cloexec.m4: Remove file.
35555         * modules/cloexec (Files): Remove it.
35556         (configure.ac): Remove gl_CLOEXEC call.
35557         (Makefile.am): Augment lib_SOURCES.
35559 2011-05-23  Bruno Haible  <bruno@clisp.org>
35561         check-version: Move AC_LIBOBJ invocations to module description.
35562         * m4/check-version.m4: Remove file.
35563         * modules/check-version (Files): Remove it.
35564         (configure.ac): Remove gl_CHECK_VERSION call.
35565         (Makefile.am): Augment lib_SOURCES.
35567 2011-05-23  Bruno Haible  <bruno@clisp.org>
35569         chdir-safer: Move AC_LIBOBJ invocations to module description.
35570         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
35571         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
35573 2011-05-23  Bruno Haible  <bruno@clisp.org>
35575         canonicalize: Move AC_LIBOBJ invocations to module description.
35576         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
35577         AC_LIBOBJ invocation.
35578         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
35580 2011-05-23  Bruno Haible  <bruno@clisp.org>
35582         canon-host: Move AC_LIBOBJ invocations to module description.
35583         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
35584         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
35585         instead of gl_CANON_HOST.
35586         (Makefile.am): Augment lib_SOURCES.
35588 2011-05-23  Bruno Haible  <bruno@clisp.org>
35590         backupfile: Move AC_LIBOBJ invocations to module description.
35591         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
35592         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
35594 2011-05-23  Bruno Haible  <bruno@clisp.org>
35596         argmatch: Move AC_LIBOBJ invocations to module description.
35597         * m4/argmatch.m4: Remove file.
35598         * modules/argmatch (Files): Remove it.
35599         (configure.ac): Remove gl_ARGMATCH call.
35600         (Makefile.am): Augment lib_SOURCES.
35602 2011-05-23  Bruno Haible  <bruno@clisp.org>
35604         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
35605         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
35606         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
35608 2011-05-23  Bruno Haible  <bruno@clisp.org>
35610         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
35611         * m4/arcfour.m4: Remove file.
35612         * modules/crypto/arcfour (Files): Remove it.
35613         (configure.ac): Remove gl_ARCFOUR call.
35614         (Makefile.am): Augment lib_SOURCES.
35616 2011-05-22  Bruno Haible  <bruno@clisp.org>
35618         write: Move AC_LIBOBJ invocations to module description.
35619         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
35620         * modules/write (configure.ac): ... to here.
35622 2011-05-22  Bruno Haible  <bruno@clisp.org>
35624         wmemset: Move AC_LIBOBJ invocations to module description.
35625         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
35626         here...
35627         * modules/wmemset (configure.ac): ... to here.
35629 2011-05-22  Bruno Haible  <bruno@clisp.org>
35631         wmemmove: Move AC_LIBOBJ invocations to module description.
35632         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
35633         here...
35634         * modules/wmemmove (configure.ac): ... to here.
35636 2011-05-22  Bruno Haible  <bruno@clisp.org>
35638         wmemcpy: Move AC_LIBOBJ invocations to module description.
35639         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
35640         here...
35641         * modules/wmemcpy (configure.ac): ... to here.
35643 2011-05-22  Bruno Haible  <bruno@clisp.org>
35645         wmemcmp: Move AC_LIBOBJ invocations to module description.
35646         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
35647         here...
35648         * modules/wmemcmp (configure.ac): ... to here.
35650 2011-05-22  Bruno Haible  <bruno@clisp.org>
35652         wmemchr: Move AC_LIBOBJ invocations to module description.
35653         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
35654         here...
35655         * modules/wmemchr (configure.ac): ... to here.
35657 2011-05-22  Bruno Haible  <bruno@clisp.org>
35659         wcswidth: Move AC_LIBOBJ invocations to module description.
35660         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
35661         here...
35662         * modules/wcswidth (configure.ac): ... to here.
35664 2011-05-22  Bruno Haible  <bruno@clisp.org>
35666         wcwidth: Respect rules for use of AC_LIBOBJ.
35667         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
35668         invocation from here...
35669         * modules/wcwidth (configure.ac): ... to here.
35670         (Depends-on): Update conditions.
35672 2011-05-22  Bruno Haible  <bruno@clisp.org>
35674         wctype: Move AC_LIBOBJ invocations to module description.
35675         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
35676         invocation from here...
35677         * modules/wctype (configure.ac): ... to here.
35678         (Depends-on): Update conditions.
35680 2011-05-22  Bruno Haible  <bruno@clisp.org>
35682         wctrans: Move AC_LIBOBJ invocations to module description.
35683         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
35684         invocation from here...
35685         * modules/wctrans (configure.ac): ... to here.
35687 2011-05-22  Bruno Haible  <bruno@clisp.org>
35689         wctomb: Move AC_LIBOBJ invocations to module description.
35690         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
35691         invocations from here...
35692         * modules/wctomb (configure.ac): ... to here.
35694 2011-05-22  Bruno Haible  <bruno@clisp.org>
35696         wctob: Move AC_LIBOBJ invocations to module description.
35697         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
35698         gl_PREREQ_WCTOB invocations from here...
35699         * modules/wctob (configure.ac): ... to here.
35700         (Depends-on): Update conditions.
35702 2011-05-22  Bruno Haible  <bruno@clisp.org>
35704         wcsxfrm: Move AC_LIBOBJ invocations to module description.
35705         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
35706         here...
35707         * modules/wcsxfrm (configure.ac): ... to here.
35709 2011-05-22  Bruno Haible  <bruno@clisp.org>
35711         wcstok: Move AC_LIBOBJ invocations to module description.
35712         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
35713         * modules/wcstok (configure.ac): ... to here.
35715 2011-05-22  Bruno Haible  <bruno@clisp.org>
35717         wcsstr: Move AC_LIBOBJ invocations to module description.
35718         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
35719         * modules/wcsstr (configure.ac): ... to here.
35721 2011-05-22  Bruno Haible  <bruno@clisp.org>
35723         wcsspn: Move AC_LIBOBJ invocations to module description.
35724         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
35725         * modules/wcsspn (configure.ac): ... to here.
35727 2011-05-22  Bruno Haible  <bruno@clisp.org>
35729         wcsrtombs: Move AC_LIBOBJ invocations to module description.
35730         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
35731         gl_PREREQ_WCSRTOMBS invocations from here...
35732         * modules/wcsrtombs (configure.ac): ... to here.
35734 2011-05-22  Bruno Haible  <bruno@clisp.org>
35736         wcsrchr: Move AC_LIBOBJ invocations to module description.
35737         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
35738         here...
35739         * modules/wcsrchr (configure.ac): ... to here.
35741 2011-05-22  Bruno Haible  <bruno@clisp.org>
35743         wcspbrk: Move AC_LIBOBJ invocations to module description.
35744         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35745         here...
35746         * modules/wcspbrk (configure.ac): ... to here.
35748 2011-05-22  Bruno Haible  <bruno@clisp.org>
35750         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35751         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35752         gl_PREREQ_WCSNRTOMBS invocations from here...
35753         * modules/wcsnrtombs (configure.ac): ... to here.
35755 2011-05-22  Bruno Haible  <bruno@clisp.org>
35757         wcsnlen: Move AC_LIBOBJ invocations to module description.
35758         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35759         here...
35760         * modules/wcsnlen (configure.ac): ... to here.
35762 2011-05-22  Bruno Haible  <bruno@clisp.org>
35764         wcsncpy: Move AC_LIBOBJ invocations to module description.
35765         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35766         here...
35767         * modules/wcsncpy (configure.ac): ... to here.
35769 2011-05-22  Bruno Haible  <bruno@clisp.org>
35771         wcsncmp: Move AC_LIBOBJ invocations to module description.
35772         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35773         here...
35774         * modules/wcsncmp (configure.ac): ... to here.
35776 2011-05-22  Bruno Haible  <bruno@clisp.org>
35778         wcsncat: Move AC_LIBOBJ invocations to module description.
35779         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35780         here...
35781         * modules/wcsncat (configure.ac): ... to here.
35783 2011-05-22  Bruno Haible  <bruno@clisp.org>
35785         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35786         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35787         from here...
35788         * modules/wcsncasecmp (configure.ac): ... to here.
35790 2011-05-22  Bruno Haible  <bruno@clisp.org>
35792         wcslen: Move AC_LIBOBJ invocations to module description.
35793         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35794         * modules/wcslen (configure.ac): ... to here.
35796 2011-05-22  Bruno Haible  <bruno@clisp.org>
35798         wcsdup: Move AC_LIBOBJ invocations to module description.
35799         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35800         * modules/wcsdup (configure.ac): ... to here.
35802 2011-05-22  Bruno Haible  <bruno@clisp.org>
35804         wcscspn: Move AC_LIBOBJ invocations to module description.
35805         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35806         here...
35807         * modules/wcscspn (configure.ac): ... to here.
35809 2011-05-22  Bruno Haible  <bruno@clisp.org>
35811         wcscpy: Move AC_LIBOBJ invocations to module description.
35812         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35813         * modules/wcscpy (configure.ac): ... to here.
35815 2011-05-22  Bruno Haible  <bruno@clisp.org>
35817         wcscoll: Move AC_LIBOBJ invocations to module description.
35818         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35819         here...
35820         * modules/wcscoll (configure.ac): ... to here.
35822 2011-05-22  Bruno Haible  <bruno@clisp.org>
35824         wcscmp: Move AC_LIBOBJ invocations to module description.
35825         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35826         * modules/wcscmp (configure.ac): ... to here.
35828 2011-05-22  Bruno Haible  <bruno@clisp.org>
35830         wcschr: Move AC_LIBOBJ invocations to module description.
35831         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35832         * modules/wcschr (configure.ac): ... to here.
35834 2011-05-22  Bruno Haible  <bruno@clisp.org>
35836         wcscat: Move AC_LIBOBJ invocations to module description.
35837         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35838         * modules/wcscat (configure.ac): ... to here.
35840 2011-05-22  Bruno Haible  <bruno@clisp.org>
35842         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35843         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35844         here...
35845         * modules/wcscasecmp (configure.ac): ... to here.
35847 2011-05-22  Bruno Haible  <bruno@clisp.org>
35849         wcrtomb: Move AC_LIBOBJ invocations to module description.
35850         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35851         invocations from here...
35852         * modules/wcrtomb (configure.ac): ... to here.
35854 2011-05-22  Bruno Haible  <bruno@clisp.org>
35856         wcpncpy: Move AC_LIBOBJ invocations to module description.
35857         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35858         here...
35859         * modules/wcpncpy (configure.ac): ... to here.
35861 2011-05-22  Bruno Haible  <bruno@clisp.org>
35863         wcpcpy: Move AC_LIBOBJ invocations to module description.
35864         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35865         * modules/wcpcpy (configure.ac): ... to here.
35867 2011-05-22  Bruno Haible  <bruno@clisp.org>
35869         waitpid: Move AC_LIBOBJ invocations to module description.
35870         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35871         invocation from here...
35872         * modules/waitpid (configure.ac): ... to here.
35874 2011-05-22  Bruno Haible  <bruno@clisp.org>
35876         utimensat: Move AC_LIBOBJ invocations to module description.
35877         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35878         here...
35879         * modules/utimensat (configure.ac): ... to here.
35881 2011-05-22  Bruno Haible  <bruno@clisp.org>
35883         usleep: Move AC_LIBOBJ invocations to module description.
35884         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35885         here...
35886         * modules/usleep (configure.ac): ... to here.
35888 2011-05-22  Bruno Haible  <bruno@clisp.org>
35890         unlockpt: Move AC_LIBOBJ invocations to module description.
35891         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35892         gl_PREREQ_UNLOCKPT invocations from here...
35893         * modules/unlockpt (configure.ac): ... to here.
35895 2011-05-22  Bruno Haible  <bruno@clisp.org>
35897         unlink: Respect rules for use of AC_LIBOBJ.
35898         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35899         * modules/unlink (configure.ac): ... to here.
35901 2011-05-22  Bruno Haible  <bruno@clisp.org>
35903         uname: Move AC_LIBOBJ invocations to module description.
35904         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35905         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35906         here...
35907         * modules/uname (configure.ac): ... to here.
35909 2011-05-22  Bruno Haible  <bruno@clisp.org>
35911         ttyname_r: Move AC_LIBOBJ invocations to module description.
35912         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35913         gl_PREREQ_TTYNAME_R invocations from here...
35914         * modules/ttyname_r (configure.ac): ... to here.
35916 2011-05-22  Bruno Haible  <bruno@clisp.org>
35918         tsearch: Move AC_LIBOBJ invocations to module description.
35919         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35920         invocations from here...
35921         * modules/tsearch (configure.ac): ... to here.
35923 2011-05-22  Bruno Haible  <bruno@clisp.org>
35925         towctrans: Move AC_LIBOBJ invocations to module description.
35926         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35927         AC_LIBOBJ invocation from here...
35928         * modules/towctrans (configure.ac): ... to here.
35930 2011-05-22  Bruno Haible  <bruno@clisp.org>
35932         tmpfile: Move AC_LIBOBJ invocations to module description.
35933         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35934         invocations from here...
35935         * modules/tmpfile (configure.ac): ... to here.
35937 2011-05-22  Bruno Haible  <bruno@clisp.org>
35939         times: Move AC_LIBOBJ invocations to module description.
35940         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35941         * modules/times (configure.ac): ... to here.
35943 2011-05-22  Bruno Haible  <bruno@clisp.org>
35945         time_r: Move AC_LIBOBJ invocations to module description.
35946         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35947         invocations from here...
35948         * modules/time_r (configure.ac): ... to here.
35950 2011-05-22  Bruno Haible  <bruno@clisp.org>
35952         timegm: Move AC_LIBOBJ invocations to module description.
35953         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35954         invocations from here...
35955         * modules/timegm (configure.ac): ... to here.
35957 2011-05-22  Bruno Haible  <bruno@clisp.org>
35959         tcgetsid: Move AC_LIBOBJ invocations to module description.
35960         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35961         and gl_PREREQ_TCGETSID invocations from here...
35962         * modules/tcgetsid (configure.ac): ... to here.
35963         (Depends-on): Update conditions.
35965 2011-05-22  Bruno Haible  <bruno@clisp.org>
35967         symlinkat: Move AC_LIBOBJ invocations to module description.
35968         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
35969         here...
35970         * modules/symlinkat (configure.ac): ... to here.
35972 2011-05-22  Bruno Haible  <bruno@clisp.org>
35974         symlink: Move AC_LIBOBJ invocations to module description.
35975         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
35976         here...
35977         * modules/symlink (configure.ac): ... to here.
35979 2011-05-22  Bruno Haible  <bruno@clisp.org>
35981         strverscmp: Move AC_LIBOBJ invocations to module description.
35982         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
35983         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
35984         from here...
35985         * modules/strverscmp (configure.ac): ... to here.
35987 2011-05-22  Bruno Haible  <bruno@clisp.org>
35989         strtok_r: Move AC_LIBOBJ invocations to module description.
35990         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
35991         and gl_PREREQ_STRTOK_R invocations from here...
35992         * modules/strtok_r (configure.ac): ... to here.
35993         (Depends-on): Update conditions.
35995 2011-05-22  Bruno Haible  <bruno@clisp.org>
35997         strtoumax: Move AC_LIBOBJ invocations to module description.
35998         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
35999         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
36000         from here...
36001         * modules/strtoumax (configure.ac): ... to here.
36003 2011-05-22  Bruno Haible  <bruno@clisp.org>
36005         strtoimax: Move AC_LIBOBJ invocations to module description.
36006         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
36007         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
36008         from here...
36009         * modules/strtoimax (configure.ac): ... to here.
36011 2011-05-22  Bruno Haible  <bruno@clisp.org>
36013         strtoull: Move AC_LIBOBJ invocations to module description.
36014         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
36015         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
36016         from here...
36017         * modules/strtoull (configure.ac): ... to here.
36019 2011-05-22  Bruno Haible  <bruno@clisp.org>
36021         strtoll: Move AC_LIBOBJ invocations to module description.
36022         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
36023         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
36024         here...
36025         * modules/strtoll (configure.ac): ... to here.
36027 2011-05-22  Bruno Haible  <bruno@clisp.org>
36029         strtoul: Move AC_LIBOBJ invocations to module description.
36030         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
36031         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36032         * modules/strtoul (configure.ac): ... to here.
36034 2011-05-22  Bruno Haible  <bruno@clisp.org>
36036         strtol: Move AC_LIBOBJ invocations to module description.
36037         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
36038         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36039         * modules/strtol (configure.ac): ... to here.
36041 2011-05-22  Bruno Haible  <bruno@clisp.org>
36043         strtod: Move AC_LIBOBJ invocations to module description.
36044         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
36045         invocations from here...
36046         * modules/strtod (configure.ac): ... to here.
36048 2011-05-22  Bruno Haible  <bruno@clisp.org>
36050         strstr*: Move AC_LIBOBJ invocations to module description.
36051         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
36052         invocations from here...
36053         * modules/strstr-simple (configure.ac): ... to here.
36054         * modules/strstr (configure.ac): ... and here.
36056 2011-05-22  Bruno Haible  <bruno@clisp.org>
36058         strsignal: Move AC_LIBOBJ invocations to module description.
36059         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
36060         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
36061         * modules/strsignal (configure.ac): ... to here.
36062         (Depends-on): Update conditions.
36064 2011-05-22  Bruno Haible  <bruno@clisp.org>
36066         strsep: Move AC_LIBOBJ invocations to module description.
36067         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
36068         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
36069         here...
36070         * modules/strsep (configure.ac): ... to here.
36072 2011-05-22  Bruno Haible  <bruno@clisp.org>
36074         strptime: Move AC_LIBOBJ invocations to module description.
36075         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
36076         gl_PREREQ_STRPTIME invocations from here...
36077         * modules/strptime (configure.ac): ... to here.
36079 2011-05-22  Bruno Haible  <bruno@clisp.org>
36081         strpbrk: Move AC_LIBOBJ invocations to module description.
36082         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
36083         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
36084         here...
36085         * modules/strpbrk (configure.ac): ... to here.
36087 2011-05-22  Bruno Haible  <bruno@clisp.org>
36089         strnlen: Move AC_LIBOBJ invocations to module description.
36090         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
36091         invocations from here...
36092         * modules/strnlen (configure.ac): ... to here.
36094 2011-05-22  Bruno Haible  <bruno@clisp.org>
36096         strndup: Move AC_LIBOBJ invocations to module description.
36097         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
36098         invocations from here...
36099         * modules/strndup (configure.ac): ... to here.
36100         (Depends-on): Update conditions.
36102 2011-05-22  Bruno Haible  <bruno@clisp.org>
36104         strncat: Move AC_LIBOBJ invocations to module description.
36105         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
36106         invocations from here...
36107         * modules/strncat (configure.ac): ... to here.
36109 2011-05-22  Bruno Haible  <bruno@clisp.org>
36111         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
36112         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
36113         invocations from here...
36114         * modules/strdup (configure.ac): ... to here.
36115         * modules/strdup-posix (configure.ac): ... and here.
36117 2011-05-22  Bruno Haible  <bruno@clisp.org>
36119         strcspn: Move AC_LIBOBJ invocations to module description.
36120         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
36121         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
36122         here...
36123         * modules/strcspn (configure.ac): ... to here.
36125 2011-05-22  Bruno Haible  <bruno@clisp.org>
36127         strchrnul: Move AC_LIBOBJ invocations to module description.
36128         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
36129         gl_PREREQ_STRCHRNUL invocations from here...
36130         * modules/strchrnul (configure.ac): ... to here.
36132 2011-05-22  Bruno Haible  <bruno@clisp.org>
36134         strcasestr*: Move AC_LIBOBJ invocations to module description.
36135         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
36136         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
36137         * modules/strcasestr-simple (configure.ac): ... to here.
36138         * modules/strcasestr (configure.ac): ... and here.
36140 2011-05-22  Bruno Haible  <bruno@clisp.org>
36142         strcase: Move AC_LIBOBJ invocations to module description.
36143         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
36144         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
36145         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
36146         gl_PREREQ_STRNCASECMP invocations from here...
36147         * modules/strcase (configure.ac): ... to here.
36149 2011-05-22  Bruno Haible  <bruno@clisp.org>
36151         stpncpy: Move AC_LIBOBJ invocations to module description.
36152         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
36153         here...
36154         * modules/stpncpy (configure.ac): ... to here.
36156 2011-05-22  Bruno Haible  <bruno@clisp.org>
36158         stpcpy: Move AC_LIBOBJ invocations to module description.
36159         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
36160         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
36161         here...
36162         * modules/stpcpy (configure.ac): ... to here.
36164 2011-05-21  Bruno Haible  <bruno@clisp.org>
36166         stat: Move AC_LIBOBJ invocations to module description.
36167         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
36168         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
36169         here...
36170         * modules/stat (configure.ac): ... to here.
36172 2011-05-21  Bruno Haible  <bruno@clisp.org>
36174         sleep: Move AC_LIBOBJ invocations to module description.
36175         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
36176         * modules/sleep (configure.ac): ... to here.
36178 2011-05-21  Bruno Haible  <bruno@clisp.org>
36180         signbit: Move AC_LIBOBJ invocations to module description.
36181         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
36182         * modules/signbit (configure.ac): ... to here.
36184 2011-05-21  Bruno Haible  <bruno@clisp.org>
36186         sigprocmask: Move AC_LIBOBJ invocations to module description.
36187         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
36188         gl_PREREQ_SIGPROMASK invocations from here...
36189         * modules/sigprocmask (configure.ac): ... to here.
36191 2011-05-21  Bruno Haible  <bruno@clisp.org>
36193         sigaction: Move AC_LIBOBJ invocations to module description.
36194         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
36195         gl_PREREQ_SIGACTION invocations from here...
36196         * modules/sigaction (configure.ac): ... to here.
36198 2011-05-21  Bruno Haible  <bruno@clisp.org>
36200         sig2str: Move AC_LIBOBJ invocations to module description.
36201         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
36202         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
36203         here...
36204         * modules/sig2str (configure.ac): ... to here.
36206 2011-05-21  Bruno Haible  <bruno@clisp.org>
36208         setlocale: Move AC_LIBOBJ invocations to module description.
36209         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
36210         gl_PREREQ_SETLOCALE invocations from here...
36211         * modules/setlocale (configure.ac): ... to here.
36213 2011-05-21  Bruno Haible  <bruno@clisp.org>
36215         unsetenv: Move AC_LIBOBJ invocations to module description.
36216         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
36217         and gl_PREREQ_UNSETENV invocations from here...
36218         * modules/unsetenv (configure.ac): ... to here.
36219         (Depends-on): Update.
36221 2011-05-21  Bruno Haible  <bruno@clisp.org>
36223         setenv: Move AC_LIBOBJ invocations to module description.
36224         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
36225         here...
36226         * modules/setenv (configure.ac): ... to here.
36228 2011-05-21  Bruno Haible  <bruno@clisp.org>
36230         selinux-h: Move AC_LIBOBJ invocations to module description.
36231         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
36232         AC_LIBOBJ invocation from here...
36233         * modules/selinux-h (configure.ac): ... to here.
36235 2011-05-21  Bruno Haible  <bruno@clisp.org>
36237         select: Respect rules for use of AC_LIBOBJ.
36238         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
36239         here...
36240         * modules/select (configure.ac): ... to here.
36242 2011-05-21  Bruno Haible  <bruno@clisp.org>
36244         scandir: Move AC_LIBOBJ invocations to module description.
36245         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
36246         invocations from here...
36247         * modules/scandir (configure.ac): ... to here.
36249 2011-05-21  Bruno Haible  <bruno@clisp.org>
36251         rpmatch: Move AC_LIBOBJ invocations to module description.
36252         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
36253         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
36254         here...
36255         * modules/rpmatch (configure.ac): ... to here.
36257 2011-05-21  Bruno Haible  <bruno@clisp.org>
36259         rmdir: Respect rules for use of AC_LIBOBJ.
36260         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
36261         * modules/rmdir (configure.ac): ... to here.
36263 2011-05-21  Bruno Haible  <bruno@clisp.org>
36265         renameat: Move AC_LIBOBJ invocations to module description.
36266         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
36267         here...
36268         * modules/renameat (configure.ac): ... to here.
36270 2011-05-21  Bruno Haible  <bruno@clisp.org>
36272         rename: Respect rules for use of AC_LIBOBJ.
36273         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
36274         here...
36275         * modules/rename (configure.ac): ... to here.
36277 2011-05-21  Bruno Haible  <bruno@clisp.org>
36279         remove: Move AC_LIBOBJ invocations to module description.
36280         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
36281         here...
36282         * modules/remove (configure.ac): ... to here.
36284 2011-05-21  Bruno Haible  <bruno@clisp.org>
36286         relocatable-lib: Move AC_LIBOBJ invocations to module description.
36287         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
36288         macro.
36289         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
36290         * modules/relocatable-lib (configure.ac): ... to here.
36291         * modules/relocatable-prog-wrapper (configure.ac): Invoke
36292         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
36294 2011-05-21  Bruno Haible  <bruno@clisp.org>
36296         relocatable-prog: Move AC_LIBOBJ invocations to module description.
36297         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
36298         here...
36299         * modules/relocatable-prog (configure.ac): ... to here.
36301 2011-05-21  Bruno Haible  <bruno@clisp.org>
36303         regex: Move AC_LIBOBJ invocations to module description.
36304         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
36305         invocations from here...
36306         * modules/regex (configure.ac): ... to here.
36308 2011-05-21  Bruno Haible  <bruno@clisp.org>
36310         realloc-*: Move AC_LIBOBJ invocations to module description.
36311         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
36312         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
36313         AC_LIBOBJ invocations from here...
36314         * modules/realloc-gnu (configure.ac): ... to here.
36315         * modules/realloc-posix (configure.ac): ... and here.
36317 2011-05-21  Bruno Haible  <bruno@clisp.org>
36319         readutmp: Move AC_LIBOBJ invocations to module description.
36320         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
36321         * modules/readutmp (configure.ac): ... to here.
36323 2011-05-21  Bruno Haible  <bruno@clisp.org>
36325         readlinkat: Move AC_LIBOBJ invocations to module description.
36326         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
36327         here...
36328         * modules/readlinkat (configure.ac): ... to here.
36330 2011-05-21  Bruno Haible  <bruno@clisp.org>
36332         readlink: Move AC_LIBOBJ invocations to module description.
36333         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
36334         gl_PREREQ_READLINK invocations from here...
36335         * modules/readlink (configure.ac): ... to here.
36337 2011-05-21  Bruno Haible  <bruno@clisp.org>
36339         readline: Move AC_LIBOBJ invocations to module description.
36340         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
36341         gl_PREREQ_READLINE invocations from here...
36342         * modules/readline (configure.ac): ... to here.
36344 2011-05-21  Bruno Haible  <bruno@clisp.org>
36346         read: Move AC_LIBOBJ invocations to module description.
36347         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
36348         * modules/read (configure.ac): ... to here.
36350 2011-05-21  Bruno Haible  <bruno@clisp.org>
36352         rawmemchr: Move AC_LIBOBJ invocations to module description.
36353         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
36354         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
36355         from here...
36356         * modules/rawmemchr (configure.ac): ... to here.
36358 2011-05-21  Bruno Haible  <bruno@clisp.org>
36360         random_r: Move AC_LIBOBJ invocations to module description.
36361         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
36362         gl_PREREQ_RANDOM_R invocations from here...
36363         * modules/random_r (configure.ac): ... to here.
36365 2011-05-21  Bruno Haible  <bruno@clisp.org>
36367         pwrite: Move AC_LIBOBJ invocations to module description.
36368         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
36369         * modules/pwrite (configure.ac): ... to here.
36371 2011-05-21  Bruno Haible  <bruno@clisp.org>
36373         putenv: Move AC_LIBOBJ invocations to module description.
36374         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
36375         * modules/putenv (configure.ac): ... to here.
36377 2011-05-21  Bruno Haible  <bruno@clisp.org>
36379         login_tty: Move AC_LIBOBJ invocations to module description.
36380         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
36381         * modules/login_tty (configure.ac): ... to here.
36383 2011-05-21  Bruno Haible  <bruno@clisp.org>
36385         openpty: Move AC_LIBOBJ invocations to module description.
36386         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
36387         * modules/openpty (configure.ac): ... to here.
36389 2011-05-21  Bruno Haible  <bruno@clisp.org>
36391         forkpty: Move AC_LIBOBJ invocations to module description.
36392         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
36393         * modules/forkpty (configure.ac): ... to here.
36395 2011-05-21  Bruno Haible  <bruno@clisp.org>
36397         ptsname: Move AC_LIBOBJ invocations to module description.
36398         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
36399         invocations from here...
36400         * modules/ptsname (configure.ac): ... to here.
36402 2011-05-21  Bruno Haible  <bruno@clisp.org>
36404         pread: Move AC_LIBOBJ invocations to module description.
36405         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
36406         * modules/pread (configure.ac): ... to here.
36408 2011-05-21  Bruno Haible  <bruno@clisp.org>
36410         posix_spawn*: Move AC_LIBOBJ invocations to module description.
36411         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
36412         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
36413         * modules/posix_spawn (configure.ac): ... to here.
36414         * modules/posix_spawnp (configure.ac): ... and here.
36416 2011-05-21  Bruno Haible  <bruno@clisp.org>
36418         popen: Move AC_LIBOBJ invocations to module description.
36419         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
36420         invocations from here...
36421         * modules/popen (configure.ac): ... to here.
36423 2011-05-21  Bruno Haible  <bruno@clisp.org>
36425         poll: Move AC_LIBOBJ invocations to module description.
36426         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
36427         invocations from here...
36428         * modules/poll (configure.ac): ... to here.
36430 2011-05-21  Bruno Haible  <bruno@clisp.org>
36432         pipe-posix: Move AC_LIBOBJ invocations to module description.
36433         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
36434         * modules/pipe-posix (configure.ac): ... to here.
36436 2011-05-21  Bruno Haible  <bruno@clisp.org>
36438         openat: Respect rules for use of AC_LIBOBJ.
36439         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
36440         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36441         * modules/openat (configure.ac): ... to here.
36443 2011-05-21  Bruno Haible  <bruno@clisp.org>
36445         obstack-printf*: Move AC_LIBOBJ invocations to module description.
36446         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
36447         invocation from here...
36448         * modules/obstack-printf (configure.ac): ... to here.
36449         * modules/obstack-printf-posix (configure.ac): ... and here.
36451 2011-05-21  Bruno Haible  <bruno@clisp.org>
36453         nl_langinfo: Move AC_LIBOBJ invocations to module description.
36454         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
36455         from here...
36456         * modules/nl_langinfo (configure.ac): ... to here.
36458 2011-05-21  Bruno Haible  <bruno@clisp.org>
36460         nanosleep: Move AC_LIBOBJ invocations to module description.
36461         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
36462         gl_PREREQ_NANOSLEEP invocations from here...
36463         * modules/nanosleep (configure.ac): ... to here.
36465 2011-05-21  Bruno Haible  <bruno@clisp.org>
36467         mountlist: Move AC_LIBOBJ invocations to module description.
36468         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
36469         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
36470         * modules/mountlist (configure.ac): ... to here.
36472 2011-05-21  Bruno Haible  <bruno@clisp.org>
36474         mktime: Respect rules for use of AC_LIBOBJ.
36475         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
36476         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
36477         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
36478         (gl_FUNC_MKTIME_INTERNAL): ... and here...
36479         * modules/mktime (configure.ac): ... to here.
36480         * modules/mktime-internal (configure.ac): ... and here.
36481         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
36483 2011-05-21  Bruno Haible  <bruno@clisp.org>
36485         mkstemps: Move AC_LIBOBJ invocations to module description.
36486         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
36487         here...
36488         * modules/mkstemps (configure.ac): ... to here.
36490 2011-05-21  Bruno Haible  <bruno@clisp.org>
36492         mkstemp: Move AC_LIBOBJ invocations to module description.
36493         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
36494         gl_PREREQ_MKSTEMP invocations from here...
36495         * modules/mkstemp (configure.ac): ... to here.
36497 2011-05-21  Bruno Haible  <bruno@clisp.org>
36499         mkostemps: Move AC_LIBOBJ invocations to module description.
36500         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
36501         here...
36502         * modules/mkostemps (configure.ac): ... to here.
36504 2011-05-21  Bruno Haible  <bruno@clisp.org>
36506         mkostemp: Move AC_LIBOBJ invocations to module description.
36507         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
36508         gl_PREREQ_MKOSTEMP invocations from here...
36509         * modules/mkostemp (configure.ac): ... to here.
36511 2011-05-21  Bruno Haible  <bruno@clisp.org>
36513         mknod: Move AC_LIBOBJ invocations to module description.
36514         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
36515         * modules/mknod (configure.ac): ... to here.
36517 2011-05-21  Bruno Haible  <bruno@clisp.org>
36519         mkfifoat: Move AC_LIBOBJ invocations to module description.
36520         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
36521         here...
36522         * modules/mkfifoat (configure.ac): ... to here.
36524 2011-05-21  Bruno Haible  <bruno@clisp.org>
36526         mkfifo: Respect rules for use of AC_LIBOBJ.
36527         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
36528         here...
36529         * modules/mkfifo (configure.ac): ... to here.
36531 2011-05-21  Bruno Haible  <bruno@clisp.org>
36533         mkdtemp: Move AC_LIBOBJ invocations to module description.
36534         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
36535         invocations from here...
36536         * modules/mkdtemp (configure.ac): ... to here.
36538 2011-05-21  Bruno Haible  <bruno@clisp.org>
36540         mkdir: Move AC_LIBOBJ invocations to module description.
36541         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
36542         * modules/mkdir (configure.ac): ... to here.
36544 2011-05-21  Bruno Haible  <bruno@clisp.org>
36546         memset: Move AC_LIBOBJ invocations to module description.
36547         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
36548         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
36549         here...
36550         * modules/memset (configure.ac): ... to here.
36552 2011-05-21  Bruno Haible  <bruno@clisp.org>
36554         memrchr: Move AC_LIBOBJ invocations to module description.
36555         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
36556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
36557         here...
36558         * modules/memrchr (configure.ac): ... to here.
36560 2011-05-21  Bruno Haible  <bruno@clisp.org>
36562         mempcpy: Move AC_LIBOBJ invocations to module description.
36563         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
36564         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
36565         here...
36566         * modules/mempcpy (configure.ac): ... to here.
36568 2011-05-21  Bruno Haible  <bruno@clisp.org>
36570         memmove: Move AC_LIBOBJ invocations to module description.
36571         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
36572         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
36573         here...
36574         * modules/memmove (configure.ac): ... to here.
36576 2011-05-21  Bruno Haible  <bruno@clisp.org>
36578         memmem*: Move AC_LIBOBJ invocations to module description.
36579         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
36580         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
36581         here...
36582         (gl_FUNC_MEMMEM): ... and here...
36583         * modules/memmem-simple (configure.ac): ... to here.
36584         * modules/memmem (configure.ac): ... and here.
36586 2011-05-21  Bruno Haible  <bruno@clisp.org>
36588         memcpy: Move AC_LIBOBJ invocations to module description.
36589         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
36590         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
36591         here...
36592         * modules/memcpy (configure.ac): ... to here.
36594 2011-05-21  Bruno Haible  <bruno@clisp.org>
36596         memcmp: Simplify autoconf macro.
36597         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
36598         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
36599         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
36601 2011-05-21  Bruno Haible  <bruno@clisp.org>
36603         memcmp: Move AC_LIBOBJ invocations to module description.
36604         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
36605         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
36606         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
36607         * modules/memcmp (configure.ac): ... to here.
36608         (Depends-on): Update conditions.
36610 2011-05-21  Bruno Haible  <bruno@clisp.org>
36612         memchr: Respect rules for use of AC_LIBOBJ.
36613         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
36614         invocations from here...
36615         * modules/memchr (configure.ac): ... to here.
36617 2011-05-21  Bruno Haible  <bruno@clisp.org>
36619         mbtowc: Move AC_LIBOBJ invocations to module description.
36620         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
36621         invocations from here...
36622         * modules/mbtowc (configure.ac): ... to here.
36624 2011-05-21  Bruno Haible  <bruno@clisp.org>
36626         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
36627         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
36628         gl_PREREQ_MBSRTOWCS invocations from here...
36629         * modules/mbsrtowcs (configure.ac): ... to here.
36631 2011-05-21  Bruno Haible  <bruno@clisp.org>
36633         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
36634         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
36635         gl_PREREQ_MBSNRTOWCS invocations from here...
36636         * modules/mbsnrtowcs (configure.ac): ... to here.
36638 2011-05-21  Bruno Haible  <bruno@clisp.org>
36640         mbsinit: Move AC_LIBOBJ invocations to module description.
36641         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
36642         invocations from here...
36643         * modules/mbsinit (configure.ac): ... to here.
36645 2011-05-21  Bruno Haible  <bruno@clisp.org>
36647         mbrlen: Move AC_LIBOBJ invocations to module description.
36648         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
36649         invocations from here...
36650         * modules/mbrlen (configure.ac): ... to here.
36652 2011-05-21  Bruno Haible  <bruno@clisp.org>
36654         mbrtowc: Respect rules for use of AC_LIBOBJ.
36655         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
36656         invocations from here...
36657         * modules/mbrtowc (configure.ac): ... to here.
36659 2011-05-21  Bruno Haible  <bruno@clisp.org>
36661         malloc-*: Move AC_LIBOBJ invocations to module description.
36662         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
36663         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
36664         AC_LIBOBJ invocations from here...
36665         * modules/malloc-gnu (configure.ac): ... to here.
36666         * modules/malloc-posix (configure.ac): ... and here.
36668 2011-05-21  Bruno Haible  <bruno@clisp.org>
36670         lstat, openat: Respect rules for use of AC_LIBOBJ.
36671         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
36672         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
36673         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
36674         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
36675         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
36676         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
36677         here.
36678         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
36680 2011-05-21  Bruno Haible  <bruno@clisp.org>
36682         lseek: Move AC_LIBOBJ invocations to module description.
36683         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
36684         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36685         * modules/lseek (configure.ac): ... to here.
36687 2011-05-21  Bruno Haible  <bruno@clisp.org>
36689         linkat: Move AC_LIBOBJ invocations to module description.
36690         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
36691         here...
36692         * modules/linkat (configure.ac): ... to here.
36694 2011-05-21  Bruno Haible  <bruno@clisp.org>
36696         link: Respect rules for use of AC_LIBOBJ.
36697         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
36698         * modules/link (configure.ac): ... to here.
36700 2011-05-21  Bruno Haible  <bruno@clisp.org>
36702         lchown: Move AC_LIBOBJ invocations to module description.
36703         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36704         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36705         * modules/lchown (configure.ac): ... to here.
36707 2011-05-21  Bruno Haible  <bruno@clisp.org>
36709         iswctype: Move AC_LIBOBJ invocations to module description.
36710         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
36711         here...
36712         * modules/iswctype (configure.ac): ... to here.
36714 2011-05-21  Bruno Haible  <bruno@clisp.org>
36716         iswblank: Move AC_LIBOBJ invocations to module description.
36717         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
36718         here...
36719         * modules/iswblank (configure.ac): ... to here.
36721 2011-05-21  Bruno Haible  <bruno@clisp.org>
36723         atanl: Move AC_LIBOBJ invocations to module description.
36724         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
36725         * modules/atanl (configure.ac): ... to here.
36727 2011-05-21  Bruno Haible  <bruno@clisp.org>
36729         acosl: Move AC_LIBOBJ invocations to module description.
36730         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
36731         * modules/acosl (configure.ac): ... to here.
36733 2011-05-21  Bruno Haible  <bruno@clisp.org>
36735         asinl: Respect rules for use of AC_LIBOBJ.
36736         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
36737         * modules/asinl (configure.ac): ... to here.
36739 2011-05-21  Bruno Haible  <bruno@clisp.org>
36741         tanl: Move AC_LIBOBJ invocations to module description.
36742         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36743         * modules/tanl (configure.ac): ... to here.
36745 2011-05-21  Bruno Haible  <bruno@clisp.org>
36747         cosl: Move AC_LIBOBJ invocations to module description.
36748         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36749         * modules/cosl (configure.ac): ... to here.
36751 2011-05-21  Bruno Haible  <bruno@clisp.org>
36753         sinl: Move AC_LIBOBJ invocations to module description.
36754         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36755         * modules/sinl (configure.ac): ... to here.
36757 2011-05-21  Bruno Haible  <bruno@clisp.org>
36759         logl: Move AC_LIBOBJ invocations to module description.
36760         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36761         * modules/logl (configure.ac): ... to here.
36763 2011-05-21  Bruno Haible  <bruno@clisp.org>
36765         expl: Move AC_LIBOBJ invocations to module description.
36766         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36767         * modules/expl (configure.ac): ... to here.
36769 2011-05-21  Bruno Haible  <bruno@clisp.org>
36771         roundl: Move AC_LIBOBJ invocations to module description.
36772         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36773         * modules/roundl (configure.ac): ... to here.
36775 2011-05-21  Bruno Haible  <bruno@clisp.org>
36777         round: Move AC_LIBOBJ invocations to module description.
36778         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36779         * modules/round (configure.ac): ... to here.
36781 2011-05-21  Bruno Haible  <bruno@clisp.org>
36783         roundf: Move AC_LIBOBJ invocations to module description.
36784         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36785         * modules/roundf (configure.ac): ... to here.
36787 2011-05-21  Bruno Haible  <bruno@clisp.org>
36789         truncl: Move AC_LIBOBJ invocations to module description.
36790         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36791         * modules/truncl (configure.ac): ... to here.
36793 2011-05-21  Bruno Haible  <bruno@clisp.org>
36795         trunc: Move AC_LIBOBJ invocations to module description.
36796         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36797         * modules/trunc (configure.ac): ... to here.
36799 2011-05-21  Bruno Haible  <bruno@clisp.org>
36801         truncf: Move AC_LIBOBJ invocations to module description.
36802         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36803         * modules/truncf (configure.ac): ... to here.
36805 2011-05-21  Bruno Haible  <bruno@clisp.org>
36807         ceill: Move AC_LIBOBJ invocations to module description.
36808         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36809         * modules/ceill (configure.ac): ... to here.
36811 2011-05-21  Bruno Haible  <bruno@clisp.org>
36813         ceil: Move AC_LIBOBJ invocations to module description.
36814         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36815         * modules/ceil (configure.ac): ... to here.
36817 2011-05-21  Bruno Haible  <bruno@clisp.org>
36819         ceilf: Move AC_LIBOBJ invocations to module description.
36820         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36821         * modules/ceilf (configure.ac): ... to here.
36823 2011-05-21  Bruno Haible  <bruno@clisp.org>
36825         floorl: Respect rules for use of AC_LIBOBJ.
36826         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36827         * modules/floorl (configure.ac): ... to here.
36829 2011-05-21  Bruno Haible  <bruno@clisp.org>
36831         floor: Respect rules for use of AC_LIBOBJ.
36832         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36833         * modules/floor (configure.ac): ... to here.
36835 2011-05-21  Bruno Haible  <bruno@clisp.org>
36837         floorf: Move AC_LIBOBJ invocations to module description.
36838         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36839         * modules/floorf (configure.ac): ... to here.
36841 2011-05-20  Bruno Haible  <bruno@clisp.org>
36843         sqrtl: Respect rules for use of AC_LIBOBJ.
36844         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36845         * modules/sqrtl (configure.ac): ... to here.
36847 2011-05-20  Bruno Haible  <bruno@clisp.org>
36849         ldexpl: Respect rules for use of AC_LIBOBJ.
36850         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36851         * modules/ldexpl (configure.ac): ... to here.
36853 2011-05-20  Bruno Haible  <bruno@clisp.org>
36855         frexpl*: Respect rules for use of AC_LIBOBJ.
36856         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36857         invocation from here...
36858         * modules/frexpl (configure.ac): ... to here.
36859         * modules/frexpl-nolibm (configure.ac): ... and here.
36861 2011-05-20  Bruno Haible  <bruno@clisp.org>
36863         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36864         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36865         invocation from here...
36866         * modules/frexp (configure.ac): ... to here.
36867         * modules/frexp-nolibm (configure.ac): ... and here.
36869 2011-05-20  Bruno Haible  <bruno@clisp.org>
36871         isnan: Respect rules for use of AC_LIBOBJ.
36872         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36873         invocations here.
36874         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36875         REPLACE_ISNAN.
36876         * modules/isnand (configure.ac): Likewise.
36877         * modules/isnanl (configure.ac): Likewise.
36879 2011-05-20  Bruno Haible  <bruno@clisp.org>
36881         isnanl*: Respect rules for use of AC_LIBOBJ.
36882         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36883         invocation from here...
36884         * modules/isnanl (configure.ac): ... to here.
36885         * modules/isnanl-nolibm (configure.ac): ... and here.
36887 2011-05-20  Bruno Haible  <bruno@clisp.org>
36889         isnand*: Move AC_LIBOBJ invocations to module description.
36890         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36891         invocation from here...
36892         * modules/isnand (configure.ac): ... to here.
36893         * modules/isnand-nolibm (configure.ac): ... and here.
36895 2011-05-20  Bruno Haible  <bruno@clisp.org>
36897         isnanf*: Move AC_LIBOBJ invocations to module description.
36898         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36899         invocation from here...
36900         * modules/isnanf (configure.ac): ... to here.
36901         * modules/isnanf-nolibm (configure.ac): ... and here.
36903 2011-05-20  Bruno Haible  <bruno@clisp.org>
36905         isnan*: Separate the AC_LIBOBJ invocations.
36906         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36907         AC_LIBOBJ invocation.
36908         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36909         here.
36910         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36911         AC_LIBOBJ invocation.
36912         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36913         here.
36914         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36915         AC_LIBOBJ invocation.
36916         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36917         here.
36918         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36920 2011-05-08  Bruno Haible  <bruno@clisp.org>
36922         isinf: Move AC_LIBOBJ invocations to module description.
36923         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36924         * modules/isinf (configure.ac): ... to here.
36926 2011-05-08  Bruno Haible  <bruno@clisp.org>
36928         isfinite: Move AC_LIBOBJ invocations to module description.
36929         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36930         * modules/isfinite (configure.ac): ... to here.
36932 2011-05-08  Bruno Haible  <bruno@clisp.org>
36934         isblank: Move AC_LIBOBJ invocations to module description.
36935         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36936         here...
36937         * modules/isblank (configure.ac): ... to here.
36939 2011-05-08  Bruno Haible  <bruno@clisp.org>
36941         isapipe: Move AC_LIBOBJ invocations to module description.
36942         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36943         gl_PREREQ_ISAPIPE invocations from here...
36944         * modules/isapipe (configure.ac): ... to here.
36945         (Depends-on): Update condition.
36947 2011-05-08  Bruno Haible  <bruno@clisp.org>
36949         ioctl: Move AC_LIBOBJ invocations to module description.
36950         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36951         invocations from here...
36952         * modules/ioctl (configure.ac): ... to here.
36953         (Depends-on): Update condition.
36955 2011-05-08  Bruno Haible  <bruno@clisp.org>
36957         imaxdiv: Move AC_LIBOBJ invocations to module description.
36958         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36959         invocations from here...
36960         * modules/imaxdiv (configure.ac): ... to here.
36962 2011-05-08  Bruno Haible  <bruno@clisp.org>
36964         imaxabs: Move AC_LIBOBJ invocations to module description.
36965         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
36966         invocations from here...
36967         * modules/imaxabs (configure.ac): ... to here.
36969 2011-05-08  Bruno Haible  <bruno@clisp.org>
36971         getaddrinfo: Move AC_LIBOBJ invocations to module description.
36972         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
36973         AC_LIBOBJ invocations from here...
36974         * modules/getaddrinfo (configure.ac): ... to here.
36975         (Depends-on): Add conditions.
36977 2011-05-08  Bruno Haible  <bruno@clisp.org>
36979         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36980         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
36981         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36982         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
36983         (gl_PREREQ_INET_PTON): ... from here.
36984         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
36985         gl_PREREQ_INET_PTON here.
36986         (Depends-on): Update condition.
36988 2011-05-08  Bruno Haible  <bruno@clisp.org>
36990         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36991         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
36992         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36993         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
36994         (gl_PREREQ_INET_NTOP): ... from here.
36995         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
36996         gl_PREREQ_INET_NTOP here.
36997         (Depends-on): Update condition.
36999 2011-05-08  Bruno Haible  <bruno@clisp.org>
37001         iconv_open: Move AC_LIBOBJ invocations to module description.
37002         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
37003         AC_LIBOBJ invocations from here...
37004         * modules/iconv_open (configure.ac): ... to here.
37006 2011-05-08  Bruno Haible  <bruno@clisp.org>
37008         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
37009         If module 'iconv_open' is among the main modules and module
37010         'iconv_open-utf' is among the tests dependencies, then
37011         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
37012         return the special iconv_t values. Therefore iconv() and iconv_close()
37013         must support these special iconv_t values, already in lib, not only in
37014         tests.
37015         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
37016         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
37017         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
37018         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
37019         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
37020         (Depends-on): Add the dependencies of iconv_open-utf.
37021         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
37022         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
37023         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
37025 2011-05-08  Bruno Haible  <bruno@clisp.org>
37027         group-member: Move AC_LIBOBJ invocations to module description.
37028         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
37029         gl_PREREQ_GROUP_MEMBER invocations from here...
37030         * modules/group-member (configure.ac): ... to here.
37032 2011-05-08  Bruno Haible  <bruno@clisp.org>
37034         grantpt: Move AC_LIBOBJ invocations to module description.
37035         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
37036         invocations from here...
37037         * modules/grantpt (configure.ac): ... to here.
37039 2011-05-08  Bruno Haible  <bruno@clisp.org>
37041         glob: Move AC_LIBOBJ invocations to module description.
37042         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
37043         from here...
37044         * modules/glob (configure.ac): ... to here.
37046 2011-05-08  Bruno Haible  <bruno@clisp.org>
37048         getusershell: Move AC_LIBOBJ invocations to module description.
37049         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
37050         Move AC_LIBOBJ invocation from here...
37051         * modules/getusershell (configure.ac): ... to here.
37052         (Depends-on): Update condition.
37054 2011-05-08  Bruno Haible  <bruno@clisp.org>
37056         gettimeofday: Move AC_LIBOBJ invocations to module description.
37057         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37058         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
37059         gl_PREREQ_GETTIMEOFDAY invocations from here...
37060         * modules/gettimeofday (configure.ac): ... to here.
37062 2011-05-08  Bruno Haible  <bruno@clisp.org>
37064         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
37065         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
37066         just gl_FUNC_TZSET.
37067         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
37068         (gl_FUNC_TZSET_CLOBBER): Remove actions.
37069         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
37070         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
37072 2011-05-08  Bruno Haible  <bruno@clisp.org>
37074         getsubopt: Move AC_LIBOBJ invocations to module description.
37075         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
37076         gl_PREREQ_GETSUBOPT invocations from here...
37077         * modules/getsubopt (configure.ac): ... to here.
37079 2011-05-08  Bruno Haible  <bruno@clisp.org>
37081         getpass-gnu: Move AC_LIBOBJ invocations to module description.
37082         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
37083         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
37084         * modules/getpass-gnu (configure.ac): ... to here.
37086 2011-05-08  Bruno Haible  <bruno@clisp.org>
37088         getpass: Move AC_LIBOBJ invocations to module description.
37089         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
37090         gl_PREREQ_GETPASS invocations from here...
37091         * modules/getpass (configure.ac): ... to here.
37093 2011-05-08  Bruno Haible  <bruno@clisp.org>
37095         getpagesize: Move AC_LIBOBJ invocations to module description.
37096         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
37097         from here...
37098         * modules/getpagesize (configure.ac): ... to here.
37100 2011-05-08  Bruno Haible  <bruno@clisp.org>
37102         getopt: Move AC_LIBOBJ invocations to module description.
37103         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
37104         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
37105         invocations from here...
37106         * modules/getopt-gnu (configure.ac): ... to here.
37107         * modules/getopt-posix (configure.ac): ... and here.
37108         (Depends-on): Update condition.
37110 2011-05-08  Bruno Haible  <bruno@clisp.org>
37112         getopt, argp: Respect rules for use of AC_LIBOBJ.
37113         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
37114         (gl_REPLACE_GETOPT_ALWAYS): New macro.
37115         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
37116         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
37118 2011-05-08  Bruno Haible  <bruno@clisp.org>
37120         getlogin_r: Move AC_LIBOBJ invocations to module description.
37121         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
37122         gl_PREREQ_GETLOGIN_R invocations from here...
37123         * modules/getlogin_r (configure.ac): ... to here.
37125 2011-05-08  Bruno Haible  <bruno@clisp.org>
37127         getlogin: Move AC_LIBOBJ invocations to module description.
37128         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
37129         here...
37130         * modules/getlogin (configure.ac): ... to here.
37132 2011-05-08  Bruno Haible  <bruno@clisp.org>
37134         getloadavg: Move AC_LIBOBJ invocations to module description.
37135         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
37136         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
37137         * modules/getloadavg (configure.ac): ... to here.
37139 2011-05-08  Bruno Haible  <bruno@clisp.org>
37141         gethrxtime: Move AC_LIBOBJ invocations to module description.
37142         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
37143         LIB_GETHRXTIME from here...
37144         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
37145         invocations from here...
37146         * modules/gethrxtime (configure.ac): ... to here.
37148 2011-05-08  Bruno Haible  <bruno@clisp.org>
37150         gethostname: Move AC_LIBOBJ invocations to module description.
37151         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
37152         gl_PREREQ_GETHOSTNAME invocations from here...
37153         * modules/gethostname (configure.ac): ... to here.
37155 2011-05-08  Bruno Haible  <bruno@clisp.org>
37157         getgroups: Move AC_LIBOBJ invocations to module description.
37158         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
37159         here...
37160         * modules/getgroups (configure.ac): ... to here.
37162 2011-05-08  Bruno Haible  <bruno@clisp.org>
37164         getdtablesize: Move AC_LIBOBJ invocations to module description.
37165         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
37166         invocation from here...
37167         * modules/getdtablesize (configure.ac): ... to here.
37169 2011-05-08  Bruno Haible  <bruno@clisp.org>
37171         getdomainname: Move AC_LIBOBJ invocations to module description.
37172         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
37173         gl_PREREQ_GETDOMAINNAME invocations from here...
37174         * modules/getdomainname (configure.ac): ... to here.
37176 2011-05-08  Bruno Haible  <bruno@clisp.org>
37178         getline: Move AC_LIBOBJ invocations to module description.
37179         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
37180         invocations from here...
37181         * modules/getline (configure.ac): ... to here.
37183 2011-05-08  Bruno Haible  <bruno@clisp.org>
37185         getline: Simplify.
37186         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
37187         It's already handled through the module dependency.
37189 2011-05-08  Bruno Haible  <bruno@clisp.org>
37191         getdelim: Move AC_LIBOBJ invocations to module description.
37192         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
37193         and gl_PREREQ_GETDELIM invocations from here...
37194         * modules/getdelim (configure.ac): ... to here.
37195         (Depends-on): Fix condition.
37197 2011-05-08  Bruno Haible  <bruno@clisp.org>
37199         getcwd: Move AC_LIBOBJ invocations to module description.
37200         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
37201         invocations from here...
37202         * modules/getcwd (configure.ac): ... to here.
37204 2011-05-08  Bruno Haible  <bruno@clisp.org>
37206         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
37207         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
37208         here...
37209         * modules/getcwd-lgpl (configure.ac): ... to here.
37211 2011-05-07  Bruno Haible  <bruno@clisp.org>
37213         crypto/gc: Move AC_LIBOBJ invocations to module description.
37214         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
37215         * modules/crypto/gc (configure.ac): ... to here.
37217 2011-05-07  Bruno Haible  <bruno@clisp.org>
37219         fwriting: Move AC_LIBOBJ invocations to module description.
37220         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
37221         here...
37222         * modules/fwriting (configure.ac): ... to here.
37224 2011-05-07  Bruno Haible  <bruno@clisp.org>
37226         fwritable: Move AC_LIBOBJ invocations to module description.
37227         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
37228         here...
37229         * modules/fwritable (configure.ac): ... to here.
37231 2011-05-07  Bruno Haible  <bruno@clisp.org>
37233         futimens: Move AC_LIBOBJ invocations to module description.
37234         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
37235         here...
37236         * modules/futimens (configure.ac): ... to here.
37238 2011-05-07  Bruno Haible  <bruno@clisp.org>
37240         ftruncate: Move AC_LIBOBJ invocations to module description.
37241         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
37242         gl_PREREQ_FTRUNCATE invocations from here...
37243         * modules/ftruncate (configure.ac): ... to here.
37245 2011-05-07  Bruno Haible  <bruno@clisp.org>
37247         fsync: Move AC_LIBOBJ invocations to module description.
37248         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
37249         invocations from here...
37250         * modules/fsync (configure.ac): ... to here.
37252 2011-05-07  Bruno Haible  <bruno@clisp.org>
37254         fsusage: Move AC_LIBOBJ invocations to module description.
37255         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
37256         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
37257         * modules/fsusage (configure.ac): ... to here.
37259 2011-05-07  Bruno Haible  <bruno@clisp.org>
37261         freopen: Move AC_LIBOBJ invocations to module description.
37262         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
37263         invocations from here...
37264         * modules/freopen (configure.ac): ... to here.
37266 2011-05-07  Bruno Haible  <bruno@clisp.org>
37268         free: Move AC_LIBOBJ invocations to module description.
37269         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
37270         invocations from here...
37271         * modules/free (configure.ac): ... to here.
37273 2011-05-07  Bruno Haible  <bruno@clisp.org>
37275         freadable: Move AC_LIBOBJ invocations to module description.
37276         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
37277         here...
37278         * modules/freadable (configure.ac): ... to here.
37280 2011-05-07  Bruno Haible  <bruno@clisp.org>
37282         fpurge: Move AC_LIBOBJ invocations to module description.
37283         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
37284         invocations from here...
37285         * modules/fpurge (configure.ac): ... to here.
37287 2011-05-07  Bruno Haible  <bruno@clisp.org>
37289         fpending: Move AC_LIBOBJ invocations to module description.
37290         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
37291         gl_FUNC_FPENDING.
37292         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
37293         invocations from here...
37294         * modules/fpending (configure.ac): ... to here.
37296 2011-05-07  Bruno Haible  <bruno@clisp.org>
37298         fopen: Move AC_LIBOBJ invocations to module description.
37299         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
37300         invocations from here...
37301         * modules/fopen (configure.ac): ... to here.
37303 2011-05-07  Bruno Haible  <bruno@clisp.org>
37305         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
37306         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
37307         gl_FUNC_FNMATCH_POSIX.
37308         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
37309         invocations from here...
37310         * modules/fnmatch (configure.ac): ... to here.
37311         * modules/fnmatch-gnu (configure.ac): ... and here.
37313 2011-05-07  Bruno Haible  <bruno@clisp.org>
37315         flock: Move AC_LIBOBJ invocations to module description.
37316         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
37317         invocations from here...
37318         * modules/flock (configure.ac): ... to here.
37320 2011-05-07  Bruno Haible  <bruno@clisp.org>
37322         fileblocks: Move AC_LIBOBJ invocations to module description.
37323         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
37324         gl_PREREQ_FILEBLOCKS invocations from here...
37325         * modules/fileblocks (configure.ac): ... to here.
37327 2011-05-06  Bruno Haible  <bruno@clisp.org>
37329         fflush: Move AC_LIBOBJ invocations to module description.
37330         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
37331         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
37332         invocations from here...
37333         * modules/fflush (configure.ac): ... to here.
37335 2011-05-06  Bruno Haible  <bruno@clisp.org>
37337         fdopendir: Move AC_LIBOBJ invocations to module description.
37338         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
37339         here...
37340         * modules/fdopendir (configure.ac): ... to here.
37341         (Depends-on): Improve conditions.
37343 2011-05-06  Bruno Haible  <bruno@clisp.org>
37345         _Exit: Move AC_LIBOBJ invocations to module description.
37346         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
37347         invocations from here...
37348         * modules/_Exit (configure.ac): ... to here.
37350 2011-05-21  Bruno Haible  <bruno@clisp.org>
37352         euidaccess: Respect rules for use of AC_LIBOBJ.
37353         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
37354         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
37355         from here...
37356         * modules/euidaccess (configure.ac): ... to here.
37358 2011-05-06  Bruno Haible  <bruno@clisp.org>
37360         error: Move AC_LIBOBJ invocations to module description.
37361         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
37362         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
37363         invocations from here...
37364         * modules/error (configure.ac): ... to here.
37366 2011-05-06  Bruno Haible  <bruno@clisp.org>
37368         duplocale: Move AC_LIBOBJ invocations to module description.
37369         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
37370         gl_PREREQ_DUPLOCALE invocations from here...
37371         * modules/duplocale (configure.ac): ... to here.
37373 2011-05-05  Bruno Haible  <bruno@clisp.org>
37375         dirfd: Move AC_LIBOBJ invocations to module description.
37376         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
37377         gl_FUNC_DIRFD.
37378         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
37379         here...
37380         * modules/dirfd (configure.ac): ... to here.
37381         (Depends-on): Fix condition.
37383 2011-05-05  Bruno Haible  <bruno@clisp.org>
37385         chown: Respect rules for use of AC_LIBOBJ.
37386         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
37387         * modules/chown (configure.ac): ... to here.
37389 2011-05-05  Bruno Haible  <bruno@clisp.org>
37391         chdir-long: Move AC_LIBOBJ invocations to module description.
37392         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
37393         gl_PREREQ_CHDIR_LONG invocations from here...
37394         * modules/chdir-long (configure.ac): ... to here.
37396 2011-05-05  Bruno Haible  <bruno@clisp.org>
37398         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
37399         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
37400         from here...
37401         * modules/canonicalize-lgpl (configure.ac): ... to here.
37403 2011-05-05  Bruno Haible  <bruno@clisp.org>
37405         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
37406         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
37407         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
37408         REPLACE_CALLOC.
37409         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
37410         * modules/calloc-gnu (configure.ac): Likewise.
37412 2011-05-05  Bruno Haible  <bruno@clisp.org>
37414         btowc: Move AC_LIBOBJ invocations to module description.
37415         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
37416         invocations from here...
37417         * modules/btowc (configure.ac): ... to here.
37419 2011-05-21  Bruno Haible  <bruno@clisp.org>
37421         atexit: Move AC_LIBOBJ invocations to module description.
37422         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
37423         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
37424         here...
37425         * modules/atexit (configure.ac): ... to here.
37427 2011-05-05  Bruno Haible  <bruno@clisp.org>
37429         atoll: Move AC_LIBOBJ invocations to module description.
37430         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
37431         invocations from here...
37432         * modules/atoll (configure.ac): ... to here.
37434 2011-05-05  Bruno Haible  <bruno@clisp.org>
37436         argz: Move AC_LIBOBJ invocations to module description.
37437         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
37438         * modules/argz (configure.ac): ... to here.
37440 2011-05-05  Bruno Haible  <bruno@clisp.org>
37442         alphasort: Move AC_LIBOBJ invocations to module description.
37443         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
37444         gl_PREREQ_ALPHASORT invocations from here...
37445         * modules/alphasort (configure.ac): ... to here.
37447 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37449         verify: new macro verify_expr; verify_true deprecated
37450         * NEWS: Mention this.
37451         * doc/verify.texi (Compile-time Assertions): Document this.
37452         * lib/verify.h (verify_true): Deprecate.
37453         (verify_expr): New macro.
37454         * tests/test-verify.c (function): Test verify_expr.
37456 2011-06-14  Jim Meyering  <meyering@redhat.com>
37458         init.sh: give more portable redirection-related advice in a comment
37459         * tests/init.sh (stderr_fileno_): Update the advice in comments.
37460         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
37461         for lots of discussion.  Stefano Lattarini suggested the solution
37462         of putting "9>&2" after the command.  Reported by Bruno Haible.
37464 2011-06-13  Bruno Haible  <bruno@clisp.org>
37466         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
37467         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
37468         'none'.
37470 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37472         ftoastr: use strtof only if HAVE_STRTOF
37473         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
37474         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
37475         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
37476         * modules/ftoastr (configure.ac): Check for strtof.
37478 2011-06-13  Bruno Haible  <bruno@clisp.org>
37480         gnulib-tool: Addendum to 2011-06-08 commit.
37481         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
37482         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37484 2011-06-13  Bruno Haible  <bruno@clisp.org>
37486         fseeko: Provide a non-inline replacement of fseek().
37487         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
37488         * modules/fseeko (Depends-on): Add fseek.
37489         * modules/fseek (License): Change to LGPLv2+.
37491 2011-06-13  Bruno Haible  <bruno@clisp.org>
37493         ftello: Provide a non-inline replacement of ftell().
37494         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
37495         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
37496         not have ftello() (such as on mingw).
37497         * modules/ftello (Depends-on): Add ftell.
37498         * modules/ftell (License): Change to LGPLv2+.
37500 2011-05-07  Bruno Haible  <bruno@clisp.org>
37502         ftell: Move AC_LIBOBJ invocations to module description.
37503         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
37504         * modules/ftell (configure.ac): ... to here.
37506 2011-05-07  Bruno Haible  <bruno@clisp.org>
37508         ftello: Respect rules for use of AC_LIBOBJ.
37509         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
37510         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
37511         here...
37512         * modules/ftello (configure.ac): ... to here.
37514 2011-05-07  Bruno Haible  <bruno@clisp.org>
37516         fseeko: Simplify.
37517         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
37518         (gl_FUNC_FSEEKO): Inline it here.
37520 2011-05-07  Bruno Haible  <bruno@clisp.org>
37522         fseek: Move AC_LIBOBJ invocations to module description.
37523         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
37524         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37525         * modules/fseek (configure.ac): ... to here.
37527 2011-05-07  Bruno Haible  <bruno@clisp.org>
37529         fseek: Respect rules for use of AC_LIBOBJ.
37530         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
37531         here...
37532         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
37534 2011-05-07  Bruno Haible  <bruno@clisp.org>
37536         fseeko: Respect rules for use of AC_LIBOBJ.
37537         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
37538         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
37539         here...
37540         * modules/fseeko (configure.ac): ... to here.
37542 2011-06-13  Bruno Haible  <bruno@clisp.org>
37544         gnulib-tool: Allow comments in the 'Depends-on' section.
37545         * doc/gnulib.texi (Module description): Mention comment syntax in the
37546         Depends-on section.
37547         * gnulib-tool (func_get_dependencies): Filter out comment lines.
37549 2011-06-13  Bruno Haible  <bruno@clisp.org>
37551         file-set.h: guard __attibute__ use, now that it's not always defined
37552         * lib/file-set.h (record_file): Use __attribute__ only with compiler
37553         versions that support it.  This fixes a coreutils build failure with
37554         the vendor cc on HP-UX 11.31.
37556 2011-06-12  Bruno Haible  <bruno@clisp.org>
37558         acl: Add support for HP-UX >= 11.11 JFS ACLs.
37559         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
37560         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
37561         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
37562         (acl, aclsort): New declarations.
37563         (aclv_nontrivial): New declaration.
37564         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
37565         (file_has_acl): Read also the second kind of HP-UX ACLs.
37566         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
37567         kind of HP-UX ACLs if the first kind fails.
37568         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
37569         second kind of HP-UX ACLs.
37570         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
37571         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
37572         agree.
37573         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37574         hpuxjfs.
37575         Handle hpuxjfs.
37576         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37577         hpuxjfs.
37578         Handle hpuxjfs.
37579         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37580         (func_test_same_acls): Use both lsacl and getacl.
37581         Handle hpuxjfs.
37582         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37583         (func_test_same_acls): Use both lsacl and getacl.
37584         Handle hpuxjfs.
37586 2011-06-12  Bruno Haible  <bruno@clisp.org>
37588         acl: Complete the 2010-08-10 fix.
37589         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
37590         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
37591         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
37592         explicitly.
37593         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
37594         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
37596 2011-06-12  Bruno Haible  <bruno@clisp.org>
37598         spawn-pipe tests: Comments.
37599         * tests/test-spawn-pipe-child.c (main): Update comment.
37600         Reported by James Youngman <jay@gnu.org>.
37602 2011-06-11  James Youngman  <jay@gnu.org>
37604         New module 'stat-size'.
37605         * modules/stat-size: New module.  Provides macros for accessing
37606         file size information in instances of struct stat.  Depends on the
37607         fileblocks module because it calls st_blocks.
37608         * lib/stat-size.h: New file, adapted from coreutils' system.h.
37609         * doc/gnulib.texi: Include stat-size.texi.
37610         * doc/stat-size.texi: Documentation for this module.
37611         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
37612         * m4/fileblocks.m4: Mention that stat-size depends on the call to
37613         AC_STRUCT_ST_BLOCKS.
37615 2011-06-09  Bruno Haible  <bruno@clisp.org>
37617         thread: Support pthreads-win32.
37618         * lib/glthread/thread.h (gl_thread_self): Define differently on
37619         pthreads-win32.
37620         (gl_null_thread): New declaration.
37621         (gl_thread_self_pointer): New macro.
37622         * lib/glthread/thread.c (gl_null_thread): New constant.
37623         * tests/test-lock.c: Use gl_thread_self_pointer instead of
37624         gl_thread_self.
37625         * tests/test-tls.c: Likewise.
37626         Suggested by Paul Eggert. Reported by Eric Blake.
37628 2011-06-09  Bruno Haible  <bruno@clisp.org>
37630         thread: Fix confusion between NULL and 0.
37631         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37632         Reported by Paul Eggert.
37634 2011-06-09  Bruno Haible  <bruno@clisp.org>
37636         spawn-pipe tests: Avoid test failure on HP-UX 11.
37637         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
37638         is closed.
37640 2011-06-09  Bruno Haible  <bruno@clisp.org>
37642         acl tests: Fix compilation error on HP-UX 11.
37643         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
37645 2011-06-09  Bruno Haible  <bruno@clisp.org>
37647         rmdir: Avoid test failure on HP-UX 10.20.
37648         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
37649         EEXIST.
37651 2011-06-08  Eric Blake  <eblake@redhat.com>
37653         perror: fix test on mingw
37654         * modules/perror-tests (Depends-on): Add dup2.
37656         strerror_r-posix: fix on MacOS
37657         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
37658         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
37659         logic bug.
37660         * lib/strerror_r.c (strerror_r): Fix the bug.
37661         * lib/strerror.c (strerror): Likewise.
37662         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
37663         problem.
37664         * doc/posix-functions/strerror.texi (strerror): Likewise.
37665         * doc/posix-functions/perror.texi (perror): Likewise.
37666         * tests/test-strerror.c (main): Enhance test.
37667         * tests/test-strerror_r.c (main): Likewise.
37669 2011-06-08  Bruno Haible  <bruno@clisp.org>
37671         gnulib-tool: Better isolation between different gnulib-tool invocations.
37672         * gnulib-tool: New option --witness-c-macro.
37673         (witness_c_macro): New variable.
37674         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
37675         AM_CPPFLAGS define it as a C macro.
37676         (func_emit_tests_Makefile_am): Likewise.
37677         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
37678         read it from there.
37679         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
37680         m4_define, not AC_DEFUN.
37681         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
37682         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
37683         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
37684         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
37685         s|...|...|, to substitute the values of the GNULIB_* module indicator
37686         variables.
37687         * modules/dirent (Makefile.am): Likewise.
37688         * modules/fcntl-h (Makefile.am): Likewise.
37689         * modules/iconv-h (Makefile.am): Likewise.
37690         * modules/langinfo (Makefile.am): Likewise.
37691         * modules/locale (Makefile.am): Likewise.
37692         * modules/math (Makefile.am): Likewise.
37693         * modules/netdb (Makefile.am): Likewise.
37694         * modules/poll-h (Makefile.am): Likewise.
37695         * modules/pty (Makefile.am): Likewise.
37696         * modules/search (Makefile.am): Likewise.
37697         * modules/signal (Makefile.am): Likewise.
37698         * modules/spawn (Makefile.am): Likewise.
37699         * modules/stdio (Makefile.am): Likewise.
37700         * modules/stdlib (Makefile.am): Likewise.
37701         * modules/string (Makefile.am): Likewise.
37702         * modules/sys_ioctl (Makefile.am): Likewise.
37703         * modules/sys_select (Makefile.am): Likewise.
37704         * modules/sys_socket (Makefile.am): Likewise.
37705         * modules/sys_stat (Makefile.am): Likewise.
37706         * modules/sys_times (Makefile.am): Likewise.
37707         * modules/sys_utsname (Makefile.am): Likewise.
37708         * modules/sys_wait (Makefile.am): Likewise.
37709         * modules/termios (Makefile.am): Likewise.
37710         * modules/time (Makefile.am): Likewise.
37711         * modules/unistd (Makefile.am): Likewise.
37712         * modules/wchar (Makefile.am): Likewise.
37714 2011-06-08  Eric Blake  <eblake@redhat.com>
37716         strerror: simplify replacement
37717         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
37718         * modules/strerror (configure.ac): No prereqs needed here...
37719         * modules/strerror-override (configure.ac): ...but this needs it.
37720         (Files): Add file for needed prereq macro.
37722 2011-06-08  Bruno Haible  <bruno@clisp.org>
37724         strerror_r-posix: Tweaks.
37725         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
37726         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
37727         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
37728         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
37729         (gl_FUNC_STRERROR_R): ... to here.
37730         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
37732 2011-06-07  Eric Blake  <eblake@redhat.com>
37734         perror: document fixed bugs
37735         * doc/posix-functions/perror.texi (perror): Document recent
37736         patches.
37738 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37740         stat-time: get_stat_birthtime failure is better-defined
37741         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37742         return a timestamp whose tv_sec and tv_nsec values are both -1.
37743         Previously, the spec said only that the tv_nsec value was negative.
37744         This upward-compatible change simplifies GNU tar a bit.
37746 2011-06-07  Eric Blake  <eblake@redhat.com>
37748         strerror_r-posix: work around cygwin 1.7.9
37749         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37750         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37751         bug without replacing strerror_r.
37752         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37753         strerror_r is buggy, but without requiring strerror_r compilation.
37754         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37756         test-perror: relax test to ignore cygwin bug
37757         * tests/test-perror2.c (main): Relax test on requiring detection
37758         of stream errors, and use unbuffered stream.
37759         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37760         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37761         * doc/posix-functions/fputc.texi (fputc): Likewise.
37762         * doc/posix-functions/fputs.texi (fputs): Likewise.
37763         * doc/posix-functions/fputws.texi (fputws): Likewise.
37764         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37765         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37766         * doc/posix-functions/getopt.texi (getopt): Likewise.
37767         * doc/posix-functions/perror.texi (perror): Likewise.
37768         * doc/posix-functions/printf.texi (printf): Likewise.
37769         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37770         * doc/posix-functions/psignal.texi (psignal): Likewise.
37771         * doc/posix-functions/putc.texi (putc): Likewise.
37772         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37773         Likewise.
37774         * doc/posix-functions/putchar.texi (putchar): Likewise.
37775         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37776         Likewise.
37777         * doc/posix-functions/puts.texi (puts): Likewise.
37778         * doc/posix-functions/putwc.texi (putwc): Likewise.
37779         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37780         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37781         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37782         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37783         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37784         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37785         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37786         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37788 2011-05-22  Bruno Haible  <bruno@clisp.org>
37790         strerror: Move AC_LIBOBJ invocations to module description.
37791         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37792         gl_PREREQ_STRERROR invocations from here...
37793         * modules/strerror (configure.ac): ... to here.
37795 2011-05-21  Bruno Haible  <bruno@clisp.org>
37797         perror: Use common idiom.
37798         * modules/perror (configure.ac): Reorder statements.
37800 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37802         tests: fix usage message in 'mktempd_'
37803         * tests/init.sh (mktempd_): In the usage message, use literal
37804         'mktempd_', not '$ME' (which is even undefined), as the name of
37805         the subroutine.
37807 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37809         tests init: new function 'fatal_', for hard errors
37810         Before this patch, the only way offered by tests/init.sh to
37811         properly signal a hard error was the `framework_failure_'
37812         function.  But the error message issued by that function,
37813         as its name would suggest, refers to a set-up failure in the
37814         testsuite, while hard errors can obviously also be due to
37815         other reasons.  The best way to fix this inconsistency is to
37816         introduce a new function with a more general error message.
37817         * tests/init.sh (fatal_): New function.
37819 2011-06-06  Eric Blake  <eblake@redhat.com>
37821         canonicalize-lgpl: use common idiom
37822         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37823         over newer POSIX -Rf.
37824         Reported by Bruno Haible.
37826         canonicalize-lgpl: work around AIX realpath bug
37827         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37828         * doc/posix-functions/realpath.texi (realpath): Document it.
37829         Reported by Bruno Haible.
37831         strerror: work around FreeBSD bug
37832         * lib/strerror.c (strerror): Special case 0.
37833         Reported by Bruno Haible.
37835         strerror-override: avoid bloating errno module
37836         * modules/errno (Files, configure.ac): Move replacement strings...
37837         * modules/strerror-override: ...to new module.
37838         * modules/strerror (Depends-on): Add strerror-override.
37839         * modules/strerror_r-posix (Depends-on): Likewise.
37840         * MODULES.html.sh: Document new module.
37841         Reported by Bruno Haible.
37843 2011-06-06  Bruno Haible  <bruno@clisp.org>
37845         spawn-pipe tests: Rename program.
37846         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37847         * tests/test-spawn-pipe-child.c: Update comment.
37848         * tests/test-spawn-pipe.sh: Update.
37849         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37851         spawn-pipe tests: Link the child program only against libc.
37852         * tests/test-spawn-pipe-child.c: New file, extracted from
37853         tests/test-spawn-pipe.c.
37854         (main): Expect only one argument.
37855         (is_open): New function, copied from tests/test-pipe.c.
37856         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37857         (child_main): Remove function.
37858         (test_pipe): Pass only one argument to the child program.
37859         (main): Remove child process code. Expect the child program's name as
37860         first argument.
37861         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37862         argument.
37863         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37864         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37865         test-spawn-pipe-child against no libraries.
37867 2011-06-06  Bruno Haible  <bruno@clisp.org>
37869         careadlinkat: Avoid mismatch between ssize_t and int.
37870         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37871         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37873 2011-06-06  Jim Meyering  <meyering@redhat.com>
37875         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37876         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37877         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37879 2011-06-05  Bruno Haible  <bruno@clisp.org>
37881         ansi-c++-opt: Interoperability with libtool.
37882         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37883         set the variable to "no", not to ":".
37884         * NEWS: Mention the change.
37886 2011-06-05  Bruno Haible  <bruno@clisp.org>
37888         acl: Fix test failure on AIX 7.
37889         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37890         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37892 2011-06-05  Bruno Haible  <bruno@clisp.org>
37894         pipe-filter-ii: Fix test failure on AIX and IRIX.
37895         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37896         with EAGAIN, retry with a smaller buffer size.
37898 2011-06-05  Bruno Haible  <bruno@clisp.org>
37900         localename: Fix link dependencies.
37901         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37902         * modules/localename-tests (Makefile.am): Link test-localename with
37903         $(LIBTHREAD).
37905 2011-06-05  Bruno Haible  <bruno@clisp.org>
37907         error: Avoid gcc warning.
37908         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37910 2011-06-05  Bruno Haible  <bruno@clisp.org>
37912         unsetenv: Avoid gcc warning.
37913         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37915 2011-06-05  Bruno Haible  <bruno@clisp.org>
37917         setenv: Avoid gcc warning.
37918         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37920 2011-06-05  Bruno Haible  <bruno@clisp.org>
37922         sys_select: Ensure memset is declared also on AIX 7.
37923         * lib/sys_select.in.h: Include <string.h> also on AIX.
37924         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37925         self-contained also on AIX 7.1.
37927 2011-06-04  Jim Meyering  <meyering@redhat.com>
37929         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37930         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37931         function name, "error".
37932         (_gl_translatable_diag_func_re): New configurable variable.
37934 2011-06-04  Bruno Haible  <bruno@clisp.org>
37936         getopt: Avoid gcc warning.
37937         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37939 2011-06-04  Bruno Haible  <bruno@clisp.org>
37941         strerror_r: Fix comments.
37942         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37943         commit.
37945 2011-06-04  Bruno Haible  <bruno@clisp.org>
37947         perror: Fix compilation error.
37948         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37949         Undefine fprintf, not sprintf.
37950         * modules/perror (Depends-on): Remove intprops, verify.
37952 2011-06-04  Bruno Haible  <bruno@clisp.org>
37954         setlocale: Enable replacement on Cygwin 1.5.
37955         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37956         Cygwin 1.5.x.
37957         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37958         LC_CTYPE category also exists on Cygwin 1.5.x.
37960 2011-06-04  Bruno Haible  <bruno@clisp.org>
37962         strerror-override: Don't disable symbol renamings.
37963         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37964         * lib/strerror-override.c: Include config.h.
37965         (strerror_override): Don't undefine.
37967 2011-06-03  Bruno Haible  <bruno@clisp.org>
37969         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
37970         * lib/localename.h: Update copyright header.
37971         * lib/localename.c: Likewise.
37972         * lib/relocatable.h: Likewise.
37973         * lib/relocatable.c: Likewise.
37975 2011-06-02  Bruno Haible  <bruno@clisp.org>
37977         doc: Fix a module name.
37978         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
37980 2011-06-02  Bruno Haible  <bruno@clisp.org>
37982         pipe2: Remove dependency on 'nonblocking' module.
37983         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
37984         O_NONBLOCK is defined by gnulib.
37985         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
37986         is zero.
37987         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
37988         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
37989         defined by gnulib.
37990         (get_nonblocking_flag): New function.
37991         (main): Test O_NONBLOCK flag only if it is nonzero.
37992         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
37994 2011-06-03  Jim Meyering  <meyering@redhat.com>
37996         maint: three new prohibit-header-without-use rules
37997         Prohibit use of cloexec.h, posixver.h, same.h without use.
37998         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
37999         (sc_prohibit_posixver_without_use): Likewise.
38000         (sc_prohibit_same_without_use): Likewise.
38002 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
38004         allocator: 'die' routine is now given requested size
38005         * lib/allocator.h (struct allocator.die): New size arg.
38006         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
38007         If the actual problem is an ssize_t limitation, not a size_t or
38008         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
38010 2011-06-01  Eric Blake  <eblake@redhat.com>
38012         strerror: drop strerror_r dependency
38013         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
38014         * lib/strerror-override.c (strerror_override): ...to new file.
38015         * lib/strerror-override.h: Add prototype.
38016         * lib/strerror-impl.h: Delete.
38017         * lib/strerror.c (strerror): New implementation.
38018         * modules/errno (Files): Add new files.
38019         (configure.ac): Compile new file as appropriate.
38020         * modules/strerror (Files): Drop unused file.
38021         (Depends-on): Drop strerror_r-posix.
38022         * MODULES.html.sh: Document strerror_r-posix.
38023         Requested by Sam Steingold.
38025         perror: call strerror_r directly
38026         * modules/perror (Files): Drop strerror-impl.h.
38027         * lib/perror.c (perror): Use our own stack buffer, rather than
38028         calling a wrapper that uses static storage.
38029         * doc/posix-functions/perror.texi (perror): Document a limitation
38030         of our replacement.
38032         strerror_r: fix includes for FreeBSD
38033         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
38034         since we use abort on some platforms.
38035         Reported by Matthias Bolte.
38037 2011-05-31  Bruno Haible  <bruno@clisp.org>
38039         Fix link errors in tests: openat-die uses gettext-h.
38040         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
38041         against $(LIBINTL).
38042         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
38043         against $(LIBINTL).
38044         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
38045         $(LIBINTL).
38046         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
38047         against $(LIBINTL).
38048         * modules/linkat-tests (Makefile.am): Link test-linkat against
38049         $(LIBINTL).
38050         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
38051         $(LIBINTL).
38052         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
38053         against $(LIBINTL).
38054         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
38055         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
38056         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
38057         $(LIBINTL).
38058         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
38059         $(LIBINTL).
38060         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
38061         $(LIBINTL).
38062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38064 2011-05-31  Bruno Haible  <bruno@clisp.org>
38066         Fix link errors in tests: wait-process uses gettext-h.
38067         * modules/nonblocking-pipe-tests (Makefile.am): Set
38068         test_nonblocking_pipe_main_LDADD.
38069         * modules/nonblocking-socket-tests (Makefile.am): Link
38070         test-nonblocking-socket-main against $(LIBINTL).
38071         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38073 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38075         assert-h: work around 'verify' incompatibility
38076         * lib/verify.h: Use @...@ directives, not ifdef.
38077         * modules/assert-h (assert.h): Implement the directives.
38078         (assert.h): Substitute the symbol-prefix more consistently.
38080 2011-05-29  Jim Meyering  <meyering@redhat.com>
38082         trim: remove three superfluous assignments
38083         * lib/trim.c (trim2): Remove three superfluous assignments
38084         and correct brace positioning.
38086 2011-05-29  Bruno Haible  <bruno@clisp.org>
38088         wctype-h: Avoid namespace pollution on Solaris 2.6.
38089         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
38090         identifiers.
38091         * doc/posix-headers/wctype.texi: Mention the problem.
38092         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38094 2011-05-28  Jim Meyering  <meyering@redhat.com>
38096         parse-datetime.y: accommodate -Wstrict-overflow
38097         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
38098         placate -Wstrict-overflow.
38100         trim: avoid a warning from -O2 -Wstrict-overflow
38101         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
38103 2011-05-29  Bruno Haible  <bruno@clisp.org>
38105         gnulib-tool: Fix bug in yesterday's commit.
38106         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
38107         twice.
38109 2011-05-29  Bruno Haible  <bruno@clisp.org>
38111         Allow multiple gnulib generated include files to be combined.
38112         * gnulib-tool (func_compute_include_guard_prefix): New function.
38113         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
38114         ${gl_include_guard_prefix} references.
38115         (func_import, func_create_testdir): Invoke
38116         func_compute_include_guard_prefix.
38117         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
38118         * lib/ctype.in.h: Likewise.
38119         * lib/dirent.in.h: Likewise.
38120         * lib/errno.in.h: Likewise.
38121         * lib/fcntl.in.h: Likewise.
38122         * lib/float.in.h: Likewise.
38123         * lib/getopt.in.h: Likewise.
38124         * lib/iconv.in.h: Likewise.
38125         * lib/langinfo.in.h: Likewise.
38126         * lib/locale.in.h: Likewise.
38127         * lib/math.in.h: Likewise.
38128         * lib/netdb.in.h: Likewise.
38129         * lib/netinet_in.in.h: Likewise.
38130         * lib/poll.in.h: Likewise.
38131         * lib/pthread.in.h: Likewise.
38132         * lib/pty.in.h: Likewise.
38133         * lib/sched.in.h: Likewise.
38134         * lib/se-selinux.in.h: Likewise.
38135         * lib/search.in.h: Likewise.
38136         * lib/signal.in.h: Likewise.
38137         * lib/spawn.in.h: Likewise.
38138         * lib/stdarg.in.h: Likewise.
38139         * lib/stddef.in.h: Likewise.
38140         * lib/stdint.in.h: Likewise.
38141         * lib/stdio.in.h: Likewise.
38142         * lib/stdlib.in.h: Likewise.
38143         * lib/string.in.h: Likewise.
38144         * lib/strings.in.h: Likewise.
38145         * lib/sys_file.in.h: Likewise.
38146         * lib/sys_ioctl.in.h: Likewise.
38147         * lib/sys_select.in.h: Likewise.
38148         * lib/sys_socket.in.h: Likewise.
38149         * lib/sys_stat.in.h: Likewise.
38150         * lib/sys_time.in.h: Likewise.
38151         * lib/sys_times.in.h: Likewise.
38152         * lib/sys_uio.in.h: Likewise.
38153         * lib/sys_utsname.in.h: Likewise.
38154         * lib/sys_wait.in.h: Likewise.
38155         * lib/sysexits.in.h: Likewise.
38156         * lib/termios.in.h: Likewise.
38157         * lib/time.in.h: Likewise.
38158         * lib/unistd.in.h: Likewise.
38159         * lib/wchar.in.h: Likewise.
38160         * lib/wctype.in.h: Likewise.
38161         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
38162         * modules/ctype (Makefile.am): Likewise.
38163         * modules/dirent (Makefile.am): Likewise.
38164         * modules/errno (Makefile.am): Likewise.
38165         * modules/fcntl-h (Makefile.am): Likewise.
38166         * modules/float (Makefile.am): Likewise.
38167         * modules/getopt-posix (Makefile.am): Likewise.
38168         * modules/iconv-h (Makefile.am): Likewise.
38169         * modules/langinfo (Makefile.am): Likewise.
38170         * modules/locale (Makefile.am): Likewise.
38171         * modules/math (Makefile.am): Likewise.
38172         * modules/netdb (Makefile.am): Likewise.
38173         * modules/netinet_in (Makefile.am): Likewise.
38174         * modules/poll-h (Makefile.am): Likewise.
38175         * modules/pthread (Makefile.am): Likewise.
38176         * modules/pty (Makefile.am): Likewise.
38177         * modules/sched (Makefile.am): Likewise.
38178         * modules/search (Makefile.am): Likewise.
38179         * modules/selinux-h (Makefile.am): Likewise.
38180         * modules/signal (Makefile.am): Likewise.
38181         * modules/spawn (Makefile.am): Likewise.
38182         * modules/stdarg (Makefile.am): Likewise.
38183         * modules/stddef (Makefile.am): Likewise.
38184         * modules/stdint (Makefile.am): Likewise.
38185         * modules/stdio (Makefile.am): Likewise.
38186         * modules/stdlib (Makefile.am): Likewise.
38187         * modules/string (Makefile.am): Likewise.
38188         * modules/strings (Makefile.am): Likewise.
38189         * modules/sys_file (Makefile.am): Likewise.
38190         * modules/sys_ioctl (Makefile.am): Likewise.
38191         * modules/sys_select (Makefile.am): Likewise.
38192         * modules/sys_socket (Makefile.am): Likewise.
38193         * modules/sys_stat (Makefile.am): Likewise.
38194         * modules/sys_time (Makefile.am): Likewise.
38195         * modules/sys_times (Makefile.am): Likewise.
38196         * modules/sys_uio (Makefile.am): Likewise.
38197         * modules/sys_utsname (Makefile.am): Likewise.
38198         * modules/sys_wait (Makefile.am): Likewise.
38199         * modules/sysexits (Makefile.am): Likewise.
38200         * modules/termios (Makefile.am): Likewise.
38201         * modules/time (Makefile.am): Likewise.
38202         * modules/unistd (Makefile.am): Likewise.
38203         * modules/wchar (Makefile.am): Likewise.
38204         * modules/wctype-h (Makefile.am): Likewise.
38205         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
38207 2011-05-29  Bruno Haible  <bruno@clisp.org>
38209         assert-h: Allow multiple gnulib generated replacements to coexist.
38210         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
38212 2011-05-29  Bruno Haible  <bruno@clisp.org>
38214         argp: Allow coexistence with strerror_r-posix module.
38215         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
38216         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
38217         by gnulib's <string.h> replacement), assume it has the POSIX signature,
38218         not the glibc signature.
38220 2011-05-28  Bruno Haible  <bruno@clisp.org>
38222         gnulib-tool: Alternative structure of testdirs, similar to --import.
38223         * gnulib-tool: New option --single-configure.
38224         (func_usage): Document it.
38225         (single_configure): New variable.
38226         (func_modules_transitive_closure_separately,
38227         func_modules_transitive_closure_separately,
38228         func_determine_use_libtests, func_modules_add_dummy_separately,
38229         func_modules_to_filelist_separately): New functions, extracted from
38230         func_import.
38231         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
38232         (func_import): Use the new functions.
38233         (func_create_testdir): Set final_modules. Handle $single_configure =
38234         true case.
38236 2011-05-28  Bruno Haible  <bruno@clisp.org>
38238         getloadavg: Remove an unreliable safety check.
38239         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
38240         getloadavg.c is in place.
38241         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
38242         Reported by Sam Steingold <sds@gnu.org>.
38244 2011-05-28  Bruno Haible  <bruno@clisp.org>
38246         doc: Cleanup yet another file produced by texinfo.tex.
38247         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
38249 2011-05-28  Bruno Haible  <bruno@clisp.org>
38251         Finish the conditional dependencies mechanism.
38252         * gnulib-tool: New option --no-conditional-dependencies.
38253         (func_usage): Document it. Don't mark --conditional-dependencies as
38254         experimental.
38255         (cond_dependencies): The possible values can now be true, false, empty.
38256         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
38257         (func_import): Store setting in gnulib-cache.m4 and read it from there.
38258         * doc/gnulib-tool.texi (Conditional dependencies): New section.
38260 2011-05-28  Bruno Haible  <bruno@clisp.org>
38262         doc: Use a recent texinfo.tex.
38263         * doc/Makefile (tex_opts): New variable.
38264         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
38266 2011-05-28  Jim Meyering  <meyering@redhat.com>
38268         intprops.h: adjust comment to match code change
38269         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
38270         only once, it *may* have side effects.  Also fix an unrelated typo.
38271         (_GL_INT_SIGNED): Likewise.
38273 2011-05-26  Simon Josefsson  <simon@josefsson.org>
38275         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
38277 2011-05-26  Bruno Haible  <bruno@clisp.org>
38279         mbsrchr: Avoid collision with system function on Interix.
38280         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
38281         Reported by Markus Duft <mduft@gentoo.org>.
38283 2011-05-15  James Youngman  <jay@gnu.org>
38285         getopt: for ambiguous options, enumerate the possibilities.
38286         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
38287         the ambiguous options when an ambiguous prefix is given. This was
38288         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
38289         glibc change was
38290         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
38292 2011-05-25  Eric Blake  <eblake@redhat.com>
38294         getcwd: work around mingw bug
38295         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
38296         * doc/posix-functions/getcwd.texi (getcwd): Document it.
38297         Reported by Matthias Bolte.
38299 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
38301         test-intprops: disable -Wtype-limits diagnostics
38302         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
38303         diagnostics.  Otherwise, the integer overflow macros generate many
38304         diagnostics.  Reported by Jim Meyering in
38305         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38307         intprops: shorten, to pacify gcc -Woverlength-strings
38308         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
38309         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
38310         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
38311         likely to run afoul of C compiler limits for string constant lengths.
38312         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38314 2011-05-24  Eric Blake  <eblake@redhat.com>
38316         docs: document recently fixed glibc printf bug
38317         * doc/posix-functions/fprintf.texi (fprintf): Document it.
38318         * doc/posix-functions/printf.texi (printf): Likewise.
38319         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38320         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38322         closein-tests: convert to init.sh
38323         * modules/closein-tests (Files): Add init.sh
38324         * tests/test-closein.sh Use it.
38326         yesno-tests: convert to init.sh
38327         * modules/yesno-tests (Files): Add init.sh.
38328         * tests/test-yesno.sh: Use it.
38330         atexit-tests: ensure reliable exit status
38331         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
38332         Reported by Bruno Haible.
38334 2011-05-24  Bruno Haible  <bruno@clisp.org>
38336         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
38337         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
38338         gl_PREREQ_STRERROR_R invocations from here...
38339         * modules/strerror_r-posix (configure.ac): ... to here.
38341 2011-05-24  Eric Blake  <eblake@redhat.com>
38343         strerror_r: fix missing header
38344         * lib/strerror_r.c: Avoid compiler warning about snprintf.
38346         strerror_r: fix AIX test failures
38347         * lib/strerror_r.c (strerror_r): Convert silent truncation to
38348         ERANGE failure.
38350         strerror_r: fix Solaris test failures
38351         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
38352         failures.
38353         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38355         strerror_r: enforce POSIX recommendations
38356         * lib/strerror_r.c (safe_copy): New helper method.
38357         (strerror_r): Guarantee a non-empty string.
38358         * tests/test-strerror_r.c (main): Enhance tests to incorporate
38359         recent POSIX rulings and to match our strerror guarantees.
38360         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38362 2011-05-24  Jim Meyering  <meyering@redhat.com>
38364         test-perror2.c: avoid warning about unused variable
38365         * tests/test-perror2.c (main): Remove declaration of unused "fp".
38367 2011-05-24  Eric Blake  <eblake@redhat.com>
38369         perror: avoid spurious test failure on HP-UX
38370         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
38372         tests: fix logic bug in init.sh
38373         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
38374         shell.
38376 2011-05-24  Jim Meyering  <meyering@redhat.com>
38378         utimensat: do not reference an out-of-scope buffer
38379         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
38380         declared in an inner scope, yet "times" would be dereferenced outside
38381         the scope in which "ts" was valid.
38382         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
38383         of ts[2] "out/up", so that the use of aliased "times" (via
38384         "times = ts;") does not end up referencing an out-of-scope "ts"
38386         opendir-safer.c: don't clobber errno; don't close negative FD
38387         * lib/opendir-safer.c (opendir_safer):
38388         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
38389         file descriptor, and more importantly, don't clobber the
38390         offending errno value with EINVAL.  Before, upon failure
38391         of dup_safer, we would pass the negative file descriptor to
38392         fdopendir, which would clobber errno.
38394 2011-05-23  Bruno Haible  <bruno@clisp.org>
38396         idcache: Fix module description.
38397         * modules/idcache (Include): Set to "idcache.h".
38399 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38401         gnulib-tool: fix portability problem with MacOS sed
38402         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
38403         before the "}".  Problem reported by Leo in
38404         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
38405         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
38406         sed_extract_condition1, sed_extract_condition2.
38408 2011-05-23  Bruno Haible  <bruno@clisp.org>
38410         hash: Simplify autoconf macro.
38411         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
38413 2011-05-23  Bruno Haible  <bruno@clisp.org>
38415         getugroups: Fix module description.
38416         * modules/getugroups (Include): Set to "getugroups.h".
38418 2011-05-23  Bruno Haible  <bruno@clisp.org>
38420         linkat: Simplify autoconf macro.
38421         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
38423 2011-05-23  Bruno Haible  <bruno@clisp.org>
38424             Eric Blake  <eblake@redhat.com>
38426         linkat, renameat: Update dependencies.
38427         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
38428         * modules/linkat (Depends-on): Likewise. Remove also readlink,
38429         symlinkat.
38431 2011-05-23  Jim Meyering  <meyering@redhat.com>
38433         maint.mk: more tight_scope improvements
38434         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
38435         (_gl_TS_headers): Define only in if-0'd block.
38436         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
38437         sometimes we must *not* use it.  Adjust uses accordingly.
38438         (sc_tight_scope): Use much simpler grep-based test to determine
38439         whether we skip this rule.
38441         maint.mk: generalize/improve the tight-scope rule
38442         * top/maint.mk: Emit a warning when the test is skipped.
38443         (_gl_TS_dir): Add $(srcdir)/ prefix.
38444         (_gl_TS_function_match): Simplify, rather than trying
38445         to enumerate common types.  Otherwise, it would fail to match an
38446         "extern unsigned char const *" declaration in idutils.
38447         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
38448         a way to support use of that type of macro.
38449         (_gl_TS_var_match): Simplify regexp.
38450         (_gl_TS_obj_files): New configurable variable.
38451         (_gl_TS_headers): Likewise.
38453 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38455         verify: fix bug when gnulib <assert.h> is also included
38456         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
38457         is defined, not if _GL_STATIC_ASSERT_H is not defined.
38458         Perhaps there's a better way, but this fixes the immediate problem.
38459         Problem reported by Bruno Haible in
38460         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
38462 2011-05-22  Bruno Haible  <bruno@clisp.org>
38464         xgetcwd: Simplify autoconf macro.
38465         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
38467 2011-05-22  Bruno Haible  <bruno@clisp.org>
38469         New module 'mktime-internal'.
38470         * modules/mktime-internal: New file.
38471         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
38472         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
38473         mktime_internal as a C macro if libc has __mktime_internal.
38474         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
38475         conditions.
38476         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
38478 2011-05-22  Bruno Haible  <bruno@clisp.org>
38480         timegm: Correct mktime replacement statements.
38481         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
38482         defining mktime as a C macro. This completes a 2009-07-28 commit.
38484 2011-05-22  Bruno Haible  <bruno@clisp.org>
38486         timegm: Simplify autoconf macro.
38487         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
38489 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
38491         clock-time: change to LGPLv2+.
38492         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
38493         BSD-like but we have no mark for that; this is good enough for now.
38495 2011-05-21  Bruno Haible  <bruno@clisp.org>
38497         strerror_r: Fix comments.
38498         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
38500 2011-05-21  Bruno Haible  <bruno@clisp.org>
38502         relocatable-prog-wrapper: Fix possible link error.
38503         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
38504         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
38505         (gl_FUNC_SETENV): ... to here.
38506         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
38507         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
38509 2011-05-21  Bruno Haible  <bruno@clisp.org>
38511         relocatable-prog-wrapper: Assume strerror() exists.
38512         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
38513         m4/strerror.m4.
38514         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
38515         * lib/relocwrapper.c: Remove mention of strerror module.
38516         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
38517         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
38518         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
38519         C macro.
38521 2011-05-21  Bruno Haible  <bruno@clisp.org>
38523         select: Simplify replacement idiom.
38524         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
38525         Win32 platforms.
38526         * lib/sys_select.in.h (select): Simplify accordingly.
38527         * modules/select (Depends-on): Likewise.
38529 2011-05-21  Bruno Haible  <bruno@clisp.org>
38531         mkdir-p: Simplify autoconf macro.
38532         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
38533         gl_FUNC_LCHOWN.
38535 2011-05-21  Eric Blake  <eblake@redhat.com>
38537         strerror_r: avoid clobbering strerror on cygwin
38538         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
38539         fall back instead to sys_errlist.
38540         * modules/strerror (configure.ac): Add witness.
38541         * tests/test-strerror_r.c (main): Enhance test.
38542         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38543         * tests/test-perror2.c (main): Free memory before exit.
38545 2011-05-21  Bruno Haible  <bruno@clisp.org>
38547         mkdtemp: Use gnulib naming conventions.
38548         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
38549         * modules/mkdtemp (configure.ac): Update.
38551 2011-05-20  Eric Blake  <eblake@redhat.com>
38553         strerror_r: avoid corrupting errno on Solaris
38554         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
38555         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38557         strerror_r: avoid compiler warning
38558         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
38560         strerror_r: simplify AIX code
38561         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
38563         test-perror: avoid spurious failure on FreeBSD
38564         * modules/perror-tests (Depends-on): Add strerror, now that
38565         strerror_r no longer pulls it in.
38567 2011-05-20  Bruno Haible  <bruno@clisp.org>
38569         strerror_r-posix: Remove unused dependencies.
38570         * modules/strerror_r-posix (Depends-on): Remove strerror.
38571         Reported by Eric Blake.
38573 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38575         intprops: remove assumption about A|B representation
38576         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
38577         is a valid integer if both A and B are.  Although this is true for
38578         all known practical hosts, the C standard doesn't guarantee it,
38579         and the code need not assume it.  Also, this change may work around
38580         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
38581         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
38583 2011-05-20  Eric Blake  <eblake@redhat.com>
38585         perror: work around FreeBSD bug
38586         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
38587         is broken.  Move AC_LIBOBJ...
38588         * modules/perror (configure.ac): Here.
38589         * doc/posix-functions/perror.texi (perror): Document this.
38590         * tests/test-perror2.c (main): Enhance test.
38592         test-perror: check for strerror interactions
38593         * tests/macros.h (STREQ): Add macro.
38594         * modules/perror-tests (Files): Add second test.
38595         * tests/test-perror2.c (main): New file.
38596         * doc/posix-functions/perror.texi (perror): Document glibc bug.
38598         test-perror: rewrite to use init script
38599         * modules/perror-tests (Files): Add init.sh.
38600         * tests/test-perror.sh: Use temporary directory.
38602 2011-05-20  Jim Meyering  <meyering@redhat.com>
38604         maint: replace misused "a" with "an"
38605         * doc/intprops.texi: "a integer"
38606         * doc/regex.texi: "a explanation"
38607         * lib/alignof.h: "a object"
38608         * lib/argmatch.h: "a explanation"
38609         * lib/argp-help.c: "a option" and "a OPTION_DOC"
38610         * lib/stdint.in.h: "a integer"
38611         * lib/userspec.c: "a owner"
38612         * doc/gnulib.texi: Fix "a idea", and reword.
38614 2011-05-19  Jim Meyering  <meyering@redhat.com>
38616         maint: correct misuse of "a" and "an"
38617         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
38618         * lib/argp-help.c: "an docum...": s/an/a/
38619         * lib/argp-parse.c: "An vector": s/An/A/
38620         * lib/execute.c: "an native": s/an/a/
38621         * lib/spawn-pipe.c: Likewise.
38622         * lib/gc.h: "an Gc_rc": s/an/a/
38623         * lib/unigbrk.in.h: "an grapheme": s/an/a/
38624         * lib/fts.c: "an stat.st_dev": s/an/a/
38626 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38628         intprops-tests: work around HP-UX 11.23 cc bug with constants
38629         * tests/test-intprops.c (VERIFY): New macro.
38630         (main): Use it, instead of verify, to work around the compiler bug; see
38631         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38633         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
38634         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
38635         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
38636         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
38637         (_GL_REMAINDER_OVERFLOW): Use it.
38639         intprops-tests: revert unsigned part of previous change
38640         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
38641         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
38642         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
38643         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
38645 2011-05-19  Bruno Haible  <bruno@clisp.org>
38647         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
38648         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
38649         strerror_r() returned without filling the buffer.
38650         Reported by Eric Blake.
38652 2011-05-19  Eric Blake  <eblake@redhat.com>
38654         strerror_r: guarantee unchanged errno
38655         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
38656         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
38657         failure.
38658         * tests/test-strerror_r.c (main): Enhance test.
38660 2011-05-19  Bruno Haible  <bruno@clisp.org>
38662         strerror_r: Reorder #if blocks.
38663         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
38664         for consistency with the previous commit.
38666 2011-05-19  Bruno Haible  <bruno@clisp.org>
38668         perror: Avoid clobbering the strerror buffer when possible.
38669         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
38670         * lib/strerror.c: Include it.
38671         * modules/strerror (Files): Add lib/strerror-impl.h.
38672         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
38673         (my_strerror): New function, defined through lib/strerror-impl.h.
38674         (perror): Use it instead of strerror.
38675         * modules/perror (Files): Add lib/strerror-impl.h.
38676         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
38678 2011-05-19  Eric Blake  <eblake@redhat.com>
38680         strerror_r: fix on newer cygwin
38681         * lib/strerror_r.c (strerror_r): Cygwin now has
38682         __xpg_strerror_r, use it.
38684 2011-05-19  Bruno Haible  <bruno@clisp.org>
38686         strerror_r: Avoid clobbering the strerror buffer when possible.
38687         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
38688         (sys_nerr, sys_errlist): New declarations.
38689         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
38690         HP-UX, native Win32, IRIX, and 32-bit Solaris.
38691         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
38693 2011-05-19  Bruno Haible  <bruno@clisp.org>
38695         strerror_r: Fix test failure on mingw.
38696         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
38697         EXTEND_STRERROR_R.
38698         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
38699         macros from errno.in.h instead.
38701 2011-05-19  Eric Blake  <eblake@redhat.com>
38703         strerror: relax test for Solaris
38704         * tests/test-strerror.c (main): Permit Solaris behavior.
38705         * tests/test-strerror_r.c (main): Likewise.
38707         strerror: enforce POSIX ruling on strerror(0)
38708         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
38709         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
38710         * lib/strerror_r.c (rpl_strerror_r): Work around it.
38711         * doc/posix-functions/strerror.texi (strerror): Document it.
38712         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
38713         * tests/test-strerror.c (main): Strengthen test.
38714         * tests/test-strerror_r.c (main): Likewise.
38716 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38718         intprop-tests: port to older and more-pedantic compilers
38719         * modules/intprops-tests (Files): Add tests/macros.h.
38720         * tests/test-intprops.c: Include macros.h.
38721         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
38722         it's no longer documented to expand to an integer constant expression.
38723         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
38724         argument is floating point, as it's no longer documented to expand
38725         to an integer constant expression in that case.
38726         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
38727         compiler bugs reported by Bruno Haible.  See
38728         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38729         (U0, U1): New constants, to work around the same bugs.  Also,
38730         in tests, use e.g., "(unsigned int) 39" rather than "39u".
38732         intprops: work around C compiler bugs
38733         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
38734         bug in Sun C 5.11 2010/08/13 and other compilers; see
38735         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38737         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
38738         * doc/intprops.texi (Integer Type Determination): Fix
38739         documentation for TYPE_IS_INTEGER: it returns an constant
38740         expression, not an integer constant expression.  Fix doc for
38741         TYPE_SIGNED: it returns an integer constant expression only if its
38742         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38743         hardly worth documented that way....)
38745 2011-05-18  Bruno Haible  <bruno@clisp.org>
38747         strerror_r: Avoid clobbering the strerror buffer when possible.
38748         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38749         Handle gnulib defined errno values here. When strerror() returns NULL
38750         or an empty string, return EINVAL.
38751         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38752         gnulib defined errno values here.
38753         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38755 2011-05-18  Eric Blake  <eblake@redhat.com>
38757         fnmatch: avoid compiler warning
38758         * lib/fnmatch_loop.c (FCT): Use correct type.
38759         Reported by Matthias Bolte.
38761 2011-05-13  Jim Meyering  <meyering@redhat.com>
38763         maint.mk: three new prohibit_<HDR>_without_use rules
38764         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38765         (sc_prohibit_stdio-safer_without_use): Likewise.
38766         (sc_prohibit_xfreopen_without_use): Likewise.
38768 2011-05-17  Jim Meyering  <meyering@redhat.com>
38770         announce-gen: fail if the NEWS delta is empty
38771         If there's nothing noteworthy in NEWS, then either you forgot
38772         or you shouldn't be releasing.
38773         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38775 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38777         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38778         reserved symbols starting with double underscore from the check.
38780 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38782         intprops: add doc
38783         * doc/intprops.texi: New file, documenting intprops.
38784         * doc/gnulib.texi (Particular Modules): Include it.
38786         verify: add doc to gnulib manual and fix example
38787         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38788         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38789         (Compile-time Assertions): Fix example so it can't overflow.
38791 2011-05-17  Jim Meyering  <meyering@redhat.com>
38793         warnings.m4: don't usurp save_CPPFLAGS variable name
38794         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38796         doc: fix typo
38797         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38799 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38800             Bruno Haible  <bruno@clisp.org>
38802         doc: Tweak recent change.
38803         * README (Portability guidelines): Tweak new text.
38804         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38805         Interix 6.1.
38807 2011-05-16  Eric Blake  <eblake@redhat.com>
38809         inttypes: avoid autoconf warning
38810         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38811         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38813 2011-05-16  Sam Steingold  <sds@gnu.org>
38814         and Eric Blake  <eblake@redhat.com>
38816         vc-list-files: accept multiple directory operands
38817         * build-aux/vc-list-files: Iterate over all remaining operands.
38819 2011-05-16  Bruno Haible  <bruno@clisp.org>
38821         Fix confusion regarding deprecated modules.
38822         * modules/calloc (Status, Notice): Mark module as deprecated, not
38823         obsolete.
38824         * modules/fnmatch-posix (Status, Notice): Likewise.
38825         * modules/getdate (Status, Notice): Likewise.
38826         * modules/getopt (Status, Notice): Likewise.
38827         * modules/malloc (Status, Notice): Likewise.
38828         * modules/pipe (Status, Notice): Likewise.
38829         * modules/realloc (Status, Notice): Likewise.
38830         * modules/rename-dest-slash (Status, Notice): Likewise.
38831         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38832         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38833         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38834         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38835         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38837 2011-05-16  Bruno Haible  <bruno@clisp.org>
38839         doc: List the target platforms.
38840         * doc/gnulib-intro.texi (Target Platforms): New section.
38841         * doc/gnulib.texi (Introduction): Update menu.
38842         * README (Portability guidelines): Refer to the new section. Update
38843         statement about oldest supported environment. Remove rationale why
38844         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38845         unportable C89 function.
38846         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38847         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38849 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38851         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38853 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38855         intprops-tests: new module
38856         * modules/intprops-tests, tests/test-intprops.c: New files.
38858         intprops: add safe, portable integer overflow checking
38859         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38860         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38861         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38862         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38863         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38864         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38865         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38866         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38867         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38868         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38869         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38871 2011-05-12  James Youngman  <jay@gnu.org>
38873         Add a test for glibc's Bugzilla bug #12378.
38874         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38875         doesn't allow the literal matching of a lone "[" (which is
38876         required by POSIX).
38877         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38879 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38881         Sync glibc change fixing Bugzilla bug #12378.
38882         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38883         beginning and fall back to matching as normal character if the
38884         string ends before the matching ']' is found.  This is what POSIX
38885         requires.
38887 2011-05-13  Eric Blake  <eblake@redhat.com>
38889         getcwd-lgpl: relax test for FreeBSD
38890         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38891         issue.
38892         * tests/test-getcwd-lgpl.c (main): Relax test.
38893         Reported by Matthias Bolte.
38895 2011-05-11  Eric Blake  <eblake@redhat.com>
38897         test-fflush: silence compiler warning
38898         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38900 2011-05-11  Bruno Haible  <bruno@clisp.org>
38902         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38903         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38904         * modules/canonicalize (Depends-on): Add 'nocrash'.
38905         * modules/canonicalize-lgpl (Depends-on): Likewise.
38906         * doc/posix-functions/realpath.texi: Update platforms list.
38907         Reported by Ryan Schmidt <ryandesign@macports.org>.
38909 2011-05-11  Bruno Haible  <bruno@clisp.org>
38911         group-member: Declare function in <unistd.h>.
38912         * lib/unistd.in.h (group_member): New declaration.
38913         * lib/group-member.h: Remove file.
38914         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38915         * tests/test-unistd-c++.cc: Check signature of group_member.
38916         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38917         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38918         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38919         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38920         HAVE_GROUP_MEMBER.
38921         * modules/group-member (Files): Remove lib/group-member.h.
38922         (Depends-on): Add unistd. Specify conditions.
38923         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38924         (Include): Change to <unistd.h>.
38925         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38926         HAVE_GROUP_MEMBER.
38927         * NEWS: Mention the change.
38928         * lib/euidaccess.c: Don't include group-member.h.
38930 2011-05-11  Bruno Haible  <bruno@clisp.org>
38932         group-member: Document module.
38933         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38934         module.
38936 2011-05-11  Bruno Haible  <bruno@clisp.org>
38938         fclose: Fix mistake earlier today.
38939         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38941 2011-05-11  Eric Blake  <eblake@redhat.com>
38943         fclose: preserve fflush errors
38944         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38945         Reported by Jim Meyering.
38947         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38948         * build-aux/bootstrap (check_versions): When no specific version
38949         is required, merely check that the app produces an exit status
38950         that indicates its existence.
38952         maint.mk: drop redundant check
38953         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38954         the same but better.
38956 2011-05-11  Bruno Haible  <bruno@clisp.org>
38958         fclose: Fix possible link error.
38959         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38960         unregister_shadow_fd. Improve comments.
38961         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38962         Eric Blake.
38964 2011-05-11  Jim Meyering  <meyering@redhat.com>
38966         maint.mk: improve "can not" detection and generalize rule name
38967         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
38968         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
38969         Use the same technique as in sc_prohibit_doubled_word, so that
38970         we recognize "can not" also when the words are separated by a newline.
38971         Suggested by Eric Blake.
38972         (perl_filename_lineno_text_): Define.  Factored out of...
38973         (prohibit_doubled_word_): ...here.  Use the new definition.
38974         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
38975         (prohibit_undesirable_word_seq_RE_): New overridable variable.
38976         (ignore_undesirable_word_sequence_RE_): New overridable variable.
38978 2011-05-10  Eric Blake  <eblake@redhat.com>
38980         fclose: avoid double close race when possible
38981         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
38982         all but WINDOWS_SOCKETS.
38984 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
38986         openat: correct new comment
38987         * lib/openat-proc.c (openat_proc_name): Correct the comment.
38989 2011-05-10  Jim Meyering  <meyering@redhat.com>
38991         openat: add comments
38992         * lib/openat-proc.c (openat_proc_name): Add comments,
38993         mostly from Eric Blake.
38995 2011-05-09  Eric Blake  <eblake@redhat.com>
38997         openat: reduce syscalls in first probe of /proc
38998         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
38999         be a directory.  Simplify the probe for .. bugs.
39000         * modules/openat (Depends-on): Drop same-inode.
39001         Reported by Bastien ROUCARIES.
39003 2011-05-09  Jim Meyering  <meyering@redhat.com>
39005         maint.mk: change semantics/name of tight_scope variables
39006         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
39007         Rename variables to align with semantics that make them more useful.
39009         maint.mk: tweak new rule's name not to impinge
39010         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
39011         (sc_tight_scope): Use new rule name rather than $@-0.
39013         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
39014         * top/maint.mk (sc_tight_scope): New rule.
39015         (sc_tight_scope-0): New rule, ifdef'd out.
39016         (_gl_TS_dir): Default.
39017         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
39018         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
39020 2011-05-09  Simon Josefsson  <simon@josefsson.org>
39022         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
39023         Haible <bruno@clisp.org>.
39025 2011-05-08  Bruno Haible  <bruno@clisp.org>
39027         Comments.
39028         * m4/isnanf.m4: Add comment.
39029         * m4/isnanl.m4: Likewise.
39031 2011-05-08  Bruno Haible  <bruno@clisp.org>
39033         glob: Remove obsolete macro.
39034         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
39036 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39038         intprops: Sun C 5.11 supports __typeof__
39039         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
39040         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
39041         which is new.
39042         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
39044         intprops: switch to usual gnulib indenting and naming
39045         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
39046         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
39048         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
39050 2011-05-08  Jim Meyering  <meyering@redhat.com>
39052         maint.mk: suppress "Entering/Leaving directory" diag in announcement
39053         * top/maint.mk (release-prep): Use make's --no-print-directory
39054         option when generating the announcement.  This eliminates the
39055         pesky "make[2]: Entering/Leaving directory" diagnostics in the
39056         generated announcement template.
39058 2011-05-08  Bruno Haible  <bruno@clisp.org>
39060         tzset: Fix gettimeofday wrapper on Solaris 2.6.
39061         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
39062         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
39064 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39066         ignore-value, verify: Omit include files from lib_SOURCES.
39067         * modules/ignore-value, modules/verify (Makefile.am):
39068         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
39069         that leads Automake to duplicate use of am__objects_... variables
39070         in Makefile.in.  See
39071         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
39073 2011-05-07  Bruno Haible  <bruno@clisp.org>
39075         fclose: Simplify autoconf macro.
39076         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
39077         defined.
39079 2011-05-07  Bruno Haible  <bruno@clisp.org>
39081         canonicalize-lgpl: Fix autoconf macro ordering bug.
39082         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
39083         gl_STDLIB_H_DEFAULTS.
39085 2011-05-06  Eric Blake  <eblake@redhat.com>
39087         maintainer-makefile: make sc_po_check easier to tune
39088         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
39089         to probe for strings, such as an alternate location for gnulib.
39091         fclose: guarantee behavior on seekable stdin
39092         * modules/fclose (Depends-on): Add fflush.
39093         * doc/posix-functions/fclose.texi (fclose): Document this.
39094         * tests/test-fclose.c (main): Make test for this unconditional.
39096 2011-05-06  Bruno Haible  <bruno@clisp.org>
39098         fflush, fpurge: Relicense under LGPLv2+.
39099         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
39100         * modules/fpurge (License): Likewise.
39101         With permission from Eric Blake and Jim Meyering.
39102         Suggested by Eric Blake.
39104 2011-05-06  Karl Berry  <karl@gnu.org>
39106         * MODULES.html.sh (func_all_modules): remove exit.
39108 2011-05-06  Jim Meyering  <meyering@redhat.com>
39110         maint.mk: use info-gnu@ as the default only for a stable release
39111         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
39112         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
39113         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
39114         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
39116 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39118         assert-h: new module, which supports C1X-style static_assert
39119         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
39120         * lib/verify.h: Revamp so that this can be copied into assert.h,
39121         while retaining the ability to use it standalone as before.
39122         Rename private identifiers so as not to encroach on the
39123         standard C namespace, since this is now used by assert.h.
39124         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
39125         the old verify_true.
39126         (_GL_VERIFY_TRUE): New macro, with much of the contents of
39127         the old verify_true.  Use _GL_VERIFY_TYPE.
39128         (_GL_VERIFY): New macro, with much of the contents of the old verify.
39129         (static_assert): New macro, if _GL_STATIC_ASSERT_H
39130         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
39131         defined when this file is copied into the replacement assert.h.
39132         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
39133         and _Static_assert is not built in.
39134         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
39135         defined, and use the new macros mentioned above.
39136         * doc/posix-headers/assert.texi: Document this.
39138 2011-05-05  Bruno Haible  <bruno@clisp.org>
39140         fclose, fflush: Respect rules for use of AC_LIBOBJ.
39141         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
39142         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
39143         gl_REPLACE_FCLOSE here.
39144         * modules/fflush (Depends-on): Remove fclose.
39145         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
39146         combination with module 'fclose'.
39148 2011-05-05  Bruno Haible  <bruno@clisp.org>
39150         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
39151         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
39152         gl_FUNC_FFLUSH.
39153         (gl_FUNC_FFLUSH): Use it.
39154         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
39155         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
39156         gl_REPLACE_FSEEKO here.
39158 2011-05-05  Bruno Haible  <bruno@clisp.org>
39160         tzset: Relicense under LGPL.
39161         * modules/tzset (License): Change to LGPL.
39162         No agreement needed; it's a no-op.
39164         strtoimax, strtoumax: Relicense under LGPL.
39165         * modules/strtoimax (License): Change to LGPL.
39166         * modules/strtoumax (License): Likewise.
39167         With permission from Jim Meyering, Paul Eggert:
39168         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
39169         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
39171         getgroups: Relicense under LGPL.
39172         * modules/getgroups (License): Change to LGPL.
39173         With permission from Jim Meyering, Paul Eggert, Eric Blake:
39174         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39175         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39176         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39178         nanosleep: Relicense under LGPL.
39179         * modules/nanosleep (License): Change to LGPL.
39180         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
39181         Haible:
39182         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39183         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39184         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39185         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39187         futimens: Relicense under LGPL.
39188         * modules/futimens (License): Change to LGPL.
39189         With permission from Eric Blake:
39190         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39192         fflush: Relicense under LGPL.
39193         * modules/fflush (License): Change to LGPL.
39194         With permission from Eric Blake, Bruno Haible, Jim Meyering:
39195         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39196         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39197         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
39199         tmpfile: Relicense under LGPL.
39200         * modules/tmpfile (License): Change to LGPL.
39201         With permission from Ben Pfaff:
39202         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39204         isfinite: Relicense under LGPL.
39205         * modules/isfinite (License): Change to LGPL.
39206         With permission from Ben Pfaff, Bruno Haible:
39207         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39208         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
39210         acosl..tanl: Relicense under LGPL.
39211         * modules/acosl (License): Change to LGPL.
39212         * modules/asinl (License): Likewise.
39213         * modules/atanl (License): Likewise.
39214         * modules/cosl (License): Likewise.
39215         * modules/expl (License): Likewise.
39216         * modules/logl (License): Likewise.
39217         * modules/sinl (License): Likewise.
39218         * modules/sqrtl (License): Likewise.
39219         * modules/tanl (License): Likewise.
39220         Source code originally from glibc and Paolo Bonzini. Agreements:
39221         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
39222         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
39224 2011-05-05  Bruno Haible  <bruno@clisp.org>
39226         signal: Define sighandler_t.
39227         * lib/signal.in.h (sighandler_t): New type.
39228         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
39229         whether sighandler_t is defined.
39230         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
39231         * modules/signal (Depends-on): Add extensions.
39232         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
39233         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
39234         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
39236 2011-05-05  Eric Blake  <eblake@redhat.com>
39238         maint: remove useless REPLACE_*_H macros
39239         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
39240         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39241         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39242         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
39243         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39244         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39245         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
39246         * m4/btowc.m4: Update callers.
39247         * m4/dirfd.m4: Likewise.
39248         * m4/duplocale.m4: Likewise.
39249         * m4/fchdir.m4: Likewise.
39250         * m4/fdopendir.m4: Likewise.
39251         * m4/inet_ntop.m4: Likewise.
39252         * m4/inet_pton.m4: Likewise.
39253         * m4/ioctl.m4: Likewise.
39254         * m4/mbrlen.m4: Likewise.
39255         * m4/mbrtowc.m4: Likewise.
39256         * m4/mbsinit.m4: Likewise.
39257         * m4/mbsnrtowcs.m4: Likewise.
39258         * m4/mbsrtowcs.m4: Likewise.
39259         * m4/poll.m4: Likewise.
39260         * m4/setlocale.m4: Likewise.
39261         * m4/wcrtomb.m4: Likewise.
39262         * m4/wcsnrtombs.m4: Likewise.
39263         * m4/wcsrtombs.m4: Likewise.
39264         * m4/wctob.m4: Likewise.
39265         * m4/wcwidth.m4: Likewise.
39266         * modules/posix_spawn: Likewise.
39267         * modules/posix_spawn_file_actions_addclose: Likewise.
39268         * modules/posix_spawn_file_actions_adddup2: Likewise.
39269         * modules/posix_spawn_file_actions_addopen: Likewise.
39270         * modules/posix_spawn_file_actions_destroy: Likewise.
39271         * modules/posix_spawn_file_actions_init: Likewise.
39272         * modules/posix_spawnattr_destroy: Likewise.
39273         * modules/posix_spawnattr_getflags: Likewise.
39274         * modules/posix_spawnattr_getpgroup: Likewise.
39275         * modules/posix_spawnattr_getschedparam: Likewise.
39276         * modules/posix_spawnattr_getschedpolicy: Likewise.
39277         * modules/posix_spawnattr_getsigdefault: Likewise.
39278         * modules/posix_spawnattr_getsigmask: Likewise.
39279         * modules/posix_spawnattr_init: Likewise.
39280         * modules/posix_spawnattr_setflags: Likewise.
39281         * modules/posix_spawnattr_setpgroup: Likewise.
39282         * modules/posix_spawnattr_setschedparam: Likewise.
39283         * modules/posix_spawnattr_setschedpolicy: Likewise.
39284         * modules/posix_spawnattr_setsigdefault: Likewise.
39285         * modules/posix_spawnattr_setsigmask: Likewise.
39286         * modules/posix_spawnp: Likewise.
39288 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
39290         Add option to do-release-commit-and-tag to specify branch.
39291         * build-aux/do-release-commit-and-tag: Add --branch.
39293 2011-05-03  Bruno Haible  <bruno@clisp.org>
39295         Avoid unnecessary compilation units, through conditional dependencies.
39296         * modules/accept (Depends-on): Add conditions to the dependencies.
39297         * modules/acosl (Depends-on): Likewise.
39298         * modules/argz (Depends-on): Likewise.
39299         * modules/asinl (Depends-on): Likewise.
39300         * modules/atanl (Depends-on): Likewise.
39301         * modules/atoll (Depends-on): Likewise.
39302         * modules/bind (Depends-on): Likewise.
39303         * modules/btowc (Depends-on): Likewise.
39304         * modules/canonicalize-lgpl (Depends-on): Likewise.
39305         * modules/ceil (Depends-on): Likewise.
39306         * modules/ceilf (Depends-on): Likewise.
39307         * modules/ceill (Depends-on): Likewise.
39308         * modules/chdir-long (Depends-on): Likewise.
39309         * modules/chown (Depends-on): Likewise.
39310         * modules/close (Depends-on): Likewise.
39311         * modules/connect (Depends-on): Likewise.
39312         * modules/cosl (Depends-on): Likewise.
39313         * modules/dirfd (Depends-on): Likewise.
39314         * modules/dprintf (Depends-on): Likewise.
39315         * modules/dprintf-posix (Depends-on): Likewise.
39316         * modules/error (Depends-on): Likewise.
39317         * modules/euidaccess (Depends-on): Likewise.
39318         * modules/expl (Depends-on): Likewise.
39319         * modules/faccessat (Depends-on): Likewise.
39320         * modules/fchdir (Depends-on): Likewise.
39321         * modules/fclose (Depends-on): Likewise.
39322         * modules/fcntl (Depends-on): Likewise.
39323         * modules/fdopendir (Depends-on): Likewise.
39324         * modules/fflush (Depends-on): Likewise.
39325         * modules/floor (Depends-on): Likewise.
39326         * modules/floorf (Depends-on): Likewise.
39327         * modules/floorl (Depends-on): Likewise.
39328         * modules/fnmatch (Depends-on): Likewise.
39329         * modules/fopen (Depends-on): Likewise.
39330         * modules/fprintf-posix (Depends-on): Likewise.
39331         * modules/frexp (Depends-on): Likewise.
39332         * modules/frexp-nolibm (Depends-on): Likewise.
39333         * modules/frexpl (Depends-on): Likewise.
39334         * modules/frexpl-nolibm (Depends-on): Likewise.
39335         * modules/fseek (Depends-on): Likewise.
39336         * modules/fsusage (Depends-on): Likewise.
39337         * modules/ftell (Depends-on): Likewise.
39338         * modules/ftello (Depends-on): Likewise.
39339         * modules/futimens (Depends-on): Likewise.
39340         * modules/getcwd (Depends-on): Likewise.
39341         * modules/getcwd-lgpl (Depends-on): Likewise.
39342         * modules/getdelim (Depends-on): Likewise.
39343         * modules/getdomainname (Depends-on): Likewise.
39344         * modules/getgroups (Depends-on): Likewise.
39345         * modules/gethostname (Depends-on): Likewise.
39346         * modules/getline (Depends-on): Likewise.
39347         * modules/getlogin_r (Depends-on): Likewise.
39348         * modules/getopt-posix (Depends-on): Likewise.
39349         * modules/getpeername (Depends-on): Likewise.
39350         * modules/getsockname (Depends-on): Likewise.
39351         * modules/getsockopt (Depends-on): Likewise.
39352         * modules/getsubopt (Depends-on): Likewise.
39353         * modules/getusershell (Depends-on): Likewise.
39354         * modules/glob (Depends-on): Likewise.
39355         * modules/grantpt (Depends-on): Likewise.
39356         * modules/iconv_open (Depends-on): Likewise.
39357         * modules/iconv_open-utf (Depends-on): Likewise.
39358         * modules/inet_ntop (Depends-on): Likewise.
39359         * modules/inet_pton (Depends-on): Likewise.
39360         * modules/ioctl (Depends-on): Likewise.
39361         * modules/isapipe (Depends-on): Likewise.
39362         * modules/isfinite (Depends-on): Likewise.
39363         * modules/isinf (Depends-on): Likewise.
39364         * modules/lchown (Depends-on): Likewise.
39365         * modules/ldexpl (Depends-on): Likewise.
39366         * modules/link (Depends-on): Likewise.
39367         * modules/linkat (Depends-on): Likewise.
39368         * modules/listen (Depends-on): Likewise.
39369         * modules/logl (Depends-on): Likewise.
39370         * modules/lstat (Depends-on): Likewise.
39371         * modules/mbrlen (Depends-on): Likewise.
39372         * modules/mbrtowc (Depends-on): Likewise.
39373         * modules/mbsinit (Depends-on): Likewise.
39374         * modules/mbsnrtowcs (Depends-on): Likewise.
39375         * modules/mbsrtowcs (Depends-on): Likewise.
39376         * modules/mbtowc (Depends-on): Likewise.
39377         * modules/memcmp (Depends-on): Likewise.
39378         * modules/mkdir (Depends-on): Likewise.
39379         * modules/mkdtemp (Depends-on): Likewise.
39380         * modules/mkfifo (Depends-on): Likewise.
39381         * modules/mkfifoat (Depends-on): Likewise.
39382         * modules/mknod (Depends-on): Likewise.
39383         * modules/mkostemp (Depends-on): Likewise.
39384         * modules/mkostemps (Depends-on): Likewise.
39385         * modules/mkstemp (Depends-on): Likewise.
39386         * modules/mkstemps (Depends-on): Likewise.
39387         * modules/mktime (Depends-on): Likewise.
39388         * modules/nanosleep (Depends-on): Likewise.
39389         * modules/open (Depends-on): Likewise.
39390         * modules/openat (Depends-on): Likewise.
39391         * modules/perror (Depends-on): Likewise.
39392         * modules/poll (Depends-on): Likewise.
39393         * modules/popen (Depends-on): Likewise.
39394         * modules/posix_spawn (Depends-on): Likewise.
39395         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
39396         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39397         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39398         * modules/posix_spawnp (Depends-on): Likewise.
39399         * modules/pread (Depends-on): Likewise.
39400         * modules/printf-posix (Depends-on): Likewise.
39401         * modules/ptsname (Depends-on): Likewise.
39402         * modules/putenv (Depends-on): Likewise.
39403         * modules/pwrite (Depends-on): Likewise.
39404         * modules/readline (Depends-on): Likewise.
39405         * modules/readlink (Depends-on): Likewise.
39406         * modules/readlinkat (Depends-on): Likewise.
39407         * modules/recv (Depends-on): Likewise.
39408         * modules/recvfrom (Depends-on): Likewise.
39409         * modules/regex (Depends-on): Likewise.
39410         * modules/remove (Depends-on): Likewise.
39411         * modules/rename (Depends-on): Likewise.
39412         * modules/renameat (Depends-on): Likewise.
39413         * modules/rmdir (Depends-on): Likewise.
39414         * modules/round (Depends-on): Likewise.
39415         * modules/roundf (Depends-on): Likewise.
39416         * modules/roundl (Depends-on): Likewise.
39417         * modules/rpmatch (Depends-on): Likewise.
39418         * modules/select (Depends-on): Likewise.
39419         * modules/send (Depends-on): Likewise.
39420         * modules/sendto (Depends-on): Likewise.
39421         * modules/setenv (Depends-on): Likewise.
39422         * modules/setlocale (Depends-on): Likewise.
39423         * modules/setsockopt (Depends-on): Likewise.
39424         * modules/shutdown (Depends-on): Likewise.
39425         * modules/sigaction (Depends-on): Likewise.
39426         * modules/signbit (Depends-on): Likewise.
39427         * modules/sigprocmask (Depends-on): Likewise.
39428         * modules/sinl (Depends-on): Likewise.
39429         * modules/sleep (Depends-on): Likewise.
39430         * modules/snprintf (Depends-on): Likewise.
39431         * modules/snprintf-posix (Depends-on): Likewise.
39432         * modules/socket (Depends-on): Likewise.
39433         * modules/sprintf-posix (Depends-on): Likewise.
39434         * modules/sqrtl (Depends-on): Likewise.
39435         * modules/stat (Depends-on): Likewise.
39436         * modules/strchrnul (Depends-on): Likewise.
39437         * modules/strdup-posix (Depends-on): Likewise.
39438         * modules/strerror (Depends-on): Likewise.
39439         * modules/strerror_r-posix (Depends-on): Likewise.
39440         * modules/strndup (Depends-on): Likewise.
39441         * modules/strnlen (Depends-on): Likewise.
39442         * modules/strptime (Depends-on): Likewise.
39443         * modules/strsep (Depends-on): Likewise.
39444         * modules/strsignal (Depends-on): Likewise.
39445         * modules/strstr-simple (Depends-on): Likewise.
39446         * modules/strtod (Depends-on): Likewise.
39447         * modules/strtoimax (Depends-on): Likewise.
39448         * modules/strtok_r (Depends-on): Likewise.
39449         * modules/strtoumax (Depends-on): Likewise.
39450         * modules/symlink (Depends-on): Likewise.
39451         * modules/symlinkat (Depends-on): Likewise.
39452         * modules/tanl (Depends-on): Likewise.
39453         * modules/tcgetsid (Depends-on): Likewise.
39454         * modules/tmpfile (Depends-on): Likewise.
39455         * modules/trunc (Depends-on): Likewise.
39456         * modules/truncf (Depends-on): Likewise.
39457         * modules/truncl (Depends-on): Likewise.
39458         * modules/uname (Depends-on): Likewise.
39459         * modules/unlink (Depends-on): Likewise.
39460         * modules/unlockpt (Depends-on): Likewise.
39461         * modules/unsetenv (Depends-on): Likewise.
39462         * modules/usleep (Depends-on): Likewise.
39463         * modules/utimensat (Depends-on): Likewise.
39464         * modules/vasprintf (Depends-on): Likewise.
39465         * modules/vdprintf (Depends-on): Likewise.
39466         * modules/vdprintf-posix (Depends-on): Likewise.
39467         * modules/vfprintf-posix (Depends-on): Likewise.
39468         * modules/vprintf-posix (Depends-on): Likewise.
39469         * modules/vsnprintf (Depends-on): Likewise.
39470         * modules/vsnprintf-posix (Depends-on): Likewise.
39471         * modules/vsprintf-posix (Depends-on): Likewise.
39472         * modules/wcrtomb (Depends-on): Likewise.
39473         * modules/wcscasecmp (Depends-on): Likewise.
39474         * modules/wcscspn (Depends-on): Likewise.
39475         * modules/wcsdup (Depends-on): Likewise.
39476         * modules/wcsncasecmp (Depends-on): Likewise.
39477         * modules/wcsnrtombs (Depends-on): Likewise.
39478         * modules/wcspbrk (Depends-on): Likewise.
39479         * modules/wcsrtombs (Depends-on): Likewise.
39480         * modules/wcsspn (Depends-on): Likewise.
39481         * modules/wcsstr (Depends-on): Likewise.
39482         * modules/wcstok (Depends-on): Likewise.
39483         * modules/wcswidth (Depends-on): Likewise.
39484         * modules/wctob (Depends-on): Likewise.
39485         * modules/wctomb (Depends-on): Likewise.
39486         * modules/wctype (Depends-on): Likewise.
39487         * modules/wcwidth (Depends-on): Likewise.
39488         * modules/write (Depends-on): Likewise.
39490 2011-05-03  Bruno Haible  <bruno@clisp.org>
39492         Support for conditional dependencies.
39493         * doc/gnulib.texi (Module description): Document the syntax of
39494         conditional dependencies.
39495         * gnulib-tool: New option --conditional-dependencies.
39496         (func_usage): Document it.
39497         (cond_dependencies): New variable.
39498         (func_get_automake_snippet_conditional,
39499         func_get_automake_snippet_unconditional): New functions, extracted from
39500         func_get_automake_snippet.
39501         (func_get_automake_snippet): Use them.
39502         (sed_first_32_chars): New variable.
39503         (func_module_shellfunc_name): New function.
39504         (func_module_shellvar_name): New function.
39505         (func_module_conditional_name): New function.
39506         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
39507         func_cond_module_condition): New functions.
39508         (func_modules_transitive_closure): Add support for conditional
39509         dependencies.
39510         (func_emit_lib_Makefile_am): For a conditional module, enclose the
39511         conditional automake snippet in an automake conditional.
39512         (func_emit_autoconf_snippets): Emit shell functions that contain the
39513         code for conditional modules.
39514         (func_import, func_create_testdir): Update specification.
39516 2011-05-03  Eric Blake  <eblake@redhat.com>
39518         test-getaddrinfo: report error information
39519         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
39521 2011-05-03  Jim Meyering  <meyering@redhat.com>
39523         bootstrap: avoid build failure when $GZIP is set
39524         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
39525         program name.  If defined at all, it is supposed to list gzip options.
39526         Reported by Alan Curry in http://debbugs.gnu.org/8609
39528 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
39530         readme-release: new module with release instructions
39531         * modules/readme-release: New module.
39532         * top/README-release: New file, from coreutils, grep, diffutils.
39533         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39535 2011-05-02  Eric Blake  <eblake@redhat.com>
39537         fflush: also replace fclose when fixing fflush
39538         * modules/fflush (Depends-on): Add fclose.
39539         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
39540         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
39541         memstreams with no backing fd.
39542         * doc/posix-functions/fclose.texi (fclose): Document the use of
39543         fflush module to fix the bug.
39544         * tests/test-fclose.c (main): Relax test when fclose is used in
39545         isolation.
39547         fclose: add some tests
39548         * modules/fclose-tests: New test module.
39549         * tests/test-fclose.c: New file.
39550         * doc/posix-functions/fclose.texi (fclose): Document the bug.
39552         fclose: reduced dependencies
39553         * modules/fclose (Depends-on): Switch from fflush/fseeko to
39554         simpler lseek.
39555         * lib/fclose.c (rpl_fclose): Likewise.
39556         Reported by Simon Josefsson.
39558         exit: drop remaining clients
39559         * modules/argmatch (Depends-on): Replace exit with stdlib.
39560         * modules/copy-file (Depends-on): Likewise.
39561         * modules/execute (Depends-on): Likewise.
39562         * modules/exitfail (Depends-on): Likewise.
39563         * modules/obstack (Depends-on): Likewise.
39564         * modules/pagealign_alloc (Depends-on): Likewise.
39565         * modules/pipe-filter-gi (Depends-on): Likewise.
39566         * modules/pipe-filter-ii (Depends-on): Likewise.
39567         * modules/savewd (Depends-on): Likewise.
39568         * modules/spawn-pipe (Depends-on): Likewise.
39569         * modules/wait-process (Depends-on): Likewise.
39570         * modules/xsetenv (Depends-on): Likewise.
39571         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
39572         * modules/git-merge-changelog (Depends-on): Likewise.
39573         * modules/long-options (Depends-on): Likewise.
39574         * modules/pt_chown (Depends-on): Likewise.
39575         * modules/sysexits (Depends-on): Likewise.
39577         freading: relax license from LGPLv3+ to LGPLv2+
39578         * modules/freading (License): Relax LGPL version.
39580 2011-05-02  Bruno Haible  <bruno@clisp.org>
39582         fchdir: Remove unused dependencies.
39583         * modules/fchdir (Depends-on): Remove include_next.
39585 2011-05-02  Bruno Haible  <bruno@clisp.org>
39587         gnulib-tool: Refactor.
39588         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
39589         from func_emit_autoconf_snippets.
39590         (func_emit_autoconf_snippets): Use it.
39592 2011-05-02  Simon Josefsson  <simon@josefsson.org>
39594         * NEWS: Document removal of 'exit'.
39595         * modules/exit: Remove file.
39597 2011-05-01  Bruno Haible  <bruno@clisp.org>
39599         Update DEPENDENCIES.
39600         * DEPENDENCIES (gettext): Recommend the newest release.
39601         Reported by Simon Josefsson.
39603 2011-05-01  Bruno Haible  <bruno@clisp.org>
39605         gnulib-tool: Reduce code duplication.
39606         * gnulib-tool (func_emit_autoconf_snippets): New function.
39607         (func_import, func_create_testdir): Use it.
39609 2011-04-30  Eric Blake  <eblake@redhat.com>
39611         fclose: don't fail on non-seekable input stream
39612         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
39613         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
39614         since fflush is allowed to fail in that case.
39616 2011-04-30  Bruno Haible  <bruno@clisp.org>
39618         dup3: cleanup
39619         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
39621 2011-04-30  Bruno Haible  <bruno@clisp.org>
39623         netdb: Make it work in C++ mode.
39624         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
39625         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
39626         module.
39627         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
39628         gl_MODULE_INDICATOR_FOR_TESTS.
39629         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
39630         * modules/netdb-c++-tests: New file.
39631         * tests/test-netdb-c++.cc: New file.
39633 2011-04-30  Bruno Haible  <bruno@clisp.org>
39635         New modules 'vfscanf', 'vscanf'.
39636         * modules/vfscanf: New file.
39637         * modules/vscanf: New file.
39638         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
39639         here.
39640         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
39641         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
39643 2011-04-30  Bruno Haible  <bruno@clisp.org>
39645         passfd: Add comments.
39646         * lib/passfd.c: Add comments about platforms.
39648 2011-04-30  Bruno Haible  <bruno@clisp.org>
39650         sys_uio: Make <sys/uio.h> self-contained.
39651         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
39652         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
39654 2011-04-30  Bruno Haible  <bruno@clisp.org>
39656         sys_socket: Ensure 'struct iovec' definition.
39657         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
39658         <sys/socket.h>.
39659         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
39661 2011-04-30  Bruno Haible  <bruno@clisp.org>
39663         sys_uio: Protect definition of 'struct iovec'.
39664         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
39665         it as a C struct.
39667 2011-04-30  Bruno Haible  <bruno@clisp.org>
39669         manywarnings: fix indentation
39670         * m4/manywarnings.m4: Indent by 2 spaces consistently.
39672 2011-04-30  Pádraig Brady  <P@draigBrady.com>
39674         manywarnings: add -Wno-missing-field-initializers if needed.
39675         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
39676         option if it's needed to allow initialization with { 0, }
39678 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
39680         announce-gen: cosmetic improvement
39681         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
39683 2011-04-29  Jim Meyering  <meyering@redhat.com>
39685         vc-list-files: indent with spaces, not TABs
39686         * build-aux/vc-list-files: Convert leading TABs to spaces,
39687         to match the style of most other files in gnulib.
39689         announce-gen: indent with spaces, not TABs
39690         * build-aux/announce-gen: Convert all TABs to spaces, to match
39691         the style of most other files in gnulib.
39693 2011-04-29  Eric Blake  <eblake@redhat.com>
39695         quotearg: avoid uninitialized variable use
39696         * lib/quotearg.c (quoting_options_from_style): Initialize
39697         remaining fields, and ensure that custom styles are only used via
39698         quoting_options rather than quoting_style.
39700 2011-04-29  Jim Meyering  <meyering@redhat.com>
39702         maint.mk: remove unused VC-tag variable
39703         * top/maint.mk (VC-tag): Remove unused variable.
39705 2011-04-29  Bruno Haible  <bruno@clisp.org>
39707         netdb: fix gai_strerror replacements
39708         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
39709         * modules/netdb: Substitute it.
39711 2011-04-29  Jim Meyering  <meyering@redhat.com>
39713         test-getcwd.c: avoid new set-but-not-used warning
39714         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
39715         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
39716         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
39717         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
39719         test-hash.c: avoid a new shadowing warning
39720         * tests/test-hash.c (main): Don't shadow "dup".
39722 2011-04-28  Eric Blake  <eblake@redhat.com>
39724         getaddrinfo: fix gai_strerror signature
39725         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
39726         and work around mingw with UNICODE defined.
39727         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
39728         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
39729         * modules/netdb (Makefile.am): Substitute it.
39730         * lib/netdb.in.h (gai_strerror): Declare replacement.
39731         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
39732         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
39733         the fix.
39735         getsockopt: avoid compiler warning
39736         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
39737         Reported by Matthias Bolte.
39739         tests: drop unused link dependency
39740         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39741         * modules/dirent-safer-tests (Makefile.am): Likewise.
39742         * modules/fdopendir-tests (Makefile.am): Likewise.
39743         * modules/mkfifoat-tests (Makefile.am): Likewise.
39744         * modules/openat-safer-tests (Makefile.am): Likewise.
39745         * modules/openat-tests (Makefile.am): Likewise.
39746         * modules/readlinkat-tests (Makefile.am): Likewise.
39747         * modules/symlinkat-tests (Makefile.am): Likewise.
39748         * modules/linkat-tests (Makefile.am): Likewise.
39749         (Depends-on): Switch to filenamecat-lgpl.
39750         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39751         LIBINTL.
39752         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39753         * tests/test-linkat.c (main): Don't require xalloc.
39755         hash, mgetgroups: drop xalloc dependency
39756         * lib/hash.c (includes): Adjust includes.
39757         * lib/mgetgroups.c (includes): Likewise.
39758         (xgetgroups): Move...
39759         * lib/xgetgroups.c: ...to new file.
39760         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39761         * modules/xgetgroups: New file, split from...
39762         * modules/mgetgroups: ...here.
39763         (Depends-on): Add xalloc-oversized.
39764         * modules/hash (Depends-on): Likewise.
39765         * modules/hash-tests (Depends-on): Drop xalloc.
39766         (test_hash_LDADD): Drop unused library.
39767         * tests/test-hash.c (main): Break xalloc dependency.
39768         (includes): Drop unused include.
39770         xalloc-oversized: new module
39771         * modules/xalloc-oversized: New module.
39772         * modules/xalloc (Depends-on): Add it.
39773         * lib/xalloc.h (xalloc_oversized): Move...
39774         * lib/xalloc-oversized.h: ...into new file.
39776         utimecmp: drop dependency on xmalloc
39777         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39778         due to memory pressure.
39779         * modules/utimecmp (Depends-on): Drop xalloc.
39781 2011-04-27  Eric Blake  <eblake@redhat.com>
39783         getcwd: fix mingw bugs
39784         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39785         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39786         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39788 2011-04-27  Bruno Haible  <bruno@clisp.org>
39790         mkstemps: Ensure declaration on MacOS X 10.5.
39791         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39792         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39793         MacOS X.
39795 2011-04-27  Bruno Haible  <bruno@clisp.org>
39797         mkstemp: More documentation.
39798         * doc/posix-functions/mkstemp.texi: Document header file problem on
39799         MacOS X.
39801 2011-04-27  Bruno Haible  <bruno@clisp.org>
39803         mkstemp: Tweak configure message when cross-compiling.
39804         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39805         result as a guess.
39807 2011-04-27  Bruno Haible  <bruno@clisp.org>
39809         clean-temp: Clarify what it does.
39810         * lib/clean-temp.h: Add more comments.
39811         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39812         module.
39813         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39814         * doc/glibc-functions/mkstemps.texi: Likewise.
39815         * doc/glibc-functions/mkostemps.texi: Likewise.
39817 2011-04-27  Eric Blake  <eblake@redhat.com>
39819         fchdir: avoid extra chdir and fix test
39820         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39821         getcwd-lgpl.
39822         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39823         have to be canonical.
39824         (canonicalize_file_name): Drop unused macro.
39825         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39827         filenamecat-lgpl: fix licence
39828         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39829         when it was first created.
39831         linkat, renameat: add missing dependency
39832         * modules/linkat (Depends-on): Require getcwd-lgpl.
39833         * modules/renameat (Depends-on): Likewise.
39835         tests: reduce dependencies
39836         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39837         * tests/test-renameat.c (main): Likewise.
39838         * modules/linkat-tests (Depends-on): Relax dependency.
39839         * modules/renameat-tests (Depends-on): Likewise.
39840         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39841         dependency explicit.
39843         save-cwd: reduce default dependency
39844         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39845         * lib/save-cwd.c: Update comments.
39846         * NEWS: Document the semantic change.
39848         getcwd: enhance tests
39849         * tests/test-getcwd-lgpl.c: New file, taken from...
39850         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39851         repeat long path stress tests from m4 probe.
39852         * modules/getcwd-lgpl-tests: New module.
39853         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39854         * m4/getcwd-abort-bug.m4: Update comment.
39855         * m4/getcwd-path-max.m4: Likewise.
39857         getcwd-lgpl: new module
39858         * modules/getcwd-lgpl: New module.
39859         * lib/getcwd-lgpl.c: New file.
39860         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39861         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39862         * modules/getcwd (configure.ac): Set C witness.
39863         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39865         getcwd: tweak comments
39866         * m4/getcwd-abort-bug.m4: Fix comments.
39867         * m4/getcwd-path-max.m4: Likewise.
39868         * m4/getcwd.m4: Likewise.
39870 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39871         and Eric Blake  <eblake@redhat.com>
39873         mkstemp: replace if system version uses wrong permissions
39874         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39875         read/write mode bits set in file created by mkstemp.
39876         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39878 2011-04-27  Eric Blake  <eblake@redhat.com>
39880         passfd: avoid compiler warning
39881         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39882         Reported by Laine Stump.
39884 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39886         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39887         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39889 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39890         and Eric Blake  <eblake@redhat.com>
39892         mkstemp: mention clean-temp module
39893         * lib/mkstemp.c: Add comment.
39894         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39896 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39898         inttypes: also provide default values for 32-bit tests
39899         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39900         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39902 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39904         strtoumax: remove dependency on strtoimax
39905         This is like the strtoull change of yesterday.
39906         * modules/strtoumax (Files): Add lib/strtoimax.c.
39907         (Depends-on): Remove strtoimax and add verify.
39909         inttypes-incomplete: new module
39910         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39911         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39912         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39913         of gl_INTTYPES_H.
39914         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39915         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39916         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39917         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39918         * modules/strtoumax, modules/xstrtol (Depends-on):
39919         Depend on inttypes-incomplete, not inttypes.
39920         * modules/inttypes-incomplete: New module, containing the contents
39921         of the old modules/inttypes module, except that the Files: section
39922         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39923         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39924         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39925         (Depends-on): Depend only on inttypes-incomplete.
39926         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39928         inttypes: omit now-redundant strtoimax and strtoumax work
39929         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39930         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39932         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39933         This supports apps that need pointers to strtoimax and strtoumax,
39934         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39935         nonexistent functions.  See
39936         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39937         et seq.
39938         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39939         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39940         a macro.
39941         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39943 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39945         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39947 2011-04-25  Bruno Haible  <bruno@clisp.org>
39949         strtol, strtoul: Mark modules as obsolete.
39950         * modules/strtol (Status, Notice): New sections.
39951         * modules/strtoul (Status, Notice): New sections.
39953 2011-04-25  Bruno Haible  <bruno@clisp.org>
39955         strtod: Remove check for strtod, unless supporting old platforms.
39956         * modules/strtod-obsolete: New file.
39957         * m4/strtod-obsolete.m4: New file.
39958         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39959         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39960         * modules/strtod (Depends-on): Add strtod-obsolete.
39961         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39963 2011-04-25  Bruno Haible  <bruno@clisp.org>
39965         strcase: Make module obsolete.
39966         * modules/strcase (Status, Notice): New sections.
39968 2011-04-25  Bruno Haible  <bruno@clisp.org>
39970         dup2: Remove check for dup2, unless supporting old obsolete platforms.
39971         * modules/dup2-obsolete: New file.
39972         * m4/dup2-obsolete.m4: New file.
39973         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
39974         gl_FUNC_DUP2_OBSOLETE is not also defined.
39975         * modules/dup2 (Depends-on): Add dup2-obsolete.
39976         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
39978 2011-04-25  Bruno Haible  <bruno@clisp.org>
39980         strnlen: Avoid memchr related link error on old obsolete platforms.
39981         * modules/memchr-obsolete: New file.
39982         * m4/memchr-obsolete.m4: New file.
39983         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
39984         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
39985         * modules/memchr (Depends-on): Add memchr-obsolete.
39986         * modules/strnlen (Depends-on): Likewise.
39987         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
39989 2011-04-25  Jim Meyering  <meyering@redhat.com>
39991         maint.mk: makefile_at_at_check extend and clean up
39992         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
39993         in addition to */Makefile.am.
39994         Exempt legitimate uses of @VAR@ notation, e.g.,
39995         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
39996         Remove obsolete coreutils-specific comment.
39997         Prompted by discussion here:
39998         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
40000 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40002         strtoul: remove dependency on strtol
40003         This is so that 'configure' need not check for strtol merely because
40004         the application needs strtoul.
40005         * modules/strtoul (Files): Add lib/strtol.c.
40006         (Depends-on): Remove strtol.
40008         strtoull: remove dependency on strtoul
40009         This is like the strtoll change.
40010         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
40011         (Depends-on): Remove strtoul.
40013         strtoll: remove dependency on strtol
40014         This is so that 'configure' need not check for strtol merely because
40015         the application needs strtoll.
40016         * modules/strtoll (Files): Add lib/strtol.c.
40017         (Depends-on): Remove strtol.
40019 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40021         inttypes: Move some configure check to module 'imaxdiv'.
40022         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
40023         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
40024         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
40026 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40028         inttypes: Move some configure check to module 'imaxabs'.
40029         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
40030         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
40031         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
40033 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40035         inttypes: Remove configure tests that are not needed since 2009-12-31.
40036         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
40037         gl_cv_header_working_inttypes_h.
40039 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40041         * modules/strnlen (Depends-on): Remove memchr.
40042         The strnlen implementation doesn't need the memchr module's fixes; see
40043         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
40045         strtol: remove dependency on wchar
40046         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
40047         * modules/strtol (Depends-on): Remove wchar.
40049 2011-04-21  Eric Blake  <eblake@redhat.com>
40051         passfd: fix test regression on Linux
40052         * modules/passfd-tests (configure.ac): Correct socketpair check.
40054         passfd: speed up configure and drop unused code
40055         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
40056         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
40057         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
40058         Instead of probing at configure for unix_scm_rights_bsd44_way,
40059         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
40060         check to a struct member probe.
40061         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
40062         (sendfd, recvfd): Update preprocessor checks.
40063         * modules/passfd (Files): Reflect rename, and drop unused file.
40064         (Depends-on): Drop unused dependency.
40066         passfd: allow compilation on mingw
40067         * modules/sys_socket (Depends-on): Add sys_uio.
40068         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
40069         iovec and a minimal struct msghdr.
40070         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
40071         * tests/test-sys_socket.c (main): Enhance test.
40072         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
40073         guaranteed to provide what we need.
40074         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
40075         * modules/passfd-tests (Depends-on): Add sys_wait.
40076         * tests/test-passfd.c (main): Skip test on mingw, for now.
40077         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
40078         partial 'struct msghdr' implementation.
40080         sys_uio: new module
40081         * modules/sys_uio: New module.
40082         * modules/sys_uio-tests: Likewise.
40083         * lib/sys_uio.in.h: New file.
40084         * m4/sys_uio_h.m4: Likewise.
40085         * tests/test-sys_uio.c: Likewise.
40086         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
40087         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
40089 2011-04-20  Jim Meyering  <meyering@redhat.com>
40091         useless-if-before-free: avoid false-positive
40092         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
40093         disjunct so that it too requires a terminating ";".  Without that,
40094         this script would identify as useless one statement from gcc that
40095         was not:
40096           if (aligned_ptr)
40097             free (((void **) aligned_ptr) [-1]);
40099 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
40101         doc: update users.txt.
40102         * users.txt: Add barcode.
40104 2011-04-19  Bruno Haible  <bruno@clisp.org>
40106         ioctl: Remove link dependency on native Windows.
40107         * lib/fd-hook.h: Renamed from lib/close-hook.h.
40108         (gl_close_fn, gl_ioctl_fn): New types.
40109         (struct fd_hook): Renamed from struct close_hook. Change type of
40110         private_close_fn field. Add private_ioctl_fn field.
40111         (close_hook_fn): Add parameter for primary close method.
40112         (execute_close_hooks, execute_all_close_hooks): Likewise.
40113         (ioctl_hook_fn): New type.
40114         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
40115         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40116         argument.
40117         (unregister_fd_hook): Renamed from unregister_close_hook.
40118         * lib/fd-hook.c: Renamed from lib/close-hook.c.
40119         Don't include <unistd.h>.
40120         (close): Remove undef.
40121         (anchor): Update.
40122         (execute_close_hooks): Add argument for primary close method.
40123         (execute_all_close_hooks): Likewise.
40124         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
40125         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40126         argument. Allow each argument to be NULL.
40127         (unregister_fd_hook): Renamed from unregister_close_hook.
40128         * lib/close.c (rpl_close): Pass 'close' function pointer to
40129         execute_all_close_hooks.
40130         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
40131         (primary_ioctl): New function.
40132         (ioctl): Don't call ioctlsocket here. Instead, call
40133         execute_all_ioctl_hooks.
40134         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
40135         close method.
40136         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
40137         (fd_sockets_hook): Renamed from close_sockets_hook.
40138         (gl_sockets_startup, gl_sockets_cleanup): Update.
40139         * modules/fd-hook: Renamed from modules/close-hook. Update.
40140         * modules/close (Depends-on): Add fd-hook, remove close-hook.
40141         * modules/sockets (Depends-on): Likewise.
40142         * modules/ioctl (Depends-on): Add fd-hook.
40143         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
40144         GNULIB_SOCKET.
40146 2011-04-19  Bruno Haible  <bruno@clisp.org>
40148         Move the support of O_NONBLOCK in open() to the 'open' module.
40149         * modules/nonblocking (Depends-on): Remove 'open'.
40150         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
40151         gl_cv_have_open_O_NONBLOCK.
40152         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
40153         O_NONBLOCK support.
40154         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
40156 2011-04-17  Bruno Haible  <bruno@clisp.org>
40158         pipe2: Simplify code.
40159         * lib/pipe2.c (pipe2): Reduce code duplication.
40161 2011-04-17  Bruno Haible  <bruno@clisp.org>
40163         nonblocking: Add comment.
40164         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
40166 2011-04-17  Bruno Haible  <bruno@clisp.org>
40168         nonblocking: Add tests for sockets.
40169         * tests/test-nonblocking-socket.sh: New file.
40170         * tests/test-nonblocking-socket-main.c: New file.
40171         * tests/test-nonblocking-socket-child.c: New file.
40172         * tests/test-nonblocking-socket.h: New file.
40173         * tests/socket-server.h: New file.
40174         * tests/socket-client.h: New file.
40175         * modules/nonblocking-socket-tests: New file.
40176         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
40178 2011-04-17  Bruno Haible  <bruno@clisp.org>
40180         nonblocking: Add tests for pipes.
40181         * tests/test-nonblocking-pipe.sh: New file.
40182         * tests/test-nonblocking-pipe-main.c: New file.
40183         * tests/test-nonblocking-pipe-child.c: New file.
40184         * tests/test-nonblocking-pipe.h: New file.
40185         * tests/test-nonblocking-writer.h: New file.
40186         * tests/test-nonblocking-reader.h: New file.
40187         * tests/test-nonblocking-misc.h: New file.
40188         * modules/nonblocking-pipe-tests: New file.
40189         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
40191 2011-04-16  Bruno Haible  <bruno@clisp.org>
40193         gettext: Clarify the needed programmer actions.
40194         * modules/gettext (Notice): New field.
40195         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40197 2011-04-16  Bruno Haible  <bruno@clisp.org>
40199         strchrnul: Tweak last commit.
40200         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
40201         bug.
40202         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
40203         as in _GL_FUNCDECL_SYS.
40204         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
40205         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
40207 2011-04-15  Eric Blake  <eblake@redhat.com>
40209         strchrnul: work around cygwin bug
40210         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
40211         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
40212         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
40213         * modules/string (Makefile.am): Substitute it.
40214         * lib/string.in.h (strchrnul): Use it.
40216 2011-04-15  Bruno Haible  <bruno@clisp.org>
40218         Don't require lib/stdio-write.c when only module 'stdio' is used.
40219         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
40220         invocation.
40221         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
40223 2011-04-14  Bruno Haible  <bruno@clisp.org>
40225         Support non-blocking pipe I/O in read() on native Windows.
40226         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
40227         (read): New declaration.
40228         * lib/read.c: New file.
40229         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
40230         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
40231         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
40232         vscanf): New declarations.
40233         * lib/stdio-read.c: New file.
40234         * m4/read.m4: New file.
40235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
40236         REPLACE_READ.
40237         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
40238         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40239         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
40240         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
40241         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
40242         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40243         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40244         * modules/read: New file.
40245         * modules/nonblocking (Files): Add lib/stdio-read.c.
40246         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
40247         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
40248         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40249         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40250         * modules/pread (Depends-on): Add read.
40251         * modules/safe-read (Depends-on): Likewise.
40252         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
40253         gets, scanf, vfscanf, vscanf): Verify signatures.
40254         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
40255         problem with non-blocking pipes.
40256         * doc/posix-functions/fgetc.texi: Likewise.
40257         * doc/posix-functions/fgets.texi: Likewise.
40258         * doc/posix-functions/fread.texi: Likewise.
40259         * doc/posix-functions/fscanf.texi: Likewise.
40260         * doc/posix-functions/getc.texi: Likewise.
40261         * doc/posix-functions/getchar.texi: Likewise.
40262         * doc/posix-functions/gets.texi: Likewise.
40263         * doc/posix-functions/scanf.texi: Likewise.
40264         * doc/posix-functions/vfscanf.texi: Likewise.
40265         * doc/posix-functions/vscanf.texi: Likewise.
40267 2011-04-14  Bruno Haible  <bruno@clisp.org>
40269         Support non-blocking pipe I/O in write() on native Windows.
40270         * lib/write.c (rpl_write): Split a write request that failed merely
40271         because the byte count was larger than the pipe buffer's size.
40272         * doc/posix-functions/write.texi: Mention the problem with large byte
40273         counts.
40275 2011-04-14  Bruno Haible  <bruno@clisp.org>
40277         wchar: Ensure that wchar_t gets defined on uClibc.
40278         * lib/wchar.in.h: On uClibc, include <stddef.h>.
40279         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
40281 2011-04-13  Bruno Haible  <bruno@clisp.org>
40283         safe-write, full-read: Avoid unnecessary compilation units.
40284         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
40285         (Depends-on): Remove safe-read. Add ssize_t.
40286         * modules/full-read (Files): Add lib/full-write.c.
40287         (Depends-on): Add full-write.
40289 2011-04-13  Bruno Haible  <bruno@clisp.org>
40291         Support non-blocking pipe I/O and SIGPIPE in pwrite().
40292         * modules/pwrite (Depends-on): Add 'write'.
40294 2011-04-13  Bruno Haible  <bruno@clisp.org>
40296         Support non-blocking pipe I/O in write() on native Windows.
40297         * lib/unistd.in.h (write): Enable replacement also if
40298         GNULIB_UNISTD_H_NONBLOCKING is 1.
40299         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
40300         (rpl_write): When failing to write on a non-blocking pipe, change
40301         errno from ENOSPC to EAGAIN.
40302         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
40303         putchar, puts, vfprintf, vprintf): Enable replacement also if
40304         GNULIB_STDIO_H_NONBLOCKING is 1.
40305         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
40306         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
40307         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
40308         CALL_WITH_SIGPIPE_EMULATION.
40309         (CALL_WITH_SIGPIPE_EMULATION): Use them.
40310         * m4/nonblocking.m4: New file.
40311         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
40312         for non-blocking I/O support.
40313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40314         GNULIB_UNISTD_H_NONBLOCKING.
40315         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
40316         required for non-blocking I/O support.
40317         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
40318         * modules/nonblocking (Files): Add m4/nonblocking.m4,
40319         lib/stdio-write.c, m4/asm-underscore.m4.
40320         (Depends-on): Add stdio, unistd.
40321         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
40322         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
40323         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
40324         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
40325         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
40326         problem with non-blocking pipes.
40327         * doc/posix-functions/fputc.texi: Likewise.
40328         * doc/posix-functions/fputs.texi: Likewise.
40329         * doc/posix-functions/fwrite.texi: Likewise.
40330         * doc/posix-functions/printf.texi: Likewise.
40331         * doc/posix-functions/putc.texi: Likewise.
40332         * doc/posix-functions/putchar.texi: Likewise.
40333         * doc/posix-functions/puts.texi: Likewise.
40334         * doc/posix-functions/vfprintf.texi: Likewise.
40335         * doc/posix-functions/vprintf.texi: Likewise.
40336         * doc/posix-functions/write.texi: Likewise.
40338 2011-04-10  Jim Meyering  <meyering@redhat.com>
40340         maint.mk: prohibit doubled words
40341         Detect them also when they're separated by a newline.
40342         There are 3 ways to customize it:
40343           - disable the test on a per file basis, as usual with rules using
40344             $(VC_LIST_EXCEPT)
40345           - replace the default doubled-word-selecting regexp (affects all files)
40346           - ignore a particular file-vs-doubled-word match
40347         I nearly used that last one to ignore the "is is" match in
40348         coreutils' NEWS file, since the text was "ls -is is ..."
40349         To do that, I would have added this line to cfg.mk:
40350           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
40351         but it would have ignored any "is is" match in NEWS.
40352         Low probability, but still...
40353         Instead, I changed the text, slightly:
40354           -  ls -is is now consistent with ls -lis in ignoring values returned
40355           +  "ls -is" is now consistent with ls -lis in ignoring values returned
40356         * top/maint.mk (prohibit_double_word_RE_): Provide default.
40357         (prohibit_doubled_word_): Define.
40358         (sc_prohibit_doubled_word): New rule.
40359         (sc_prohibit_the_the): Remove.  Subsumed by the above.
40361 2011-04-10  Jim Meyering  <meyering@redhat.com>
40363         maint: fix doubled-word typo in comment
40364         * m4/gethostname.m4: s/is is/it is/
40365         * m4/getdomainname.m4: Likewise.
40367 2011-04-10  Jim Meyering  <meyering@redhat.com>
40369         maint: remove doubled word: s/it it/it/
40370         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
40372 2011-04-10  Jim Meyering  <meyering@redhat.com>
40374         maint.mk: remove useless semicolon and backslash
40375         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
40376         semicolon and backslash.
40378 2011-04-10  Bruno Haible  <bruno@clisp.org>
40380         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
40381         * modules/stdint-tests (Depends-on): Add wchar.
40383 2011-04-10  Jim Meyering  <meyering@redhat.com>
40385         maint: remove doubled words in comments, e.g., s/a a/a/
40386         * lib/strptime.c (day_of_the_week): s/the the/the/
40387         * tests/test-chown.h (test_chown): s/a a/a/
40389         test-chown.h: correct a cast
40390         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
40391         when the destination is a stat.st_gid.
40393 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
40395         getaddrinfo: Fix test for sa_len member.
40396         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
40397         include <sys/types.h> before <sys/socket.h>.
40399 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40401         maint: change "can not" to "cannot"
40402         * doc/posix-functions/iconv.texi (iconv): This one crossed line
40403         boundaries.
40405 2011-04-09  Jim Meyering  <meyering@redhat.com>
40407         maint: change "a a" to "a"
40408         * tests/test-lchown.h (test_lchown): s/a a/a/
40410         maint.mk: prohibit \<the the\>
40411         * top/maint.mk (sc_prohibit_the_the): New rule.
40413         maint: fix "the the" in comment
40414         * lib/count-one-bits.h: s/the the/the/
40416         maint: change "can not" to "cannot"
40417         But do not change the occurrences in maintain.texi or in
40418         build-aux/po/Makefile.in.in, which I presume comes from gettext.
40419         * doc/gnulib-tool.texi: s/can not/cannot/
40420         * doc/posix-functions/accept.texi (accept): Likewise.
40421         * doc/posix-functions/socket.texi (socket): Likewise.
40422         * lib/mbrtowc.c: Likewise.
40424         maint.mk: prohibit use of "can not"
40425         * top/maint.mk (sc_prohibit_can_not): New rule.
40426         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
40428 2011-04-09  Bruno Haible  <bruno@clisp.org>
40430         careadlinkat: Guard against misuse of careadlinkatcwd.
40431         * lib/careadlinkat.c: Include <stdlib.h>.
40432         (careadlinkatcwd): Check that the fd argument is as expected.
40434 2011-04-09  Bruno Haible  <bruno@clisp.org>
40436         careadlinkat: Use common coding style.
40437         * lib/careadlinkat.c: Move gnulib includes after system includes.
40439 2011-04-09  Bruno Haible  <bruno@clisp.org>
40441         careadlinkat: Clarify specification.
40442         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
40443         (careadlinkatcwd): Add comment.
40444         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
40446 2011-04-09  Bruno Haible  <bruno@clisp.org>
40448         areadlinkat: Avoid link error on many platforms.
40449         * modules/areadlinkat (Depends-on): Add areadlink.
40451 2011-04-09  Bruno Haible  <bruno@clisp.org>
40453         allocator, careadlinkat: Fix double-inclusion guard.
40454         * lib/allocator.h: Fix double-inclusion guard.
40455         * lib/careadlinkat.h: Likewise.
40457 2011-04-09  Bruno Haible  <bruno@clisp.org>
40459         relocatable-prog-wrapper: Update after module 'areadlink' changed.
40460         * lib/relocwrapper.c: Update dependencies hierarchy.
40461         * build-aux/install-reloc: Update list of files to be compiled.
40462         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
40463         lib/allocator.[hc].
40465 2011-04-08  Eric Blake  <eblake@redhat.com>
40467         strftime: silence gnulib-tool warning
40468         * modules/strftime-tests (Depends-on): Drop automatic dependency.
40470 2011-04-08  Bruno Haible  <bruno@clisp.org>
40472         verify: Fix syntax error with GCC 4.6 in C++ mode.
40473         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
40474         (HAVE_STATIC_ASSERT): New macro.
40475         (verify_true, verify): Use 'static_assert' if it is supported and
40476         '_Static_assert' is not supported.
40478 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
40480         allocator: New module.
40481         * modules/allocator, lib/allocator.c: New files.
40482         * lib/allocator.h (stdlib_allocator): New decl.
40483         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
40484         Remove.  Do not include <stdlib.h>.
40485         (careadlinkat): Use stdlib_allocator instead of rolling our own.
40486         * modules/careadlinkat (Files): Remove lib/allocator.h.
40487         (Depends-on): Add allocator.
40489         stdlib: let modules use system malloc, realloc
40490         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
40491         if !_GL_USE_STDLIB_ALLOC.
40492         (malloc, realloc): Limit this change to a smaller scope.
40494         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
40495         (malloc, realloc): Don't #undef; no longer needed.
40496         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40497         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40498         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40499         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40500         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40501         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40502         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40503         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40505         careadlinkat: rename members to avoid problem
40506         * lib/allocator.h (struct allocator): Rename members from
40507         malloc/realloc to allocate/reallocate, to avoid problems if malloc
40508         and realloc are #define'd.  Reported by Eric Blake in
40509         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
40510         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
40512 2011-04-08  Eric Blake  <eblake@redhat.com>
40514         nonblocking: reduce dependency
40515         * tests/test-nonblocking.c: Only test sockets when in use.
40516         * modules/nonblocking-tests (Depends-on): Drop socket.
40517         (Makefile.am): Link even if sockets are not present.
40518         * modules/pipe2-tests (Makefile.am): Likewise.
40519         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
40521         pipe2: fix O_NONBLOCK support on mingw
40522         * modules/pipe2 (Depends-on): Add nonblocking.
40523         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
40524         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
40525         * tests/test-nonblocking.c (main): Likewise.
40526         * modules/pipe2-tests (Makefile.am): Avoid link failure.
40528         fcntl-h: fix O_ACCMODE on cygwin
40529         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
40530         * lib/fcntl.in.h (O_ACCMODE): Fix it.
40532         pipe-filter: drop O_NONBLOCK workarounds
40533         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
40534         * modules/pipe-filter-ii (Depends-on): Likewise.
40535         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
40537         nonblocking: provide O_NONBLOCK for mingw
40538         * modules/nonblocking (Depends-on): Add open.
40539         (configure.ac): Set new witness macro.
40540         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
40541         * modules/fcntl-h (Makefile.am): Substitute it.
40542         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
40543         nonblocking module is in use.
40544         * lib/nonblocking.c: Adjust portability test.
40545         * lib/open.c (open): Don't let native open see gnulib flag.
40546         * tests/test-fcntl-h.c (main): Enhance test.
40547         * tests/test-open.h (test_open): Likewise.
40548         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
40550         careadlinkat: fix compilation error on mingw
40551         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
40552         within struct allocator.
40554 2011-04-06  Eric Blake  <eblake@redhat.com>
40556         binary-io: relicense under LGPLv2+
40557         * modules/binary-io (License): Relax to LGPLv2+.
40558         Requested for libvirt, and required by pipe2.
40560 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
40562         verify: use _Static_assert if available
40563         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
40564         (verify_true, verify): Use it if available.  This generates better
40565         diagnostics with GCC 4.6.0 and later.
40567 2011-04-05  Bruno Haible  <bruno@clisp.org>
40569         Remove leftover generated .h files after config.status changed.
40571         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
40572         GL_GENERATE_ALLOCA_H.
40573         * modules/alloca-opt (Makefile.am): Remove alloca.h if
40574         GL_GENERATE_ALLOCA_H evaluates to false.
40576         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
40577         GL_GENERATE_ARGZ_H.
40578         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
40579         evaluates to false.
40581         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
40582         GL_GENERATE_BYTESWAP_H.
40583         * modules/byteswap (Makefile.am): Remove byteswap.h if
40584         GL_GENERATE_BYTESWAP_H evaluates to false.
40586         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
40587         GL_GENERATE_ERRNO_H.
40588         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
40589         evaluates to false.
40591         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
40592         GL_GENERATE_FLOAT_H.
40593         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
40594         evaluates to false.
40596         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
40597         GL_GENERATE_FNMATCH_H.
40598         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
40599         GL_GENERATE_FNMATCH_H evaluates to false.
40601         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
40602         GL_GENERATE_GLOB_H.
40603         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
40604         evaluates to false.
40606         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
40607         automake conditional GL_GENERATE_ICONV_H.
40608         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
40609         evaluates to false.
40611         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
40612         GL_GENERATE_NETINET_IN_H.
40613         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
40614         GL_GENERATE_NETINET_IN_H evaluates to false.
40616         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
40617         conditional GL_GENERATE_PTHREAD_H.
40618         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
40619         * modules/pthread (Makefile.am): Remove pthread.h if
40620         GL_GENERATE_PTHREAD_H evaluates to false.
40622         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
40623         GL_GENERATE_SCHED_H.
40624         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
40625         evaluates to false.
40627         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
40628         conditional GL_GENERATE_SELINUX_CONTEXT_H.
40629         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
40630         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
40632         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
40633         GL_GENERATE_STDARG_H.
40634         * modules/stdarg (Makefile.am): Remove stdarg.h if
40635         GL_GENERATE_STDARG_H evaluates to false.
40637         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
40638         GL_GENERATE_STDBOOL_H.
40639         * modules/stdbool (Makefile.am): Remove stdbool.h if
40640         GL_GENERATE_STDBOOL_H evaluates to false.
40642         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
40643         conditional GL_GENERATE_STDDEF_H.
40644         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
40645         * modules/stddef (Makefile.am): Remove stddef.h if
40646         GL_GENERATE_STDDEF_H evaluates to false.
40648         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
40649         GL_GENERATE_STDINT_H.
40650         * modules/stdint (Makefile.am): Remove stdint.h if
40651         GL_GENERATE_STDINT_H evaluates to false.
40653         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
40654         GL_GENERATE_SYSEXITS_H.
40655         * modules/sysexits (Makefile.am): Remove sysexits.h if
40656         GL_GENERATE_SYSEXITS_H evaluates to false.
40658         Reported by Karl Berry and Ralf Wildenhues.
40660 2011-04-05  Bruno Haible  <bruno@clisp.org>
40662         Ensure to rebuild generated .h files when config.status has changed.
40663         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
40664         config.status.
40665         * modules/ctype (Makefile.am): Likewise.
40666         * modules/dirent (Makefile.am): Likewise.
40667         * modules/errno (Makefile.am): Likewise.
40668         * modules/fcntl-h (Makefile.am): Likewise.
40669         * modules/float (Makefile.am): Likewise.
40670         * modules/getopt-posix (Makefile.am): Likewise.
40671         * modules/glob (Makefile.am): Likewise.
40672         * modules/iconv-h (Makefile.am): Likewise.
40673         * modules/inttypes (Makefile.am): Likewise.
40674         * modules/langinfo (Makefile.am): Likewise.
40675         * modules/locale (Makefile.am): Likewise.
40676         * modules/math (Makefile.am): Likewise.
40677         * modules/netdb (Makefile.am): Likewise.
40678         * modules/netinet_in (Makefile.am): Likewise.
40679         * modules/poll-h (Makefile.am): Likewise.
40680         * modules/pthread (Makefile.am): Likewise.
40681         * modules/pty (Makefile.am): Likewise.
40682         * modules/sched (Makefile.am): Likewise.
40683         * modules/search (Makefile.am): Likewise.
40684         * modules/selinux-h (Makefile.am): Likewise.
40685         * modules/signal (Makefile.am): Likewise.
40686         * modules/spawn (Makefile.am): Likewise.
40687         * modules/stdarg (Makefile.am): Likewise.
40688         * modules/stdbool (Makefile.am): Likewise.
40689         * modules/stddef (Makefile.am): Likewise.
40690         * modules/stdint (Makefile.am): Likewise.
40691         * modules/stdio (Makefile.am): Likewise.
40692         * modules/stdlib (Makefile.am): Likewise.
40693         * modules/string (Makefile.am): Likewise.
40694         * modules/strings (Makefile.am): Likewise.
40695         * modules/sys_file (Makefile.am): Likewise.
40696         * modules/sys_ioctl (Makefile.am): Likewise.
40697         * modules/sys_select (Makefile.am): Likewise.
40698         * modules/sys_socket (Makefile.am): Likewise.
40699         * modules/sys_stat (Makefile.am): Likewise.
40700         * modules/sys_time (Makefile.am): Likewise.
40701         * modules/sys_times (Makefile.am): Likewise.
40702         * modules/sys_utsname (Makefile.am): Likewise.
40703         * modules/sys_wait (Makefile.am): Likewise.
40704         * modules/sysexits (Makefile.am): Likewise.
40705         * modules/termios (Makefile.am): Likewise.
40706         * modules/time (Makefile.am): Likewise.
40707         * modules/unistd (Makefile.am): Likewise.
40708         * modules/wchar (Makefile.am): Likewise.
40709         * modules/wctype-h (Makefile.am): Likewise.
40710         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
40712 2011-04-05  Bruno Haible  <bruno@clisp.org>
40714         pipe2: Relicense under LGPLv2+.
40715         * modules/pipe2 (License): Change to LGPLv2+.
40716         Requested by Eric Blake, for libvirt.
40718 2011-04-05  Bruce Korb  <bkorb@gnu.org>
40720         bootstrap: compute gnulib_extra_files after updating build_aux
40721         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
40722         change build_aux or also supply gnulib_extra_files.  Handle correctly.
40724 2011-04-05  Eric Blake  <eblake@redhat.com>
40726         bootstrap: preserve git whitelist item sorting
40727         * build-aux/bootstrap (sort_patterns): New function.
40728         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
40730 2011-04-05  Simon Josefsson  <simon@josefsson.org>
40732         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
40733         sc_space_tab check.
40735 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
40737         areadlink, areadlinkat: rewrite in terms of careadlinkat
40738         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
40739         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40740         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40741         (malloc, realloc): Remove #undefs.
40742         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40743         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40744         readlink, ssize_t, stdint, unistd.
40745         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40746         areadlink, stdint.
40748         careadlinkat: new module
40749         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40750         * modules/careadlinkat: New files, written by me with
40751         a review and feedback from Ben Pfaff in
40752         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40754 2011-04-01  Bruno Haible  <bruno@clisp.org>
40756         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40757         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40758         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40759         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40760         Reported by Bruce Korb <bruce.korb@gmail.com>.
40762 2011-04-01  Bruno Haible  <bruno@clisp.org>
40764         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40765         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40766         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40767         * modules/wcpcpy (Depends-on): Add extensions.
40768         * modules/wcpncpy (Depends-on): Likewise.
40769         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40770         systems.
40771         * doc/posix-functions/wcpncpy.texi: Likewise.
40772         * doc/posix-functions/wcwidth.texi: Likewise.
40774 2011-03-31  Eric Blake  <eblake@redhat.com>
40776         nonblocking: fix mingw test failures
40777         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40778         non-blocking flag on regular file.
40779         (get_nonblocking_flag): Set errno on invalid fd.
40780         * tests/test-nonblocking.c (main): Avoid test failure on
40781         directories if fchdir is not active.
40782         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40784 2011-03-31  Bruno Haible  <bruno@clisp.org>
40786         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40787         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40788         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40789         Reported by Simon Josefsson <simon@josefsson.org>.
40791 2011-03-31  Bruno Haible  <bruno@clisp.org>
40792         and Eric Blake  <eblake@redhat.com>
40794         nonblocking: new module
40795         * modules/nonblocking: New module.
40796         * modules/nonblocking-tests: Likewise.
40797         * lib/nonblocking.h: New file.
40798         * lib/nonblocking.c: Likewise.
40799         * tests/test-nonblocking.c: New test.
40800         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40802 2011-03-30  Bruno Haible  <bruno@clisp.org>
40804         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40805         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40806         instead of 'printf' format for GCC >= 4.4.
40807         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40808         (fprintf, printf, vfprintf, vprintf): Declare with
40809         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40810         the system's vfprintf() function.
40811         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40813 2011-03-30  Eric Blake  <eblake@redhat.com>
40815         passfd: fix scoping bug
40816         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40817         before sendmsg/recvmsg.
40819         passfd: standardize coding conventions
40820         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40821         can be learned at compile time.
40822         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40823         ifdefs.
40824         (sendfd, recvfd): Follow gnulib code conventions.
40826         passfd: fix incorrect sendmsg arguments
40827         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40828         incorrect msg_controllen value.
40829         * modules/passfd-tests (Depends-on): Check for alarm.
40830         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40831         Reported by Bastien ROUCARIES.
40833 2011-03-30  Bruno Haible  <bruno@clisp.org>
40835         c-strcasestr: Relicense under LGPLv2+.
40836         * modules/c-strcasestr (License): Change to LGPLv2+.
40837         Requested by Eric Blake, for libvirt.
40839 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40841         * users.txt: Add libidn2.  Fix libtasn1 link.
40843 2011-03-30  Jim Meyering  <meyering@redhat.com>
40845         tests: readlink* ("",... fails with EINVAL on newer kernels
40846         readlink and readlinkat have typically failed with ENOENT for
40847         the invalid, empty file name,  "".  However, with the advent
40848         of linux-2.6.39, they fail with EINVAL.
40849         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40850         when operating on the empty file name.
40851         * tests/test-readlink.h (test_readlink): Likewise.
40853 2011-03-29  Bruno Haible  <bruno@clisp.org>
40855         Relicense some modules under LGPLv2+, for libidn2.
40856         * modules/array-mergesort (License): Change to LGPLv2+.
40857         * modules/c-strcaseeq (License): Likewise.
40858         * modules/striconveh (License): Likewise.
40859         * modules/striconveha (License): Likewise.
40860         * modules/uniconv/base (License): Likewise.
40861         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40862         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40863         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40864         * modules/unictype/base (License): Likewise.
40865         * modules/unictype/bidiclass-of (License): Likewise.
40866         * modules/unictype/category-M (License): Likewise.
40867         * modules/unictype/category-none (License): Likewise.
40868         * modules/unictype/category-of (License): Likewise.
40869         * modules/unictype/category-test (License): Likewise.
40870         * modules/unictype/category-test-withtable (License): Likewise.
40871         * modules/unictype/combining-class (License): Likewise.
40872         * modules/unictype/joiningtype-of (License): Likewise.
40873         * modules/unictype/scripts (License): Likewise.
40874         * modules/uninorm/base (License): Likewise.
40875         * modules/uninorm/canonical-decomposition (License): Likewise.
40876         * modules/uninorm/composition (License): Likewise.
40877         * modules/uninorm/decompose-internal (License): Likewise.
40878         * modules/uninorm/decomposition-table (License): Likewise.
40879         * modules/uninorm/nfc (License): Likewise.
40880         * modules/uninorm/nfd (License): Likewise.
40881         * modules/uninorm/u32-normalize (License): Likewise.
40882         * modules/unistr/base (License): Likewise.
40883         * modules/unistr/u32-cpy (License): Likewise.
40884         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40885         * modules/unistr/u32-to-u8 (License): Likewise.
40886         * modules/unistr/u32-uctomb (License): Likewise.
40887         * modules/unistr/u8-check (License): Likewise.
40888         * modules/unistr/u8-mblen (License): Likewise.
40889         * modules/unistr/u8-mbtouc (License): Likewise.
40890         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40891         * modules/unistr/u8-mbtoucr (License): Likewise.
40892         * modules/unistr/u8-prev (License): Likewise.
40893         * modules/unistr/u8-strlen (License): Likewise.
40894         * modules/unistr/u8-to-u32 (License): Likewise.
40895         * modules/unistr/u8-uctomb (License): Likewise.
40896         * modules/unitypes (License): Likewise.
40897         Requested by Simon Josefsson.
40899 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40901         lib-symbol-visibility: Add a notice.
40902         * modules/lib-symbol-visibility (Notice): New field.
40904 2011-03-29  Bruno Haible  <bruno@clisp.org>
40906         getaddrinfo: Doc fix.
40907         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40908         section "fixed in Gnulib".
40910 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40912         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40913         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40915 2011-03-26  Bruno Haible  <bruno@clisp.org>
40917         unictype/property-byname: Reduce the number of load-time relocations.
40918         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40919         (UC_PROPERTY_INDEX_*): New enumeration values.
40920         (uc_property_byname): Convert an index from the lookup table to an
40921         uc_property_t.
40922         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40923         values.
40925 2011-03-26  Bruno Haible  <bruno@clisp.org>
40927         unictype/property-byname: Allow omitted word separators and aliases.
40928         * lib/unictype/pr_byname.gperf: Add property names without word
40929         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40930         for 'space'.
40932 2011-03-26  Bruno Haible  <bruno@clisp.org>
40934         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40935         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40936         also hyphens to space.
40937         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40938         without spaces.
40939         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40941 2011-03-26  Bruno Haible  <bruno@clisp.org>
40943         unictype/joiningtype-byname: Recognize long names as well.
40944         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40945         a long name.
40946         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40947         unictype/joiningtype_byname.h.
40948         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40949         * lib/unictype/joiningtype_byname.gperf: New file.
40950         * modules/unictype/joiningtype-byname (Files): Add
40951         lib/unictype/joiningtype_byname.gperf.
40952         (Depends-on): Add gperf.
40953         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40954         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40955         long names.
40957         Tests for module 'unictype/joiningtype-longname'.
40958         * modules/unictype/joiningtype-longname-tests: New file.
40959         * tests/unictype/test-joiningtype_longname.c: New file.
40961         New module 'unictype/joiningtype-longname'.
40962         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40963         * lib/unictype/joiningtype_longname.c: New file.
40964         * modules/unictype/joiningtype-longname: New file.
40965         * modules/unictype/joiningtype-all (Depends-on): Add
40966         unictype/joiningtype-longname.
40968 2011-03-26  Bruno Haible  <bruno@clisp.org>
40970         unictype/bidiclass-byname: Recognize long names as well.
40971         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
40972         name.
40973         * lib/unictype/bidi_byname.c: Include <string.h>,
40974         unictype/bidi_byname.h.
40975         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
40976         * lib/unictype/bidi_byname.gperf: New file.
40977         * modules/unictype/bidiclass-byname (Files): Add
40978         lib/unictype/bidi_byname.gperf.
40979         (Depends-on): Add gperf.
40980         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
40981         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
40982         long names.
40984         Tests for module 'unictype/bidiclass-longname'.
40985         * modules/unictype/bidiclass-longname-tests: New file.
40986         * tests/unictype/test-bidi_longname.c: New file.
40988         New module 'unictype/bidiclass-longname'.
40989         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
40990         * lib/unictype/bidi_longname.c: New file.
40991         * modules/unictype/bidiclass-longname: New file.
40992         * modules/unictype/bidiclass-all (Depends-on): Add
40993         unictype/bidiclass-longname.
40995 2011-03-26  Bruno Haible  <bruno@clisp.org>
40997         unictype/bidi*: Rename modules.
40998         * modules/unictype/bidiclass-all: Renamed from
40999         modules/unictype/bidicategory-all.
41000         * modules/unictype/bidiclass-name: Renamed from
41001         modules/unictype/bidiclass-name.
41002         (Description): Update.
41003         * modules/unictype/bidiclass-name-tests: Renamed from
41004         modules/unictype/bidicategory-name-tests.
41005         * modules/unictype/bidiclass-byname: Renamed from
41006         modules/unictype/bidicategory-byname.
41007         (Description): Update.
41008         * modules/unictype/bidiclass-byname-tests: Renamed from
41009         modules/unictype/bidicategory-byname-tests.
41010         * modules/unictype/bidiclass-of: Renamed from
41011         modules/unictype/bidicategory-of.
41012         (Description): Update.
41013         * modules/unictype/bidiclass-of-tests: Renamed from
41014         modules/unictype/bidicategory-of-tests.
41015         * modules/unictype/bidiclass-test: Renamed from
41016         modules/unictype/bidicategory-test.
41017         (Description): Update.
41018         * modules/unictype/bidiclass-test-tests: Renamed from
41019         modules/unictype/bidicategory-test-tests.
41020         * modules/unictype/bidicategory-all: New file, a simple redirection.
41021         * modules/unictype/bidicategory-name: Likewise.
41022         * modules/unictype/bidicategory-byname: Likewise.
41023         * modules/unictype/bidicategory-of: Likewise.
41024         * modules/unictype/bidicategory-test: Likewise.
41025         * modules/unictype/property-bidi-* (Dependencies): Update.
41026         * lib/unictype/bidi_*.c: Update comment.
41028 2011-03-26  Bruno Haible  <bruno@clisp.org>
41030         unictype/bidi*: Rename functions, part 2.
41031         * modules/unictype/bidicategory-name (configure.ac): Update required
41032         libunistring version.
41033         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
41035 2011-03-25  Bruno Haible  <bruno@clisp.org>
41037         New module 'unictype/combining-class-all'.
41038         * modules/unictype/combining-class-all: New file.
41040         Tests for module 'unictype/combining-class-byname'.
41041         * modules/unictype/combining-class-byname-tests: New file.
41042         * tests/unictype/test-combiningclass_byname.c: New file.
41044         New module 'unictype/combining-class-byname'.
41045         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
41046         * lib/unictype/combiningclass_byname.c: New file.
41047         * lib/unictype/combiningclass_byname.gperf: New file.
41048         * modules/unictype/combining-class-byname: New file.
41050         Tests for module 'unictype/combining-class-longname'.
41051         * modules/unictype/combining-class-longname-tests: New file.
41052         * tests/unictype/test-combiningclass_longname.c: New file.
41054         New module 'unictype/combining-class-longname'.
41055         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
41056         * lib/unictype/combiningclass_longname.c: New file.
41057         * modules/unictype/combining-class-longname: New file.
41059         Tests for module 'unictype/combining-class-name'.
41060         * modules/unictype/combining-class-name-tests: New file.
41061         * tests/unictype/test-combiningclass_name.c: New file.
41063         New module 'unictype/combining-class-name'.
41064         * lib/unictype.in.h (uc_combining_class_name): New declaration.
41065         * lib/unictype/combiningclass_name.c: New file.
41066         * modules/unictype/combining-class-name: New file.
41068 2011-03-25  Bruno Haible  <bruno@clisp.org>
41070         unictype/combining-class: Rename source files.
41071         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
41072         of unictype/combining.h.
41073         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
41074         Update.
41075         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
41076         * modules/unictype/combining-class (Description): Fix.
41077         (Files, Makefile.am): Update.
41078         * tests/unictype/test-combiningclass.c: Renamed from
41079         tests/unictype/test-combining.c.
41080         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
41082 2011-03-25  Bruno Haible  <bruno@clisp.org>
41084         unictype: Update list of canonical combining classes.
41085         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
41087 2011-03-25  Bruno Haible  <bruno@clisp.org>
41089         unictype/category-byname: Recognize long names as well.
41090         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
41091         a long name.
41092         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
41093         unictype/categ_byname.h.
41094         (UC_CATEGORY_INDEX_*): New enumeration values.
41095         (uc_general_category_byname): Use uc_general_category_lookup and
41096         convert from index to value.
41097         * lib/unictype/categ_byname.gperf: New file.
41098         * modules/unictype/category-byname (Files): Add
41099         lib/unictype/categ_byname.gperf.
41100         (Depends-on): Add gperf.
41101         (Makefile.am): Add rule for generating unictype/categ_byname.h.
41102         * tests/unictype/test-categ_byname.c (main): Test the recognition of
41103         long names.
41105         Tests for module 'unictype/category-longname'.
41106         * modules/unictype/category-longname-tests: New file.
41107         * tests/unictype/test-categ_longname.c: New file.
41109         New module 'unictype/category-longname'.
41110         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
41111         * lib/unictype/categ_longname.c: New file.
41112         * modules/unictype/category-longname: New file.
41113         * modules/unictype/category-all (Depends-on): Add it.
41115 2011-03-25  Bruno Haible  <bruno@clisp.org>
41117         Tests for module 'unictype/category-LC'.
41118         * modules/unictype/category-LC-tests: New file.
41119         * tests/unictype/test-categ_LC.c: New file, automatically generated.
41121         New module 'unictype/category-LC'.
41122         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
41123         (UC_CATEGORY_LC): New declaration.
41124         (UC_CASED_LETTER): New macro.
41125         * lib/gen-uni-tables.c (is_category_LC): New function.
41126         (output_categories): Also handle category LC.
41127         (UC_CATEGORY_MASK_LC): New enumeration value.
41128         (general_category_byname): Also handle category LC.
41129         * lib/unictype/categ_LC.c: New file.
41130         * lib/unictype/categ_LC.h: New file, automatically generated.
41131         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
41132         category LC.
41133         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
41134         * modules/unictype/category-LC: New file.
41135         * modules/unictype/category-byname (Depends-on): Add
41136         unictype/category-LC.
41137         * modules/unictype/category-all (Depends-on): Likewise.
41139 2011-03-25  Eric Blake  <eblake@redhat.com>
41141         xmalloc: revert yesterday's regression
41142         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
41143         realloc's underlying behavior (allowing allocation of zero-size
41144         objects, especially if malloc-gnu is also in use).
41146 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
41148         maint.mk: add missing version to VC-tag
41149         * top/maint.mk: git tag was missing actual tag name; add it.
41151         valgrind: do leak checking, and exit with code 1 on error (not 0)
41152         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
41153         to VALGRIND.
41155 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
41157         posix-modules: say what it does.
41158         * posix-modules: Add a line to the --help output saying what it does.
41160 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
41162         xmalloc: Do not leak if underlying realloc is C99 compatible.
41163         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
41164         This avoids a leak on C99-based systems.  See
41165         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
41167 2011-03-24  Eric Blake  <eblake@redhat.com>
41169         realloc: document portability problem
41170         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
41171         passing 0 size to realloc.
41173 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
41175         doc: update users.txt
41176         * users.txt: Add cvsps, tmpwatch
41178 2011-03-23  Matt Rice  <ratmice@gmail.com>
41180         doc: update users.txt
41181         * users.txt: Add gdb.
41183 2011-03-23  Jim Meyering  <meyering@redhat.com>
41185         doc: update users.txt
41186         Looking through matches up to the following URL (there are still
41187         several more pages), I found several projects that use gnulib:
41188         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
41189         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
41190         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
41192 2011-03-22  Bruno Haible  <bruno@clisp.org>
41194         unictype/bidi*: Rename functions.
41195         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
41196         uc_bidi_class, uc_is_bidi_class): New declarations.
41197         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
41198         uc_bidi_category_byname.
41199         (uc_bidi_category_byname): New function.
41200         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
41201         u_bidi_category_name.
41202         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
41203         (uc_bidi_category_name): New function.
41204         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
41205         uc_bidi_category.
41206         (uc_bidi_category): New function.
41207         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
41208         uc_is_bidi_category. Invoke uc_bidi_class.
41209         (uc_is_bidi_category): New function.
41210         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
41211         instead of uc_bidi_category_byname.
41212         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
41213         instead of uc_bidi_category_name.
41214         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
41215         uc_bidi_category.
41216         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
41217         instead of uc_is_bidi_category.
41219 2011-03-21  Bruno Haible  <bruno@clisp.org>
41221         New module 'unictype/joininggroup-all'.
41222         * modules/unictype/joininggroup-all: New file.
41224         Tests for module 'unictype/joininggroup-of'.
41225         * modules/unictype/joininggroup-of-tests: New file.
41226         * tests/unictype/test-joininggroup_of.c: New file.
41227         * tests/unictype/test-joininggroup_of.h: New file, automatically
41228         generated by gen-uni-tables.
41230         New module 'unictype/joininggroup-of'.
41231         * modules/unictype/joininggroup-of: New file.
41232         * lib/unictype/joininggroup_of.c: New file.
41233         * lib/unictype/joininggroup_of.h: New file, automatically generated by
41234         gen-uni-tables.
41236         Tests for module 'unictype/joininggroup-byname'.
41237         * modules/unictype/joininggroup-byname-tests: New file.
41238         * tests/unictype/test-joininggroup_byname.c: New file.
41240         New module 'unictype/joininggroup-byname'.
41241         * modules/unictype/joininggroup-byname: New file.
41242         * lib/unictype/joininggroup_byname.c: New file.
41243         * lib/unictype/joininggroup_byname.gperf: New file.
41245         Tests for module 'unictype/joininggroup-name'.
41246         * modules/unictype/joininggroup-name-tests: New file.
41247         * tests/unictype/test-joininggroup_name.c: New file.
41249         New module 'unictype/joininggroup-name'.
41250         * modules/unictype/joininggroup-name: New file.
41251         * lib/unictype/joininggroup_name.c: New file.
41252         * lib/unictype/joininggroup_name.h: New file.
41254         New module 'unictype/joiningtype-all'.
41255         * modules/unictype/joiningtype-all: New file.
41257         Tests for module 'unictype/joiningtype-of'.
41258         * modules/unictype/joiningtype-of-tests: New file.
41259         * tests/unictype/test-joiningtype_of.c: New file.
41260         * tests/unictype/test-joiningtype_of.h: New file, automatically
41261         generated by gen-uni-tables.
41263         New module 'unictype/joiningtype-of'.
41264         * modules/unictype/joiningtype-of: New file.
41265         * lib/unictype/joiningtype_of.c: New file.
41266         * lib/unictype/joiningtype_of.h: New file, automatically generated by
41267         gen-uni-tables.
41269         Tests for module 'unictype/joiningtype-byname'.
41270         * modules/unictype/joiningtype-byname-tests: New file.
41271         * tests/unictype/test-joiningtype_byname.c: New file.
41273         New module 'unictype/joiningtype-byname'.
41274         * modules/unictype/joiningtype-byname: New file.
41275         * lib/unictype/joiningtype_byname.c: New file.
41277         Tests for module 'unictype/joiningtype-name'.
41278         * modules/unictype/joiningtype-name-tests: New file.
41279         * tests/unictype/test-joiningtype_name.c: New file.
41281         New module 'unictype/joiningtype-name'.
41282         * modules/unictype/joiningtype-name: New file.
41283         * lib/unictype/joiningtype_name.c: New file.
41285         unictype: Add support for Arabic shaping properties.
41286         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
41287         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
41288         declarations.
41289         (UC_JOINING_GROUP_*): New enumeration values.
41290         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
41291         declarations.
41292         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
41293         (unicode_joining_type): New variable.
41294         (UC_JOINING_GROUP_*): New enumeration values.
41295         (unicode_joining_group): New variable.
41296         (fill_arabicshaping, joining_type_as_c_identifier,
41297         output_joining_type_test, output_joining_type,
41298         joining_group_as_c_identifier, output_joining_group_test,
41299         output_joining_group): New functions.
41300         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
41301         fill_arabicshaping and output_joining_type_test, output_joining_type,
41302         output_joining_group_test, output_joining_group.
41303         Reported by Simon Josefsson.
41305 2011-03-21  Jim Meyering  <meyering@redhat.com>
41307         strftime: fix a bug in yesterday's change
41308         * lib/strftime.c (add): Accommodate width's initial value of -1.
41309         Otherwise, nstrftime would copy uninitialized data into
41310         the result buffer.
41312 2011-03-21  Jim Meyering  <meyering@redhat.com>
41314         tests: add strftime-tests module
41315         * tests/test-strftime.c: New file.
41316         * modules/strftime-tests: New module.
41318 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41320         strftime: don't assume a byte count fits in 'int'
41321         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
41322         found this problem by static analysis, using gcc -Wstrict-overflow
41323         (GCC 4.5.2, x86-64).  This reported an optimization that depended
41324         on an integer overflow having undefined behavior, but it turns out
41325         that the argument is a size, which might not fit in 'int' anyway,
41327 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41329         stdio: don't require ignore_value around fwrite
41331         This patch works around libc bug 11959
41332         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
41333         Without this patch, applications must often write
41334         ignore_value (fwrite (...)) even though the ignore_value is
41335         not helpful here.  It's common to write many objects, using
41336         fwrite/printf/etc., and then use ferror to detect output error.
41338         I considered making this patch optional, but decided against it,
41339         because libc is obviously being inconsistent here: there is no
41340         reason libc should insist that user code must inspect fwrite
41341         return's value without also insisting that it inspect printf's,
41342         putchar's, etc.  If user code wants to have a strict style where
41343         all these functions' values are checked (so that ferror need not
41344         be checked), we could add support for that style in a new gnulib
41345         module, but in the meantime it's better to be consistent and to
41346         support common usage.
41348         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
41349         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
41350         that we are compiling in checking mode, and if not C++, and
41351         if not already wrapping fwrite for some other reason.
41352         (fwrite): #define to rpl_fwrite if the latter is defined.
41354 2011-03-20  Bruno Haible  <bruno@clisp.org>
41356         verror: Fix compilation error introduced on 2011-02-13.
41357         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
41358         instead of __attribute__.
41359         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41361 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41362             Bruno Haible  <bruno@clisp.org>
41364         socklen: do not depend on sys_socket
41365         While trying to modify Emacs to use gnulib's socklen module,
41366         I discovered a circular dependency: socklen depends on sys_socket
41367         and vice versa.  Emacs can use socklen, but it does not need
41368         sys_socket because it has its own substitute for sys/socket.h.
41369         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
41370         gl_TYPE_SOCKLEN_T.
41371         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
41372         gl_PREREQ_SYS_H_SOCKET.
41373         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
41374         gl_PREREQ_SYS_H_SOCKET.
41375         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
41376         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
41377         * modules/socklen (Depends-on): Do not depend on sys_socket.
41378         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
41380 2011-03-20  Jim Meyering  <meyering@redhat.com>
41382         maint.mk: sort file names *after* new transformation
41383         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
41384         prefix would have led to an unwarranted failure in GNU parted.
41385         Sort after that transformation.
41387 2011-03-19  Jim Meyering  <meyering@redhat.com>
41389         maint.mk: fix po-file syntax-check rule
41390         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
41391         Patch by Bruno Haible.
41393 2011-03-19  Bruno Haible  <bruno@clisp.org>
41395         socklen: Update comment.
41396         * m4/socklen.m4: Update comment about platforms.
41398 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41399             Bruno Haible  <bruno@clisp.org>
41401         inet_ntop, inet_pton: Simplify.
41402         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
41403         documented to provide socklen_t and we already depend on sys_socket.
41404         * modules/inet_pton (Depends-on): Likewise.
41405         * lib/arpa_inet.in.h: Adjust comment.
41407 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41408             Bruno Haible  <bruno@clisp.org>
41410         netdb: Simplify.
41411         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
41412         documented to provide socklen_t and we already depend on sys_socket.
41413         * lib/netdb.in.h: Adjust comment.
41415 2011-03-19  Bruno Haible  <bruno@clisp.org>
41417         sys_socket, netdb: Document problem with socklen_t.
41418         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
41419         platforms.
41420         * doc/posix-headers/netdb.texi: Likewise.
41422 2011-03-18  Eric Blake  <eblake@redhat.com>
41424         maint.mk: let po check work in VPATH build
41425         * top/maint.mk (po_file): Allow cfg.mk override.
41426         (sc_po_check): Allow VPATH use.
41427         Reported by Jiri Denemark.
41429 2011-03-16  Jim Meyering  <meyering@redhat.com>
41431         maint.mk: allow fine-grained syntax-check exclusion via Make variables
41432         Before, you would have had to create one .x-sc_ file per rule in order
41433         to exempt offending files.  Now, you may instead use a Make variable --
41434         usually defined in cfg.mk -- whose name identifies the affected rule.
41435         * top/maint.mk (_sc_excl): Define.
41436         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
41437         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
41439 2011-03-13  Bruno Haible  <bruno@clisp.org>
41441         ignore-value tests: Avoid warnings.
41442         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
41443         empty for gcc < 3.4.
41445 2011-03-13  Bruno Haible  <bruno@clisp.org>
41447         passfd: Fix link error on Solaris.
41448         * modules/passfd (Description): Correct.
41449         (Depends-on): Add socketlib.
41450         (Link): New section.
41451         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
41453 2011-03-13  Bruno Haible  <bruno@clisp.org>
41455         passfd: Fix link error on AIX 5.2.
41456         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
41458 2011-03-13  Bruno Haible  <bruno@clisp.org>
41460         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
41461         * lib/sys_socket.in.h: Include <stddef.h>.
41462         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
41463         CMSG_FIRSTHDR. Remove unused variable.
41465 2011-03-13  Bruno Haible  <bruno@clisp.org>
41467         passfd: Fix compilation error on OpenBSD.
41468         * lib/passfd.c: Include <sys/uio.h>.
41470 2011-03-13  Bruno Haible  <bruno@clisp.org>
41472         passfd test: Fix warnings.
41473         * tests/test-passfd.c: Include <sys/wait.h>.
41474         (main): Fix typo.
41476 2011-03-13  Bruno Haible  <bruno@clisp.org>
41478         passfd module, part 4, tweaks.
41479         * tests/test-passfd.c: Reorder includes.
41480         (main): Fix perror and printf calls.
41482 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41484         passfd module, part 4.
41485         * modules/passfd-tests: New file.
41486         * tests/test-passfd.c: New file.
41488 2011-03-13  Jim Meyering  <meyering@redhat.com>
41490         Makefile: rely on GNU make; derive syntax-check rule names
41491         Rather than requiring that each sc_ rule be listed as a dependent
41492         of "check", use features of GNU make to derive the list.
41493         * Makefile (syntax-check-rules): Define.
41494         (check): Depend on the new variable, not the hard-coded list.
41496 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
41497             Bruno Haible  <bruno@clisp.org>
41499         passfd module, part 3.
41500         * lib/passfd.h (recvfd): Add a flags argument.
41501         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
41502         (recvfd): Add a flags argument.
41503         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
41504         exists.
41505         * modules/passfd (Depends-on): Add cloexec.
41506         Suggested by Eric Blake.
41508 2011-03-13  Bruno Haible  <bruno@clisp.org>
41510         passfd module, part 2, tweaks.
41511         * modules/passfd (Files): Reorder.
41512         (Depends-on): Remove errno.
41513         (Include): Remove <sys/socket.h>, <sys/un.h>.
41514         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
41515         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
41516         specification header. Include <sys/socket.h> always. Don't include
41517         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
41518         (sendfd): Clarify that it sets errno when it fails.
41519         (recvfd): Fix specification.
41521 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41523         passfd module, part 2.
41524         * modules/passfd: New file.
41525         * lib/passfd.h: New file.
41526         * lib/passfd.c: New file.
41528 2011-03-12  Bruno Haible  <bruno@clisp.org>
41530         wcswidth, mbswidth: Avoid integer overflow.
41531         * lib/wcswidth.c: Include <limits.h>.
41532         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
41533         * lib/mbswidth.c: Include <limits.h>.
41534         (mbsnwidth): Avoid 'int' overflow.
41535         Reported by Jim Meyering.
41537 2011-03-12  Bruno Haible  <bruno@clisp.org>
41539         futimens, utimensat: Avoid endless recursion on Solaris 10.
41540         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
41541         Solaris.
41542         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
41543         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
41545 2011-03-11  Jim Meyering  <meyering@redhat.com>
41547         maint.mk: relax a regexp to accommodate other formatting styles
41548         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
41549         between "ngettext" and the following "(".
41551 2011-03-11  Pádraig Brady  <P@draigBrady.com>
41553         maint.mk: suppress a false positive warning
41554         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
41555         diagnostics are marked with ngettext.
41557 2011-03-10  Eric Blake  <eblake@redhat.com>
41559         wchar: add explicit dependencies, for Tru64
41560         * modules/mbmemcasecoll (Depends-on): Add wchar.
41561         * modules/mbtowc (Depends-on): Likewise.
41562         * modules/vasnprintf (Depends-on): Likewise.
41563         * modules/unistdio/u-printf-args (Depends-on): Likewise.
41564         * modules/wctomb (Depends-on): Likewise.
41565         Reported by Peter O'Gorman.
41567 2011-03-08  Bruno Haible  <bruno@clisp.org>
41569         passfd module, part 1, tweaks.
41570         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
41571         Improve indentation. Improve AC_MSG_CHECKING messages.
41572         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
41573         gl_SOCKET_FAMILIES.
41575 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41577         passfd module, part 1.
41578         * m4/afunix.m4: New file.
41579         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
41580         sockets.
41582 2011-03-08  Bruno Haible  <bruno@clisp.org>
41584         regex-quote: New API.
41585         * lib/regex-quote.h: Include <stdbool.h>.
41586         (struct regex_quote_spec): New type.
41587         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41588         New declarations.
41589         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41590         'const struct regex_quote_spec *' argument.
41591         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
41592         (pcre_special): New constant.
41593         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41594         New functions.
41595         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41596         'const struct regex_quote_spec *' argument.
41597         * modules/regex-quote (Depends-on): Add stdbool.
41598         * tests/test-regex-quote.c (check): Update for new API. Add test for
41599         anchored results.
41600         * NEWS: Mention the API change.
41601         Reported by Reuben Thomas and Eric Blake.
41603 2011-03-06  Bruno Haible  <bruno@clisp.org>
41605         regex-quote: Fix creation of POSIX extended regular expressions.
41606         * lib/regex-quote.c (ere_special): Add grouping and alternation
41607         operators.
41609 2011-03-05  Bruno Haible  <bruno@clisp.org>
41611         doc: Improve doc regarding autopoint vs. gnulib.
41612         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
41613         disable autopoint while running autoreconf.
41614         Suggested by Ralf Wildenhues.
41616 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41618         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
41619         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
41621 2011-03-03  Bruce Korb  <bkorb@gnu.org>
41623         parse-duration: remove xalloc.h dependency
41624         * lib/parse-duration.c (parse_period): handle NULL return from
41625         strdup instead of calling xstrdup().
41626         * modules/parse-duration: remove "xalloc" dependency
41628 2011-03-03  Matthew Booth  <mbooth@redhat.com>
41630         bootstrap: honor m4_base when running aclocal
41631         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
41633 2011-03-02  Jim Meyering  <meyering@redhat.com>
41635         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
41636         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
41637         on request from Matt Booth.
41639 2011-03-01  Eric Blake  <eblake@redhat.com>
41641         test-link: work on Hurd
41642         * tests/test-link.h (test_link): Hurd rejects linking directories
41643         with EISDIR instead of the POSIX-mandated EPERM.
41645 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
41647         stdio: simplify by moving files to printf-posix, sigpipe
41648         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
41649         since this symbol is needed only if printf is replaced.
41650         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
41651         Require gl_ASM_SYMBOL_PREFIX.
41652         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
41653         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
41654         (Depends-on): Add 'raise'.
41655         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
41656         * modules/stdio (Files): Remove lib/stdio-write.c,
41657         m4/asm-underscore.m4.
41658         (Depends-on): Remove 'raise'.
41660         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
41661         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
41662         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
41663         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
41665 2011-02-28  Bruno Haible  <bruno@clisp.org>
41667         localcharset: Assume ANSI C behaviour of free().
41668         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
41669         calling free().
41670         Suggested by Simon Josefsson <simon@josefsson.org>.
41672 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
41673             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
41674             Bruno Haible  <bruno@clisp.org>  (tiny change)
41676         On Cygwin, use /proc file system instead of win32 API.
41677         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
41678         Win32 file names.
41679         (DllMain): Simplify by removing Cygwin specific code.
41680         (find_shared_library_fullname): Use Linux specific implementation also
41681         for Cygwin.
41682         (get_shared_library_fullname): Update accordingly.
41683         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
41684         Win32 file names.
41685         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
41686         Cygwin specific code.
41688 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
41689             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
41691         Fix OpenMP flag detection for various Fortran compilers.
41692         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
41693         OpenMP-conditional compilation construct, to force compile
41694         failure with missing OpenMP flag.
41695         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
41697 2011-02-25  Eric Blake  <eblake@redhat.com>
41699         strstr: expand test coverage
41700         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
41701         compilation.
41702         * tests/test-memmem.c (main): Duplicate tests.
41703         * tests/test-strcasestr.c (main): Likewise.
41704         * tests/test-c-strcasestr.c (main): Likewise.
41706 2011-02-25  Jim Meyering  <meyering@redhat.com>
41708         maint.mk: detect missing-NL-at-EOF, too
41709         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
41710         it also detects when a file lacks a newline at EOF.
41711         (require_exactly_one_NL_at_EOF_): Renamed from
41712         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
41713         since people may well have .x-sc_... file names tied to the
41714         existing name.  Suggested by Eric Blake.
41716 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41718         dirname: move m4/dos.m4 functionality into lib/dosname.h
41720         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
41721         extracts symbols from it, puts them into config.h; but it's much
41722         easier to use the symbols directly.  filename.h already does this,
41723         but it disagrees with dos.m4 in some respects.  This patch
41724         introduces a different include file dosname.h that packages up
41725         dos.m4, and then later we can work on merging filename.h and
41726         dosname.h.  Applications that need only the easy-to-configure
41727         symbols should consider including dosname.h rather than dirname.h.
41728         * NEWS: Mention incompatible changes.
41729         * m4/dos.m4: Remove.
41730         * lib/dosname.h, modules/dosname: New files.
41731         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
41732         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
41733         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
41734         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
41735         Include dosname.h, not dirname.h.
41736         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
41737         Include dosname.h, for definitions of symbols like ISSLASH
41738         that used to be in config.h.
41739         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41740         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41741         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41742         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41743         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41744         * modules/rmdir (Files): Likewise.
41745         * modules/stat (Files): Likewise.
41746         * modules/unlink (Files): Likewise.
41747         * modules/dirname-lgpl (Depends-on): Add dosname.
41748         * modules/lstat (Depends-on): Likewise.
41749         * modules/openat (Depends-on): Likewise.
41750         * modules/rmdir (Depends-on): Likewise.
41751         * modules/savewd (Depends-on): Likewise.
41752         * modules/stat (Depends-on): Likewise.
41753         * modules/unlink (Depends-on): Likewise.
41754         * modules/openat (Depends-on): Remove dirname-lgpl.
41755         * modules/savewd (Depends-on): Likewise.
41756         * tests/test-dirname.c: Do not use removed symbols like
41757         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41758         the remaining symbols, e.g., ISSLASH ('\\').
41760 2011-02-25  Eric Blake  <eblake@redhat.com>
41762         strstr: revert patches that introduced bug and pessimization
41763         * lib/str-two-way.h: Add another reference.
41764         (two_way_short_needle, two_way_long_needle): Revert changes from
41765         2011-02-24; they pessimize search speed.
41766         (critical_factorization): Partially revert changes from
41767         2010-06-22; they violate the requirement that the left half of the
41768         needle be smaller than the period of the needle.
41770 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41772         filenamecat: remove unnecessary dependency on dirname-lgpl
41773         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41774         is no direct dependency, just an indirect one via filenamecat-lgpl.
41776         remove: remove unnecessary use of m4/dos.m4
41777         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41778         * modules/remove (FILES): Remove m4/dos.m4.
41780         * lib/openat-proc.c: Don't include dirname.h; not needed.
41782         backupfile: remove unnecessary use of m4/dos.m4
41783         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41784         of its symbols are used by the backupfile code.  backupfile.c does
41785         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41786         for the rare case of programs that want all their backup file
41787         names to live within 8+3 limits, and dos.m4 doesn't address that.
41788         * modules/backupfile (Files): Remove m4/dos.m4.
41790 2011-02-24  Jim Meyering  <meyering@redhat.com>
41792         strstr: fix a bug whereby strstr would mistakenly return NULL
41793         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41794         in period calculation.
41795         (two_way_long_needle): Likewise.
41796         The original problem was reported by Mike Stump in
41797         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41798         Ralf Wildenhues provided the short needle and haystack.
41799         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41800         Add a more involved test to trigger the bug in two_way_long_needle.
41802 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41804         gnulib-tool: remove use of bold display in help screen
41805         * gnulib-tool (func_usage): Do not use bold display anymore in the
41806         help screen.  That was just meant to be a temporary emphasis for a
41807         backward-incompatible change.
41809 2011-02-23  Bruno Haible  <bruno@clisp.org>
41811         Fix misindentation of preprocessor directives.
41812         * lib/argp-namefrob.h: Reindent preprocessor directives.
41813         * lib/getopt_int.h (struct _getopt_data): Likewise.
41814         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41815         * lib/vasnprintf.c (decode_long_double): Likewise.
41816         * tests/test-argmatch.c: Insert blank lines, for clarity.
41817         * tests/test-exclude.c: Likewise.
41819 2011-02-22  Bruno Haible  <bruno@clisp.org>
41821         ioctl: Fix for MacOS X in 64-bit mode.
41822         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41823         value.
41824         Suggested by Eric Blake.
41825         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41827 2011-02-22  Jim Meyering  <meyering@redhat.com>
41829         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41830         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41831         in lib/.
41833 2011-02-22  Eric Blake  <eblake@redhat.com>
41835         maint: avoid any CDPATH issue
41836         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41838         maint: adjust cpp indentation for my modules, as well
41839         * Makefile (sc_cpp_indent_check): Add my name.
41840         * lib/fbufmode.c: Filter through cppi.
41841         * lib/fpurge.c: Likewise.
41842         * lib/freadable.c: Likewise.
41843         * lib/freading.c: Likewise.
41844         * lib/fwritable.c: Likewise.
41845         * lib/fwriting.c: Likewise.
41846         * lib/sigaction.c: Likewise.
41848 2011-02-22  Jim Meyering  <meyering@redhat.com>
41850         maint: adjust cpp indentation to reflect nesting depth
41851         I.e., in a block of code that begins with an unnested "#if",
41852         put one space between the "#" in column 1 and following token.
41853         For example,
41854         -#include <sys/vfs.h>
41855         +# include <sys/vfs.h>
41856         Do this only in .c files that are part of a module I maintain.
41857         * lib/linkat.c: Filter through cppi.
41858         * lib/nanosleep.c: Likewise.
41859         * lib/openat.c: Likewise.
41860         * lib/openat-die.c: Likewise.
41861         * lib/dup3.c: Likewise.
41862         * lib/fchownat.c: Likewise.
41863         * lib/flock.c: Likewise.
41864         * lib/fsync.c: Likewise.
41865         * lib/fts.c: Likewise.
41866         * lib/getpass.c: Likewise.
41867         * lib/gettimeofday.c: Likewise.
41868         * lib/userspec.c: Likewise.
41869         * Makefile (sc_cpp_indent_check): New rule, to check this.
41871 2011-02-22  Bruno Haible  <bruno@clisp.org>
41873         New module 'wctomb'.
41874         * lib/stdlib.in.h (wctomb): New declaration.
41875         * lib/wctomb.c: New file.
41876         * lib/wctomb-impl.h: New file.
41877         * m4/wctomb.m4: New file.
41878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41879         REPLACE_WCTOMB.
41880         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41881         REPLACE_WCTOMB.
41882         * modules/wctomb: New file.
41883         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41884         * doc/posix-functions/wctomb.texi: Mention the new module.
41885         * modules/wctob (Depends-on): Add wctomb.
41887 2011-02-22  Bruno Haible  <bruno@clisp.org>
41889         New module 'mbtowc'.
41890         * lib/stdlib.in.h (mbtowc): New declaration.
41891         * lib/mbtowc.c: New file.
41892         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41893         * m4/mbtowc.m4: New file.
41894         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41895         REPLACE_MBTOWC.
41896         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41897         REPLACE_MBTOWC.
41898         * modules/mbtowc: New file.
41899         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41900         * doc/posix-functions/mbtowc.texi: Mention the new module.
41901         * modules/btowc (Depends-on): Add mbtowc.
41903 2011-02-22  Bruno Haible  <bruno@clisp.org>
41905         wcrtomb: Add more tests for native Windows platforms.
41906         * tests/test-wcrtomb-w32-1.sh: New file.
41907         * tests/test-wcrtomb-w32-2.sh: New file.
41908         * tests/test-wcrtomb-w32-3.sh: New file.
41909         * tests/test-wcrtomb-w32-4.sh: New file.
41910         * tests/test-wcrtomb-w32-5.sh: New file.
41911         * tests/test-wcrtomb-w32.c: New file.
41912         * modules/wcrtomb-tests (Files): Add them.
41913         (Makefile.am): Arrange to run these tests.
41914         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41915         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41917 2011-02-20  Bruno Haible  <bruno@clisp.org>
41919         wcrtomb: Enhance test.
41920         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41922 2011-02-20  Bruno Haible  <bruno@clisp.org>
41924         mbrtowc: Tiny optimization.
41925         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41927 2011-02-20  Jim Meyering  <meyering@redhat.com>
41929         test-exclude.c: remove unmatched #endif
41930         * tests/test-exclude.c: Remove stray #endif, left over from
41931         the change of a week ago.
41933 2011-02-19  Jim Meyering  <meyering@redhat.com>
41935         git-version-gen: skip "-dirty" check when appropriate
41936         * build-aux/git-version-gen: Don't run any git commands when the
41937         version string comes from .tarball-version.  Prior to this, we
41938         would run git update-index --refresh even from a just-unpacked
41939         tarball directory, and that could affect a .git/ directory in a
41940         parent of the build directory.  Reported by Mike Frysinger.
41942 2011-02-19  Bruno Haible  <bruno@clisp.org>
41944         unictype/property-byname: Reduce the size of the 'data' segment.
41945         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41947 2011-02-19  Bruno Haible  <bruno@clisp.org>
41949         unictype/scripts: Reduce the size of the 'data' segment.
41950         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41951         '%pic'.
41952         * lib/unictype/scripts_byname.gperf: Regenerated.
41954 2011-02-19  Bruno Haible  <bruno@clisp.org>
41956         stdint: Update documentation.
41957         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41959 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41961         stdint: omit redundant check for wchar.h
41962         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41963         always tests whether wchar.h exists, so remove the now-redundant test.
41965 2011-02-18  Bruno Haible  <bruno@clisp.org>
41967         stdint: Cut dependency to module 'wchar'.
41968         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
41969         include the necessary prerequisites.
41970         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
41971         * modules/stdint (Depends-on): Remove wchar.
41972         (Makefile.am): Substitute HAVE_WCHAR_H.
41973         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
41975 2011-02-18  Eric Blake  <eblake@redhat.com>
41977         longlong: skip, rather than fail, on cross-compilation
41978         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
41979         when cross-compiling; regression from 2011-02-16.
41981 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41983         * NEWS: Mention 2011-02-08 change to stdlib.
41985 2011-02-17  Bruno Haible  <bruno@clisp.org>
41987         getloadavg: Add comments about platforms.
41988         * m4/getloadavg.m4: Add comment.
41989         * lib/getloadavg.c: Likewise.
41991 2011-02-17  Bruno Haible  <bruno@clisp.org>
41993         getloadavg: Fix link error on Solaris 2.6.
41994         * modules/getloadavg (Link): New section.
41995         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
41996         linking test-getloadavg.
41997         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
41998         getloadavg.
42000 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42002         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
42003         It was 'int', but this doesn't match the IRIX 6.5 manual.
42004         Suggested by Bruno Haible in
42005         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
42007 2011-02-17  Bruno Haible  <bruno@clisp.org>
42009         havelib: Fix comments.
42010         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
42011         change.
42013 2011-02-17  Bruno Haible  <bruno@clisp.org>
42015         havelib: Update config.rpath.
42016         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
42018 2011-02-17  Bruno Haible  <bruno@clisp.org>
42020         getloadavg test: Add some plausibility checks.
42021         * tests/test-getloadavg.c (check_avg): Print a warning when the value
42022         is improbable.
42024 2011-02-16  Eric Blake  <eblake@redhat.com>
42026         maintainer-makefile: make syntax-check a no-op from tarballs
42027         * top/maint.mk (no-vc-detected): New rule.
42028         (local-checks-available): Use it to avoid hanging if someone tries
42029         'make syntax-check' from a tarball.  Also append to any non-syntax
42030         checks already defined in cfg.mk.
42032 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
42034         longlong: tune, particularly for common case of c99
42036         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
42037         or running anything if c99, or if unsigned long long int does not
42038         work.  In either case, we know the answer without further tests.
42039         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
42040         it at most once, and use its results for both long long int and
42041         unsigned long long int.  This is more likely to be efficient in
42042         the common case where the program wants to check for both long
42043         long int and unsigned long long int.
42044         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
42045         since the answer is already known.
42047 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
42049         getloadavg: set errno
42050         * lib/getloadavg.c: Set errno when returning -1.  If no other
42051         error number looks appropriate, set it to ENOSYS if the getloadavg
42052         looks like it can't possibly ever work, ENOTSUP otherwise.
42053         Suggested by Bruno Haible in
42054         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
42056         getloadavg: trim unused parts and speed up 'configure'
42057         * NEWS: Document this.
42058         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
42059         always compiled if getloadavg is absent.
42060         Move test code to ...
42061         * tests/test-getloadavg.c: New file, containing previous
42062         contents of test from lib/getloadavg.c.  It also contains
42063         suggestions by Bruno Haible in
42064         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
42065         * modules/getloadavg-tests: New file.
42066         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
42067         Do tests in the same order as they're needed for getloadavg.c.
42068         Omit setgid-related tests that generate symbols KMEM_GROUP,
42069         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
42070         Do only the tests that are needed to see whether the system has
42071         getloadavg, moving the other tests into ...
42072         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
42073         NLIST_NAME_UNION; nobody should be using it.  Do not define
42074         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
42075         relevant, as the user of this module shouldn't care how getloadavg
42076         is implemented.
42078         getloadavg: omit unused var
42079         * lib/getloadavg.c (getloadavg): Omit unused local variable.
42081 2011-02-15  Jim Meyering  <meyering@redhat.com>
42083         doc: update users.txt
42084         * users.txt: Update iwhd's URL.
42086 2011-02-13  Bruno Haible  <bruno@clisp.org>
42088         Consistent macro naming for macros that use GCC __attribute__.
42089         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
42090         _ATTRIBUTE_NONNULL_.
42091         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
42092         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
42093         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
42094         ATTRIBUTE_DEPRECATED.
42095         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
42096         ATTRIBUTE_NORETURN.
42097         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42098         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42099         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42100         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42101         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
42102         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
42103         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
42104         ATTRIBUTE_SENTINEL.
42105         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
42106         ATTRIBUTE_RETURN_CHECK.
42107         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
42108         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
42109         ATTRIBUTE_NORETURN.
42110         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
42111         Reported by Paul Eggert.
42113 2011-02-13  Bruno Haible  <bruno@clisp.org>
42115         Don't interfere with a program's definition of __attribute__.
42116         * lib/argp.h (__attribute__): Remove definition.
42117         (_GL_ATTRIBUTE_FORMAT): New macro.
42118         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
42119         * lib/argp-fmtstream.h (__attribute__): Remove definition.
42120         (_GL_ATTRIBUTE_FORMAT): New macro.
42121         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
42122         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
42123         GCC 3 or newer.
42124         * lib/error.h (__attribute__): Remove definition.
42125         (_GL_ATTRIBUTE_FORMAT): New macro.
42126         (error, error_at_line): Use it.
42127         * lib/hash.h (__attribute__): Remove definition.
42128         (ATTRIBUTE_WUR): Update definition. Define always.
42129         * lib/openat.h (__attribute__): Remove definition.
42130         (ATTRIBUTE_NORETURN): Update definition. Define always.
42131         * lib/sigpipe-die.h (__attribute__): Remove definition.
42132         (ATTRIBUTE_NORETURN): Update definition. Define always.
42133         * lib/vasnprintf.h (__attribute__): Remove definition.
42134         (_GL_ATTRIBUTE_FORMAT): New macro.
42135         (asnprintf, vasnprintf): Use it.
42136         * lib/xalloc.h (__attribute__): Remove definition.
42137         (ATTRIBUTE_NORETURN): Update definition. Define always.
42138         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
42139         * lib/xmemdup0.h (__attribute__): Remove definition.
42140         (ATTRIBUTE_NORETURN): Update definition. Define always.
42141         * lib/xprintf.h (__attribute__): Remove definition.
42142         (_GL_ATTRIBUTE_FORMAT): New macro.
42143         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
42144         * lib/xstrtol.h (__attribute__): Remove definition.
42145         (ATTRIBUTE_NORETURN): Update definition. Define always.
42146         * lib/xvasprintf.h (__attribute__): Remove definition.
42147         (_GL_ATTRIBUTE_FORMAT): New macro.
42148         (xasprintf, xvasprintf): Use it.
42149         * tests/test-argmatch.c (__attribute__): Remove definition.
42150         (ATTRIBUTE_NORETURN): Update definition. Define always.
42151         * tests/test-exclude.c (__attribute__): Remove definition.
42152         (ATTRIBUTE_NORETURN): Update definition. Define always.
42153         Reported by Paul Eggert.
42155 2011-02-13  Bruno Haible  <bruno@clisp.org>
42157         mbrtowc: Add more tests for native Windows platforms.
42158         * tests/test-mbrtowc-w32-1.sh: New file.
42159         * tests/test-mbrtowc-w32-2.sh: New file.
42160         * tests/test-mbrtowc-w32-3.sh: New file.
42161         * tests/test-mbrtowc-w32-4.sh: New file.
42162         * tests/test-mbrtowc-w32-5.sh: New file.
42163         * tests/test-mbrtowc-w32.c: New file.
42164         * modules/mbrtowc-tests (Files): Add them.
42165         (Makefile.am): Arrange to run these tests.
42166         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
42167         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
42169 2011-02-13  Bruno Haible  <bruno@clisp.org>
42171         mbrtowc: Work around native Windows bug.
42172         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
42173         guess when no suitable locale for testing was found.
42174         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
42176 2011-02-13  Bruno Haible  <bruno@clisp.org>
42178         mbsinit: Work around mingw bug.
42179         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
42180         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
42181         Windows.
42182         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
42184 2011-02-13  Bruno Haible  <bruno@clisp.org>
42186         mbsinit: Don't crash for a NULL argument.
42187         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
42188         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
42190 2011-02-13  Bruno Haible  <bruno@clisp.org>
42192         Don't interfere with a program's definition of __attribute__.
42193         * lib/stdio.in.h (__attribute__): Remove definition.
42194         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
42195         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
42196         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
42197         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
42198         * lib/string.in.h (__attribute__): Remove definition.
42199         Reported by Paul Eggert.
42201 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42203         stdlib: don't get in the way of non-GCC __attribute__
42204         See thread starting at
42205         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
42206         Revert previous stdlib change, installing the following instead:
42207         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
42208         to get in the way of a non-GCC compiler that supports __attribute__.
42209         (_GL_ATTRIBUTE_RETURN): New macro.
42210         (_Exit): Use it instead of __attribute__.
42212 2011-02-12  Bruno Haible  <bruno@clisp.org>
42214         quotearg test: Avoid test failure on mingw.
42215         * tests/test-quotearg.sh: Convert the locale identifier from native
42216         Windows syntax to Unix syntax.
42218 2011-02-12  Bruno Haible  <bruno@clisp.org>
42220         setlocale: Prefer gnulib's override over libintl's override.
42221         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
42222         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
42223         GNULIB_defined_setlocale is set.
42225 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42227         stdlib: support non-GCC __attribute__
42229         Fix a serious and tricky problem encountered when attempting to
42230         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
42231         5.5, but it crashed due to memory corruption on Solaris 10 with
42232         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
42233         bits that are otherwise zero.  This tagging is optional inside
42234         Emacs but is preferred and is used when __attribute__ ((__aligned
42235         (8))) works, as it does with both recent-enough GCC and with Sun C
42236         5.11.  However, Sun C 5.11 is not GCC and does not #define
42237         __GNUC__ and __GNUC_MINOR__.
42239         When I added the getloadavg module to Emacs, it brought in
42240         stdlib.in.h, which contained this fragment:
42242            #ifndef __attribute__
42243            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
42244            #  define __attribute__(Spec)   /* empty */
42245            # endif
42246            #endif
42248         When files that include <stdlib.h> were compiled with Sun C 5.11,
42249         the above code disabled __attribute__ ((__aligned (8))), which
42250         caused variables to not be properly aligned, which eventually led
42251         to the pointer corruption mentioned above.  (This was a bit hard
42252         to diagnose, unfortunately.)
42254         Several "#define __attribute__(X) /* empty */" code snippets need
42255         to be eradicated from Gnulib to work with non-GCC compilers that
42256         support __attribute__.  The Autoconf way to do this is to test for
42257         each kind of attribute that we want support for, and selectively
42258         enable that in source code.
42260         Fix this problem just for stdlib.h, by adding a test for the
42261         __noreturn__ attribute, and change stdlib.in.h to use that test
42262         when needed.  This technique can be easily generalized to the
42263         other *.in.h files and attributes, and a similar technique can be
42264         used for *.h and *.c files.  This patch is enough to solve the
42265         problem for Emacs + getloadavg, and I thought I'd publish it for
42266         feedback before undertaking further, similar fixes in other
42267         modules.
42269         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
42270         because it's not needed for stdlib.h.  It merely substitutes the
42271         value directly into stdlib.h.  We may well need to #define it, or
42272         similar symbols, for other modules, but it's nice to also have an
42273         option to not #define it for applications like Emacs that do not
42274         need it.
42276         * lib/stdlib.in.h (__attribute__): Do not #define.
42277         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
42278         be defined only if the _Exit module is also used.
42279         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
42280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
42281         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
42282         platforms.
42283         * modules/_Exit (Files): Add m4/attribute.m4.
42284         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
42285         * m4/attribute.m4: New file.
42287 2011-02-12  Bruno Haible  <bruno@clisp.org>
42289         wcsrtombs: Work around bug on native Windows.
42290         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
42291         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
42292         instead of len.
42293         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
42295 2011-02-12  Bruno Haible  <bruno@clisp.org>
42297         mbsrtowcs: Work around bug on native Windows.
42298         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
42299         against mingw bug.
42300         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
42302 2011-02-12  Bruno Haible  <bruno@clisp.org>
42304         Avoid setlocale bugs in tests.
42305         * modules/btowc (Dependencies): Add setlocale.
42306         * modules/c-strcase (Dependencies): Likewise.
42307         * modules/mbmemcasecmp (Dependencies): Likewise.
42308         * modules/mbmemcasecoll (Dependencies): Likewise.
42309         * modules/mbrtowc (Dependencies): Likewise.
42310         * modules/mbscasecmp (Dependencies): Likewise.
42311         * modules/mbscasestr (Dependencies): Likewise.
42312         * modules/mbschr (Dependencies): Likewise.
42313         * modules/mbscspn (Dependencies): Likewise.
42314         * modules/mbsinit (Dependencies): Likewise.
42315         * modules/mbsncasecmp (Dependencies): Likewise.
42316         * modules/mbsnrtowcs (Dependencies): Likewise.
42317         * modules/mbspbrk (Dependencies): Likewise.
42318         * modules/mbspcasecmp (Dependencies): Likewise.
42319         * modules/mbsrchr (Dependencies): Likewise.
42320         * modules/mbsrtowcs (Dependencies): Likewise.
42321         * modules/mbsspn (Dependencies): Likewise.
42322         * modules/mbsstr (Dependencies): Likewise.
42323         * modules/nl_langinfo (Dependencies): Likewise.
42324         * modules/quotearg (Dependencies): Likewise.
42325         * modules/unicase/locale-language (Dependencies): Likewise.
42326         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
42327         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
42328         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
42329         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
42330         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
42331         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
42332         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
42333         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
42334         * modules/vasnprintf-posix (Dependencies): Likewise.
42335         * modules/wcrtomb (Dependencies): Likewise.
42336         * modules/wcsnrtombs (Dependencies): Likewise.
42337         * modules/wcsrtombs (Dependencies): Likewise.
42339 2011-02-12  Bruno Haible  <bruno@clisp.org>
42341         setlocale: Workaround native Windows bug.
42342         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
42343         succeeds but sets LC_CTYPE to "C", report a failure.
42344         * tests/test-setlocale2.sh: New file.
42345         * tests/test-setlocale2.c: New file.
42346         * modules/setlocale-tests (Files): Add the new files.
42347         (Makefile.am): Enable test-setlocale2.sh test.
42348         * doc/posix-functions/setlocale.texi: Mention workaround.
42350 2011-02-11  Bruno Haible  <bruno@clisp.org>
42352         Tests for module 'setlocale'.
42353         * modules/setlocale-tests: New file.
42354         * tests/test-setlocale1.sh: New file.
42355         * tests/test-setlocale1.c: New file.
42357         New module 'setlocale'.
42358         * lib/locale.in.h (setlocale): New declaration.
42359         * lib/setlocale.c: New file, based on
42360         gettext/gettext-runtime/intl/setlocale.c.
42361         * m4/setlocale.m4: New file.
42362         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
42363         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
42364         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
42365         REPLACE_SETLOCALE.
42366         * modules/setlocale: New file.
42367         * tests/test-locale-c++.cc: Test the declaration of setlocale.
42368         * doc/posix-functions/setlocale.texi: Mention the new module.
42370 2011-02-11  Bruno Haible  <bruno@clisp.org>
42372         Prepare for locale dependent tests on mingw.
42373         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
42374         because it has the wrong locale encoding.
42375         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
42376         French_France.1252 instead of "fr".
42377         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
42378         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
42379         because it has the wrong locale encoding.
42380         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
42381         native Windows, try Turkish_Turkey.65001.
42382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
42383         Chinese_China.54936.
42385         Prepare for locale dependent tests on mingw.
42386         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
42387         differently.
42388         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
42389         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
42390         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42391         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42393 2011-02-11  Eric Blake  <eblake@redhat.com>
42395         strptime: avoid compiler warnings
42396         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
42397         compiler warnings about dead code.
42398         Reported by Daniel P. Berrange.
42400 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
42402         doc: update users.txt
42403         * users.txt: Add rcs.
42405 2011-02-10  John W. Eaton  <jwe@gnu.org>
42407         doc: update users.txt
42408         * users.txt: Add octave.
42410 2011-02-10  Jim Meyering  <meyering@redhat.com>
42412         doc: update users.txt
42413         * users.txt: Add iwhd.
42415 2011-02-09  Bruno Haible  <bruno@clisp.org>
42417         gnulib-tool: Make copyright notice adjustment more robust.
42418         * gnulib-tool (func_import): In sed_transform_main_lib_file,
42419         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
42420         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
42421         License".
42422         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
42424 2011-02-06  Bruno Haible  <bruno@clisp.org>
42426         New module 'towctrans'.
42427         * modules/towctrans: New file.
42428         * lib/wctype.in.h (towctrans): New declaration.
42429         * lib/towctrans.c: New file.
42430         * lib/towctrans-impl.h: New file.
42431         * m4/towctrans.m4: New file.
42432         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
42433         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
42434         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
42435         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
42436         * doc/posix-functions/towctrans.texi: Mention the new module.
42438 2011-02-06  Bruno Haible  <bruno@clisp.org>
42440         New module 'wctrans'.
42441         * modules/wctrans: New file.
42442         * lib/wctype.in.h (wctrans): New declaration.
42443         * lib/wctrans.c: New file.
42444         * lib/wctrans-impl.h: New file.
42445         * m4/wctrans.m4: New file.
42446         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
42447         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
42448         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
42449         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
42450         * doc/posix-functions/wctrans.texi: Mention the new module.
42452 2011-02-06  Bruno Haible  <bruno@clisp.org>
42454         New module 'iswctype'.
42455         * modules/iswctype: New file.
42456         * lib/wctype.in.h (iswctype): New declaration.
42457         * lib/iswctype.c: New file.
42458         * lib/iswctype-impl.h: New file.
42459         * m4/iswctype.m4: New file.
42460         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
42461         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
42462         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
42463         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
42464         * doc/posix-functions/iswctype.texi: Mention the new module and the
42465         HP-UX 11.00 problem.
42467 2011-02-06  Bruno Haible  <bruno@clisp.org>
42469         New module 'wctype'.
42470         * modules/wctype: Change to represent the wctype() substitute.
42471         * lib/wctype.in.h (wctype): New declaration.
42472         * lib/wctype.c: New file.
42473         * lib/wctype-impl.h: New file.
42474         * m4/wctype.m4: New file.
42475         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
42476         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
42477         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
42478         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
42479         * doc/posix-functions/wctype.texi: Mention the new module and the
42480         HP-UX 11.00 problem.
42482 2011-02-06  Bruno Haible  <bruno@clisp.org>
42484         wctype-h: Ensure wctype_t and wctrans_t are defined.
42485         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
42486         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42487         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42488         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
42489         HAVE_WCTRANS_T.
42490         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
42492 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42494         flock: fix license typo
42496         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
42497         omitted.
42499 2011-02-08  Bruno Haible  <bruno@clisp.org>
42501         Split large sed scripts, for HP-UX sed.
42502         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
42503         to avoid HP-UX limit of 99 commands, in the near future.
42504         * modules/stdlib (Makefile.am): Likewise.
42505         * modules/unistd (Makefile.am): Likewise.
42506         * modules/wchar (Makefile.am): Likewise.
42507         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42508         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
42509         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
42511 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42512             Bruno Haible  <bruno@clisp.org>
42514         stdlib: improve random_r modularization
42515         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
42516         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
42517         you also need the random_r module to get this material right.
42518         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
42519         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
42520         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
42522 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42524         stdlib: don't depend on stdint
42525         * lib/stdlib.in.h: Don't include <stdint.h> merely because
42526         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
42527         be independent of whether stdint.h is needed.
42528         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
42529         here, instead of ...
42530         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
42531         struct random_data should be using the random_r module, not just
42532         the stdlib module (which wouldn't make sense: what package needs
42533         just struct random_data without also needing random_r?).
42534         * modules/stdlib (Depends-on): Remove stdint.
42536         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
42537         See the thread rooted at
42538         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
42539         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
42540         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
42541         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
42542         __VMS)); previously it was always included (via fcntl--.h).
42543         (getloadavg): Do not use c_strtod.  Instead, approximate it by
42544         hand; this is good enough for load averages.  Also, do not use
42545         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
42546         flags directly if available and don't bother otherwise.  (Packages
42547         that need the extra reliability should use the modules that define
42548         these flags on older platforms that lack them.)
42549         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
42550         fcntl-safer.
42552 2011-02-08  Jim Meyering  <meyering@redhat.com>
42554         di-set.h, ino-map.h: add multiple-inclusion guard
42555         Technically, the guard is required only for ino-map.h, due to its
42556         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
42557         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
42558         * lib/ino-map.h: Likewise.
42560 2011-02-06  Bruno Haible  <bruno@clisp.org>
42562         iswblank: Ensure declaration on glibc systems.
42563         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
42564         * modules/iswblank (Dependencies): Add 'extensions'.
42565         * doc/posix-functions/iswblank.texi: Document the glibc problem.
42567 2011-02-06  Bruno Haible  <bruno@clisp.org>
42569         New module 'iswblank'.
42570         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
42571         * modules/iswblank: New file.
42572         * modules/wctype-h (Files): Remove lib/iswblank.c.
42573         (Makefile.am): Substitute GNULIB_ISWBLANK.
42574         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
42575         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
42576         (gl_WCTYPE_H_DEFAULTS): New macro.
42577         (gl_WCTYPE_H): Require it. Remove iswblank related code.
42578         * modules/iswblank-tests: New file.
42579         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
42580         * tests/test-wctype-h.c (main): Remove iswblank tests.
42581         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
42582         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
42583         of 'wctype-h'.
42584         * NEWS: Mention the change.
42585         * modules/mbchar (Depends-on): Add iswblank.
42587 2011-02-08  Bruno Haible  <bruno@clisp.org>
42589         di-set tests: Refactor.
42590         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
42591         unnecessary includes.
42592         (ASSERT): Remove macro.
42593         (main): Make C90 compliant by avoiding variable declaration after
42594         statement.
42595         * modules/di-set-tests (Files): Add tests/macros.h.
42597 2011-02-08  Bruno Haible  <bruno@clisp.org>
42599         ino-map tests: Refactor.
42600         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
42601         unnecessary includes.
42602         (ASSERT): Remove macro.
42603         (main): Make C90 compliant by avoiding variable declaration after
42604         statement.
42605         * modules/ino-map-tests (Files): Add tests/macros.h.
42607 2011-02-08  Jim Meyering  <meyering@redhat.com>
42609         di-set: add "const" to a cast
42610         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
42611         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
42613 2011-02-06  Bruno Haible  <bruno@clisp.org>
42615         Rename module 'wctype' to 'wctype-h'.
42616         * modules/wctype-h: Renamed from modules/wctype.
42617         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
42618         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
42619         (Files, Depends-on, Makefile.am): Update.
42620         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
42621         (Files, Makefile.am): Update.
42622         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
42623         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
42624         * doc/posix-headers/wctype.texi: Update.
42625         * doc/posix-functions/iswalnum.texi: Update.
42626         * doc/posix-functions/iswalpha.texi: Update.
42627         * doc/posix-functions/iswblank.texi: Update.
42628         * doc/posix-functions/iswcntrl.texi: Update.
42629         * doc/posix-functions/iswdigit.texi: Update.
42630         * doc/posix-functions/iswgraph.texi: Update.
42631         * doc/posix-functions/iswlower.texi: Update.
42632         * doc/posix-functions/iswprint.texi: Update.
42633         * doc/posix-functions/iswpunct.texi: Update.
42634         * doc/posix-functions/iswspace.texi: Update.
42635         * doc/posix-functions/iswupper.texi: Update.
42636         * doc/posix-functions/iswxdigit.texi: Update.
42637         * doc/posix-functions/towlower.texi: Update.
42638         * doc/posix-functions/towupper.texi: Update.
42639         * NEWS: Mention the change.
42640         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
42641         * modules/mbchar (Dependencies): Likewise.
42642         * modules/mbswidth (Dependencies): Likewise.
42643         * modules/quotearg (Dependencies): Likewise.
42644         * modules/regex (Dependencies): Likewise.
42645         * modules/wcscasecmp (Dependencies): Likewise.
42646         * modules/wcsncasecmp (Dependencies): Likewise.
42647         * modules/wcwidth (Dependencies): Likewise.
42649 2011-02-06  Bruno Haible  <bruno@clisp.org>
42651         New module 'wcswidth'.
42652         * modules/wcswidth: New file.
42653         * lib/wchar.in.h (wcswidth): New declaration.
42654         * lib/wcswidth.c: New file.
42655         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
42656         * m4/wcswidth.m4: New file.
42657         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
42658         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
42659         REPLACE_WCSWIDTH.
42660         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
42661         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
42662         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
42663         * doc/posix-functions/wcswidth.texi: Mention the new module.
42665 2011-02-06  Bruno Haible  <bruno@clisp.org>
42667         New module 'wcstok'.
42668         * modules/wcstok: New file.
42669         * lib/wchar.in.h (wcstok): New declaration.
42670         * lib/wcstok.c: New file.
42671         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
42672         * m4/wcstok.m4: New file.
42673         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
42674         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
42675         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
42676         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
42677         * doc/posix-functions/wcstok.texi: Mention the new module.
42679 2011-02-06  Bruno Haible  <bruno@clisp.org>
42681         New module 'wcsstr'.
42682         * modules/wcsstr: New file.
42683         * lib/wchar.in.h (wcsstr): New declaration.
42684         * lib/wcsstr.c: New file.
42685         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
42686         * m4/wcsstr.m4: New file.
42687         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
42688         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
42689         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
42690         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
42691         * doc/posix-functions/wcsstr.texi: Mention the new module.
42693 2011-02-06  Bruno Haible  <bruno@clisp.org>
42695         New module 'wcspbrk'.
42696         * modules/wcspbrk: New file.
42697         * lib/wchar.in.h (wcspbrk): New declaration.
42698         * lib/wcspbrk.c: New file.
42699         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
42700         * m4/wcspbrk.m4: New file.
42701         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
42702         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
42703         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
42704         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
42705         * doc/posix-functions/wcspbrk.texi: Mention the new module.
42707 2011-02-06  Bruno Haible  <bruno@clisp.org>
42709         New module 'wcsspn'.
42710         * modules/wcsspn: New file.
42711         * lib/wchar.in.h (wcsspn): New declaration.
42712         * lib/wcsspn.c: New file.
42713         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
42714         * m4/wcsspn.m4: New file.
42715         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
42716         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
42717         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
42718         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
42719         * doc/posix-functions/wcsspn.texi: Mention the new module.
42721 2011-02-06  Bruno Haible  <bruno@clisp.org>
42723         New module 'wcscspn'.
42724         * modules/wcscspn: New file.
42725         * lib/wchar.in.h (wcscspn): New declaration.
42726         * lib/wcscspn.c: New file.
42727         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
42728         * m4/wcscspn.m4: New file.
42729         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
42730         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
42731         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
42732         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
42733         * doc/posix-functions/wcscspn.texi: Mention the new module.
42735 2011-02-06  Bruno Haible  <bruno@clisp.org>
42737         New module 'wcsrchr'.
42738         * modules/wcsrchr: New file.
42739         * lib/wchar.in.h (wcsrchr): New declaration.
42740         * lib/wcsrchr.c: New file.
42741         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42742         * m4/wcsrchr.m4: New file.
42743         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42744         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42745         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42746         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42747         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42749 2011-02-06  Bruno Haible  <bruno@clisp.org>
42751         New module 'wcschr'.
42752         * modules/wcschr: New file.
42753         * lib/wchar.in.h (wcschr): New declaration.
42754         * lib/wcschr.c: New file.
42755         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42756         * m4/wcschr.m4: New file.
42757         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42758         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42759         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42760         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42761         * doc/posix-functions/wcschr.texi: Mention the new module.
42763 2011-02-06  Bruno Haible  <bruno@clisp.org>
42765         New module 'wcsdup'.
42766         * modules/wcsdup: New file.
42767         * lib/wchar.in.h (wcsdup): New declaration.
42768         * lib/wcsdup.c: New file.
42769         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42770         * m4/wcsdup.m4: New file.
42771         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42772         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42773         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42774         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42775         * doc/posix-functions/wcsdup.texi: Mention the new module.
42777 2011-02-06  Bruno Haible  <bruno@clisp.org>
42779         New module 'wcsxfrm'.
42780         * modules/wcsxfrm: New file.
42781         * lib/wchar.in.h (wcsxfrm): New declaration.
42782         * lib/wcsxfrm.c: New file.
42783         * lib/wcsxfrm-impl.h: New file.
42784         * m4/wcsxfrm.m4: New file.
42785         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42786         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42787         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42788         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42789         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42791 2011-02-06  Bruno Haible  <bruno@clisp.org>
42793         New module 'wcscoll'.
42794         * modules/wcscoll: New file.
42795         * lib/wchar.in.h (wcscoll): New declaration.
42796         * lib/wcscoll.c: New file.
42797         * lib/wcscoll-impl.h: New file.
42798         * m4/wcscoll.m4: New file.
42799         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42800         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42801         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42802         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42803         * doc/posix-functions/wcscoll.texi: Mention the new module.
42805 2011-02-06  Bruno Haible  <bruno@clisp.org>
42807         New module 'wcsncasecmp'.
42808         * modules/wcsncasecmp: New file.
42809         * lib/wchar.in.h (wcsncasecmp): New declaration.
42810         * lib/wcsncasecmp.c: New file.
42811         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42812         * m4/wcsncasecmp.m4: New file.
42813         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42814         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42815         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42816         HAVE_WCSNCASECMP.
42817         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42818         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42820 2011-02-06  Bruno Haible  <bruno@clisp.org>
42822         New module 'wcscasecmp'.
42823         * modules/wcscasecmp: New file.
42824         * lib/wchar.in.h (wcscasecmp): New declaration.
42825         * lib/wcscasecmp.c: New file.
42826         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42827         * m4/wcscasecmp.m4: New file.
42828         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42829         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42830         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42831         HAVE_WCSCASECMP.
42832         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42833         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42835 2011-02-05  Bruno Haible  <bruno@clisp.org>
42837         New module 'wcsncmp'.
42838         * modules/wcsncmp: New file.
42839         * lib/wchar.in.h (wcsncmp): New declaration.
42840         * lib/wcsncmp.c: New file.
42841         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42842         * m4/wcsncmp.m4: New file.
42843         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42844         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42845         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42846         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42847         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42849 2011-02-05  Bruno Haible  <bruno@clisp.org>
42851         New module 'wcscmp'.
42852         * modules/wcscmp: New file.
42853         * lib/wchar.in.h (wcscmp): New declaration.
42854         * lib/wcscmp.c: New file.
42855         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42856         * m4/wcscmp.m4: New file.
42857         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42858         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42859         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42860         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42861         * doc/posix-functions/wcscmp.texi: Mention the new module.
42863 2011-02-05  Bruno Haible  <bruno@clisp.org>
42865         New module 'wcsncat'.
42866         * modules/wcsncat: New file.
42867         * lib/wchar.in.h (wcsncat): New declaration.
42868         * lib/wcsncat.c: New file.
42869         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42870         * m4/wcsncat.m4: New file.
42871         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42872         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42873         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42874         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42875         * doc/posix-functions/wcsncat.texi: Mention the new module.
42877 2011-02-05  Bruno Haible  <bruno@clisp.org>
42879         New module 'wcscat'.
42880         * modules/wcscat: New file.
42881         * lib/wchar.in.h (wcscat): New declaration.
42882         * lib/wcscat.c: New file.
42883         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42884         * m4/wcscat.m4: New file.
42885         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42886         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42887         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42888         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42889         * doc/posix-functions/wcscat.texi: Mention the new module.
42891 2011-02-05  Bruno Haible  <bruno@clisp.org>
42893         New module 'wcpncpy'.
42894         * modules/wcpncpy: New file.
42895         * lib/wchar.in.h (wcpncpy): New declaration.
42896         * lib/wcpncpy.c: New file.
42897         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42898         * m4/wcpncpy.m4: New file.
42899         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42900         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42901         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42902         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42903         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42905 2011-02-05  Bruno Haible  <bruno@clisp.org>
42907         New module 'wcsncpy'.
42908         * modules/wcsncpy: New file.
42909         * lib/wchar.in.h (wcsncpy): New declaration.
42910         * lib/wcsncpy.c: New file.
42911         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42912         * m4/wcsncpy.m4: New file.
42913         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42914         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42915         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42916         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42917         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42919 2011-02-05  Bruno Haible  <bruno@clisp.org>
42921         New module 'wcpcpy'.
42922         * modules/wcpcpy: New file.
42923         * lib/wchar.in.h (wcpcpy): New declaration.
42924         * lib/wcpcpy.c: New file.
42925         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42926         * m4/wcpcpy.m4: New file.
42927         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42928         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42929         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42930         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42931         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42933 2011-02-05  Bruno Haible  <bruno@clisp.org>
42935         New module 'wcscpy'.
42936         * modules/wcscpy: New file.
42937         * lib/wchar.in.h (wcscpy): New declaration.
42938         * lib/wcscpy.c: New file.
42939         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42940         * m4/wcscpy.m4: New file.
42941         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42942         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42943         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42944         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42945         * doc/posix-functions/wcscpy.texi: Mention the new module.
42947 2011-02-05  Bruno Haible  <bruno@clisp.org>
42949         New module 'wcsnlen'.
42950         * modules/wcsnlen: New file.
42951         * lib/wchar.in.h (wcsnlen): New declaration.
42952         * lib/wcsnlen.c: New file.
42953         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42954         * m4/wcsnlen.m4: New file.
42955         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42956         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42957         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42958         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42959         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42961 2011-02-05  Bruno Haible  <bruno@clisp.org>
42963         New module 'wcslen'.
42964         * modules/wcslen: New file.
42965         * lib/wchar.in.h (wcslen): New declaration.
42966         * lib/wcslen.c: New file.
42967         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
42968         * m4/wcslen.m4: New file.
42969         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
42970         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
42971         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
42972         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
42973         * doc/posix-functions/wcslen.texi: Mention the new module.
42975 2011-02-05  Bruno Haible  <bruno@clisp.org>
42977         New module 'wmemset'.
42978         * modules/wmemset: New file.
42979         * lib/wchar.in.h (wmemset): New declaration.
42980         * lib/wmemset.c: New file.
42981         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
42982         * m4/wmemset.m4: New file.
42983         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
42984         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
42985         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
42986         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
42987         * doc/posix-functions/wmemset.texi: Mention the new module.
42989 2011-02-05  Bruno Haible  <bruno@clisp.org>
42991         New module 'wmemmove'.
42992         * modules/wmemmove: New file.
42993         * lib/wchar.in.h (wmemmove): New declaration.
42994         * lib/wmemmove.c: New file.
42995         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
42996         * m4/wmemmove.m4: New file.
42997         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
42998         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
42999         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
43000         HAVE_WMEMMOVE.
43001         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
43002         * doc/posix-functions/wmemmove.texi: Mention the new module.
43004 2011-02-05  Bruno Haible  <bruno@clisp.org>
43006         New module 'wmemcpy'.
43007         * modules/wmemcpy: New file.
43008         * lib/wchar.in.h (wmemcpy): New declaration.
43009         * lib/wmemcpy.c: New file.
43010         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
43011         * m4/wmemcpy.m4: New file.
43012         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
43013         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
43014         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
43015         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
43016         * doc/posix-functions/wmemcpy.texi: Mention the new module.
43018 2011-02-05  Bruno Haible  <bruno@clisp.org>
43020         New module 'wmemcmp'.
43021         * modules/wmemcmp: New file.
43022         * lib/wchar.in.h (wmemcmp): New declaration.
43023         * lib/wmemcmp.c: New file.
43024         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
43025         * m4/wmemcmp.m4: New file.
43026         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
43027         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
43028         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
43029         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
43030         * doc/posix-functions/wmemcmp.texi: Mention the new module.
43032 2011-02-07  Jim Meyering  <meyering@redhat.com>
43034         di-set, ino-map: new modules, from coreutils
43035         * lib/di-set.c: New file.
43036         * lib/di-set.h: Likewise.
43037         * lib/ino-map.c: Likewise.
43038         * lib/ino-map.h: Likewise.
43039         * modules/di-set: Likewise.
43040         * modules/di-set-tests: Likewise.
43041         * modules/ino-map: Likewise.
43042         * modules/ino-map-tests: Likewise.
43043         * tests/test-di-set.c: Likewise.
43044         * tests/test-ino-map.c: Likewise.
43046 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
43048         getloadavg: merge minor changes from Emacs
43050         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
43051         (getloadavg): Use memset, not bzero.
43053         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
43054         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
43055         clash (bug#86).
43057 2010-11-14  Bruno Haible  <bruno@clisp.org>
43059         Allow multiple gnulib generated replacements to coexist.
43060         * lib/getopt.in.h (struct option): Avoid identical redefinition.
43061         * lib/inttypes.in.h (imaxdiv_t): Likewise.
43062         * lib/langinfo.in.h (nl_item): Likewise.
43063         * lib/math.in.h (_NaN, NAN): Likewise.
43064         * lib/netdb.in.h (struct addrinfo): Likewise.
43065         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
43066         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
43067         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
43068         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
43069         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
43070         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
43071         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
43072         pthread_mutexattr_init, pthread_mutexattr_settype,
43073         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
43074         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
43075         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
43076         pthread_spin_trylock, pthread_spin_unlock): Likewise.
43077         * lib/sched.in.h (struct sched_param): Likewise.
43078         * lib/se-selinux.in.h (security_class_t, security_context_t,
43079         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
43080         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
43081         lsetfilecon, fsetfilecon, security_check_context,
43082         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
43083         Likewise.
43084         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
43085         Likewise.
43086         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
43087         _gl_function_taking_int_returning_void_t, union sigval,
43088         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
43089         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
43090         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
43091         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
43092         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
43093         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
43094         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
43095         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
43096         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
43097         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
43098         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
43099         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
43100         socklen_t, rpl_fd_isset): Likewise.
43101         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
43102         * lib/sys_time.in.h (struct timeval): Likewise.
43103         * lib/sys_times.in.h (struct tms): Likewise.
43104         * lib/sys_utsname.in.h (struct utsname):
43105         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
43106         * lib/unistd.in.h (getpagesize): Likewise.
43107         * lib/wchar.in.h (mbstate_t): Likewise.
43108         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43109         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
43110         towlower, towupper): Likewise.
43111         Reported by Sam Steingold <sds@gnu.org>.
43113 2011-02-05  Eric Blake  <eblake@redhat.com>
43115         unsetenv: work around Haiku issues
43116         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
43117         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
43119 2010-12-30  Bruce Korb  <bkorb@gnu.org>
43121         libposix: avoid calling error() within libposix
43122         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
43123         is defined.
43125 2011-02-05  Eric Blake  <eblake@redhat.com>
43127         strerror_r-posix: port to cygwin
43128         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
43129         implementation.
43130         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
43131         * tests/test-strerror_r.c (main): Fix test.
43132         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
43133         issue.
43135 2011-02-05  Bruno Haible  <bruno@clisp.org>
43137         New module 'wmemchr'.
43138         * modules/wmemchr: New file.
43139         * lib/wchar.in.h (wmemchr): New declaration.
43140         * lib/wmemchr.c: New file.
43141         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
43142         * m4/wmemchr.m4: New file.
43143         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
43144         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
43145         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
43146         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
43147         * doc/posix-functions/wmemchr.texi: Mention the new module.
43149 2011-02-04  Eric Blake  <eblake@redhat.com>
43151         fdopendir: detect FreeBSD bug
43152         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
43153         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
43155 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43157         stdbool: do not define HAVE_STDBOOL_H
43158         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
43159         AC_HEADER_STDBOOL.  All uses changed.  Do not define
43160         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
43161         imported from the latest Autoconf git.  It was motivated by Emacs,
43162         which uses gnulib but does not need HAVE_STDBOOL_H.
43164 2011-02-04  Bruno Haible  <bruno@clisp.org>
43166         wcsnrtombs: Prepare for new module wwcsnrtombs.
43167         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
43168         * lib/wcsnrtombs.c: Include it.
43169         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
43171         wcsrtombs: Prepare for new module wwcsrtombs.
43172         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
43173         * lib/wcsrtombs.c: Include it.
43174         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
43176         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
43177         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
43178         * lib/mbsnrtowcs.c: Include it.
43179         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
43181         mbsrtowcs: Prepare for new module mbsrtowwcs.
43182         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
43183         * lib/mbsrtowcs.c: Include it.
43184         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
43186 2011-02-04  Bruno Haible  <bruno@clisp.org>
43188         vasnprintf: Reduce use of malloc for small format strings.
43189         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
43190         (arguments): Add room for the first 7 arguments.
43191         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
43192         (char_directives, u8_directives, u16_directives, u32_directives): Add
43193         room for the first 7 directives.
43194         * lib/printf-parse.c: Include <string.h>.
43195         (PRINTF_PARSE): Change memory handling code so that it uses the first
43196         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
43197         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
43198         Reported by Pádraig Brady <P@draigbrady.com>.
43200 2011-01-31  Eric Blake  <eblake@redhat.com>
43202         dup2: work around Haiku bug
43203         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
43204         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
43205         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43206         * tests/test-dup2.c (main): Enhance test.
43208 2011-01-31  Simon Josefsson  <simon@josefsson.org>
43210         doc: off_t is not available in eglibc 2.11.2 stdio.h.
43211         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
43212         declared by eglibc 2.11.2.
43213         * lib/stdio.in.h: Likewise.
43215 2011-01-31  Eric Blake  <eblake@redhat.com>
43217         ignore-value: add missing test dependency
43218         * tests/test-ignore-value.c: Revert previous change; stdio.h
43219         provides off_t.
43220         * modules/ignore-value-tests (Depends-on): Add missing dependency.
43222 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
43224         mktime: clarify long_int width checking
43225         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
43226         the top level, to make it clearer that the assumption about
43227         long_int width is being checked.  See
43228         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
43230 2011-01-30  Simon Josefsson  <simon@josefsson.org>
43232         ignore-value: Fix self-test.
43233         * tests/test-ignore-value.c: Include sys/types.h for off_t.
43235 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
43237         TYPE_MAXIMUM: avoid theoretically undefined behavior
43238         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
43239         negative number, which the C Standard says has undefined behavior.
43240         In practice this is not a problem, but might as well do it by the book.
43241         Reported by Rich Felker and Eric Blake; see
43242         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
43243         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
43244         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43245         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43246         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
43247         * m4/stdint.m4 (gl_STDINT_H): Likewise.
43248         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
43250         mktime: #undef mktime before #defining it
43251         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
43253         mktime: systematically normalize tm_isdst comparisons
43254         * lib/mktime.c (isdst_differ): New function.
43255         (__mktime_internal): Use it systematically for all isdst comparisons.
43256         This completes the fix for libc BZ #6723, and removes the need for
43257         normalizing tm_isdst.  See
43258         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
43259         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
43261         mktime: fix some integer overflow issues and sidestep the rest
43263         This was prompted by a bug report by Benjamin Lindner for MinGW
43264         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
43265         His bug is due to signed integer overflow (0 - INT_MIN), and I
43266         I scanned through mktime.c looking for other integer overflow
43267         problems, fixing all the bugs I found.
43269         Although the C Standard says the resulting code is still not safe
43270         in the presence of integer overflow, in practice it should be good
43271         enough for all real-world two's-complement implementations, except
43272         for debugging environments that deliberately trap on integer
43273         overflow (e.g., gcc -ftrapv).
43275         * lib/mktime.c (WRAPV): New macro.
43276         (SHR): Also check that long_int and time_t shift right in the
43277         usual way, before using the fast-but-unportable method.
43278         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
43279         used.  The code already assumed two's complement, so there's
43280         no need to test for alternatives.  All uses removed.
43281         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
43282         the C standard.  Problem reported by Rich Felker in
43283         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
43284         (twos_complement_arithmetic): Also check long_int and time_t.
43285         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
43286         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
43287         (__mktime_internal): Avoid integer overflow with unary subtraction
43288         in two instances where -1 - X is an adequate replacement for -X,
43289         since the calculations are approximate.
43291 2011-01-29  Eric Blake  <eblake@redhat.com>
43293         mktime: avoid infinite loop
43294         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
43295         type; behavior is still undefined but portable to all known targets.
43296         Reported by Rich Felker.
43298 2011-01-29  Simon Josefsson  <simon@josefsson.org>
43300         rename, unlink, same-inode: Relicense.
43301         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
43302         * modules/unlink (License): Likewise.
43303         * modules/same-inode (License): Likewise.
43305 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43307         mktime: avoid problems on NetBSD 5 / i386
43308         * lib/mktime.c (long_int): New type.  This works around a problem
43309         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
43310         but time_t is 64 bits, and where I expect the existing code is
43311         wrong in some cases.
43312         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
43313         (ydhms_diff): Bring back the compile-time check for wide-enough
43314         year and yday.
43316         mktime: fix misspelling in comment
43317         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
43318         This merges all recent glibc changes of importance.
43320 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43322         move-if-change: cope with concurrent mv of identical file.
43323         * build-aux/move-if-change (CMPPROG): Accept environment
43324         variable as an override for `cmp'.
43325         (usage): Document CMPPROG.
43326         Adjust comparison to drop stdout.  Cope with failure of mv if
43327         the target file exists and is identical to the source, for
43328         parallel builds.
43329         Report from H.J. Lu against binutils in PR binutils/12283.
43331 2011-01-28  Bruce Korb  <bkorb@gnu.org>
43333         * users.txt: Mention sharutils.
43335 2011-01-28  Simon Josefsson  <simon@josefsson.org>
43337         * users.txt: Mention OATH Toolkit.
43339 2011-01-27  Bruno Haible  <bruno@clisp.org>
43341         Prepare for supporting FreeBSD 10.
43342         * build-aux/config.libpath: Remove handling of freebsd1*.
43344 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
43346         Prepare for supporting FreeBSD 10.
43347         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
43348         match FreeBSD 10.0.
43350 2011-01-27  Bruno Haible  <bruno@clisp.org>
43352         vma-iter, get-rusage-as: Add OpenBSD support.
43353         * modules/vma-iter (configure.ac): Test for mquery.
43354         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
43355         * lib/vma-iter.c: Include <sys/mman.h>.
43356         (vma_iterate): Add an implementation based on mquery().
43357         * lib/resource-ext.h (get_rusage_as): Update comments.
43358         * lib/get-rusage-as.c: Likewise.
43359         * lib/get-rusage-data.c: Likewise.
43361 2011-01-26  Karl Berry  <karl@gnu.org>
43363         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
43364         variables to make it easier to override the makeinfo program used.
43366 2011-01-26  Eric Blake  <eblake@redhat.com>
43368         fcntl: work around Haiku F_DUPFD bugs
43369         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
43370         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
43371         cloexec bit on duplication.
43372         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
43374 2011-01-26  Bruno Haible  <bruno@clisp.org>
43376         Enable memory leak tests on AIX.
43377         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
43378         * tests/test-fprintf-posix3.c (main): Likewise.
43380 2011-01-26  Bruno Haible  <bruno@clisp.org>
43382         Tests for module 'get-rusage-data'.
43383         * modules/get-rusage-data-tests: New file.
43384         * tests/test-get-rusage-data.c: New file.
43386         New module 'get-rusage-data'.
43387         * lib/resource-ext.h (get_rusage_data): New declaration.
43388         * lib/get-rusage-data.c: New file.
43389         * modules/get-rusage-data: New file.
43391 2011-01-25  Bruno Haible  <bruno@clisp.org>
43393         get-rusage-as: Allow for easier testing.
43394         * lib/resource-ext.h (get_rusage_as): Add comment.
43395         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
43396         (main): New function for interactive testing.
43398 2011-01-25  Bruno Haible  <bruno@clisp.org>
43400         vma-iter: Treat Haiku like BeOS.
43401         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
43402         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
43404 2011-01-25  Eric Blake  <eblake@redhat.com>
43406         c-stack: fix regression on cygwin when libsigsegv is present
43407         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
43409 2011-01-24  Bruno Haible  <bruno@clisp.org>
43411         vma-iter: Avoid empty intervals.
43412         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
43413         on an empty interval.
43415 2011-01-24  Jim Meyering  <meyering@redhat.com>
43417         u64: remove unnecessary #include
43418         * lib/u64.h: Don't include <stddef.h>.  It was not used.
43420 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43422         Allow the user to avoid the HAVE_RAW_DECL_* macros.
43423         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
43425 2011-01-23  Bruno Haible  <bruno@clisp.org>
43427         New module 'vma-iter'.
43428         * lib/vma-iter.h: New file.
43429         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
43430         * modules/vma-iter: New file.
43431         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
43432         for get_rusage_as_via_iterator.
43433         (vma_iterate_callback): New function.
43434         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
43435         * modules/get-rusage-as (Depends-on): Add vma-iter.
43437 2011-01-23  Bruno Haible  <bruno@clisp.org>
43439         uninorm: Tweak includes.
43440         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
43441         Reported by Jim Meyering.
43443 2011-01-23  Bruno Haible  <bruno@clisp.org>
43445         get-rusage-as: Improve on NetBSD.
43446         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
43447         /proc, like on FreeBSD.
43449 2011-01-23  Jim Meyering  <meyering@redhat.com>
43451         xreadlink.h: remove unnecessary #include
43452         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
43454         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
43455         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
43457 2011-01-23  Bruno Haible  <bruno@clisp.org>
43459         get-rusage-as: Fix bug.
43460         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
43461         original limit when aborting the first loop.
43463 2011-01-23  Bruno Haible  <bruno@clisp.org>
43465         wctype: Ensure valid C syntax.
43466         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
43467         unconditionally, instead of gl_NEXT_HEADERS conditionally.
43469 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43471         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
43472         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
43473         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
43474         as they are needed only for configure's test case.
43475         This removes two unnecessary symbols from config.h.
43477         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
43478         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
43479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
43480         AC_CHECK_HEADERS_ONCE on a header that we also invoke
43481         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
43482         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
43483         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
43484         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43485         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43486         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43487         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
43488         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43489         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43490         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43491         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43492         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43493         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
43494         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43496 2011-01-21  Eric Blake  <eblake@redhat.com>
43498         maintainer-makefile: work with older git for submodule check
43499         * top/maint.mk (public-submodule-commit): Rewrite to avoid
43500         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
43501         Reported by Matthias Bolte.
43503         bootstrap: minor portability fixes
43504         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
43505         (usage): Omit leading capital and trailing . on help phrases, per
43506         GNU Coding Standards.
43507         (check_versions, top level): Prefix messages with script name.
43509 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
43511         bootstrap: support --no-git option
43512         * build-aux/bootstrap: Add --no-git option, to be used when
43513         --gnulib-srcdir points to the exact desired checkout.
43515 2011-01-21  Eric Blake  <eblake@redhat.com>
43517         strerror_r-posix: work with glibc 2.13
43518         * lib/strerror_r.c (strerror_r): Fix return type.
43520 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43521             Bruno Haible  <bruno@clisp.org>
43523         uN_strstr: New unit tests.
43524         * modules/unistr/u8-strstr-tests: New file.
43525         * modules/unistr/u16-strstr-tests: New file.
43526         * modules/unistr/u32-strstr-tests: New file.
43527         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
43528         * tests/unistr/test-u8-strstr.c: New file.
43529         * tests/unistr/test-u16-strstr.c: New file.
43530         * tests/unistr/test-u32-strstr.c: New file.
43532 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43533             Bruno Haible  <bruno@clisp.org>
43535         Make uN_strstr functions O(n) worst-case.
43536         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
43537         16-bit and 32-bit unit cases, use the unibyte algorithm from
43538         lib/mbsstr.c.
43539         * lib/unistr/u8-strstr.c: Include <string.h>.
43540         (UNIT_IS_UINT8_T): New macro.
43541         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
43542         (U_STRLEN, U_STRNLEN): New macros.
43543         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
43544         (U_STRLEN, U_STRNLEN): New macros.
43545         * modules/unistr/u8-strstr (Depends-on): Add strstr.
43546         (configure.ac): Update required libunistring version.
43547         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
43548         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
43549         malloca.
43550         (configure.ac): Update required libunistring version.
43551         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
43552         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
43553         malloca.
43554         (configure.ac): Update required libunistring version.
43556 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43557             Bruno Haible  <bruno@clisp.org>
43559         Prepare for faster uN_strstr functions.
43560         * lib/str-kmp.h: Support definable UNITs.
43561         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
43562         needle_len argument.
43563         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
43564         * lib/mbscasestr.c (mbscasestr): Likewise.
43566 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43568         malloca-tests: make faster by unsetting MALLOC_PERTURB_
43569         * tests/test-malloca.c (main): Unset the environment variable
43570         to greatly speed up the test.
43571         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
43572         * modules/malloca-tests: Depend on unsetenv.
43574 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43576         ignore-value: remove stdint dependency
43577         * lib/ignore-value.h: Remove <stdint.h>
43578         * modules/ignore-value: Remove stdint dependency.
43580 2011-01-21  Jim Meyering  <meyering@redhat.com>
43582         maint.mk: adjust variable name to be consistent with other gl_ vars
43583         * top/maint.mk (gl_public_submodule_commit): Rename the variable
43584         to be lower case.
43586 2011-01-20  Jim Meyering  <meyering@redhat.com>
43588         maint.mk: make "check" depend on public-submodule-commit by default
43589         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
43591 2011-01-20  Bruno Haible  <bruno@clisp.org>
43593         mbfile, mbiter: Complete change from 2008-12-21.
43594         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
43595         * m4/mbiter.m4 (gl_MBITER): Likewise.
43597 2011-01-20  Jim Meyering  <meyering@redhat.com>
43599         init.sh: insert space between each function name and "()"
43600         * tests/init.sh: Make it a little easier to see that a function's
43601         name is "warn_", and not "warn" when looking at the first part of
43602         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
43604 2011-01-20  Jim Meyering  <meyering@redhat.com>
43606         mountlist: clean up code formatting
43607         * lib/mountlist.c (read_file_system_list): Split a long line,
43608         correct bracing style, use NULL in place of "(struct statfs *)0",
43609         don't parenthesize return value, add spaces around "=" and after
43610         ";-in-for-stmt".
43612 2011-01-14  Markus Duft  <mduft@gentoo.org>
43614         mountlist: add support for Interix
43615         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
43616         Apply statvfs to all entries of /dev/fs.
43617         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
43618         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
43620 2011-01-20  Jim Meyering  <meyering@redhat.com>
43622         maint.mk: improve the public-submodule-commit rule
43623         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
43624         to suppress printing of its commands... unless V=1.
43625         Add git submodule's --quiet option to suppress printing of e.g.,
43626         "Entering gnulib" output.
43627         "cd" into $(srcdir) before running git submodule.
43629 2011-01-20  Bruno Haible  <bruno@clisp.org>
43631         include_next: Fix bug introduced on 2011-01-18.
43632         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
43633         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
43634         ac_cv_header_... variable if the second argument is not 'check'.
43635         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
43636         gl_NEXT_HEADERS_INTERNAL.
43638 2011-01-20  Bruno Haible  <bruno@clisp.org>
43640         Allow the user to avoid the GNULIB_TEST_* macros.
43641         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
43642         Suggested by Paul Eggert.
43644 2011-01-14  Jim Meyering  <meyering@redhat.com>
43646         bootstrap: avoid failure when there is no .gitmodules file
43647         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
43648         has been assigned to, even when its value is the empty string.
43649         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
43650         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
43651         Reported by John W. Eaton <jwe@gnu.org>.
43653 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43655         assume <ctype.h>, ..., <time.h> exist
43656         For years gnulib has been assuming the existence of the headers
43657         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
43658         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
43659         them, since they don't appear to be needed.
43660         * README (Portability guidelines): Document this.
43661         * lib/flock.c: Assume <fcntl.h> exists.
43662         * lib/regex_internal.h: Assume <locale.h> exists.
43663         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
43664         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
43665         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
43666         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
43667         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
43668         * m4/regex.m4 (gl_REGEX): Likewise.
43669         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
43670         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
43671         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
43672         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
43673         * tests/test-argp.c: Likewise.
43674         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
43676         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
43677         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
43678         AA_APPLE_UNIVERSAL_BUILD.  See
43679         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
43680         * NEWS: Document this.
43682 2011-01-19  Eric Blake  <eblake@redhat.com>
43684         c-stack: assume stack overflow if SA_SIGINFO unsupported
43685         * lib/c-stack.c (SIGACTION_WORKS): Rename...
43686         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
43687         sigaction will work.
43688         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
43689         behavior match Linux.
43690         * tests/test-c-stack.c (main): Prefer NULL for pointers.
43692         stdbool-tests: accommodate Haiku
43693         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
43695         binary-io: fix O_TEXT on Haiku
43696         * modules/binary-io (Depends-on): Add fcntl-h.
43697         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
43698         than blindly undefining O_TEXT.
43699         Reported by Scott McCreary.
43701 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43703         include_next: do not check for standard headers like stddef.h
43705         I found this problem when modifying Emacs to use gnulib.
43706         I noticed that it added HAVE_STDDEF_H to config.h, even though
43707         gnulib always assumes <stddef.h> exists as per README and this
43708         symbol is unnecessary.
43709         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
43710         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
43711         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
43712         faster for headers like stddef.h that are known to exist.
43713         (gl_CHECK_NEXT_HEADERS): Use it.
43714         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
43715         rather than gl_CHECK_NEXT_HEADERS.
43716         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
43717         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
43719 2011-01-18  Eric Blake  <eblake@redhat.com>
43721         ansi-c++-opt: skip C++ dependency style if C++ is unused
43722         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
43723         tests when we know C++ compilation is not desired.
43724         Reported by Scott McCreary.
43726 2011-01-18  Bruno Haible  <bruno@clisp.org>
43728         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
43729         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
43730         (main): Perform test also when getrlimit and setrlimit don't exist or
43731         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
43732         limiting the address space size using setrlimit, compare the address
43733         space size before and after the test.
43734         * tests/test-dprintf-posix2.c: Likewise.
43735         * tests/test-fprintf-posix3.sh: Update skip messages.
43736         * tests/test-dprintf-posix2.sh: Likewise.
43737         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
43738         * modules/dprintf-posix-tests (Depends-on): Likewise.
43739         Reported by Bruce Korb <bkorb@gnu.org> and
43740         Gary V. Vaughan <gary@gnu.org>.
43742 2011-01-18  Bruno Haible  <bruno@clisp.org>
43744         get-rusage-as: Improvement for Cygwin.
43745         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43746         areas that are merely reserved.
43748 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43750         strftime: remove dependencies on multibyte modules
43752         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43753         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43754         only if __osf__ is defined, and I suspect OSF doesn't need these
43755         other modules.  If my guess is wrong, we'll need to come up with a
43756         variant of strftime that doesn't need the multibyte modules.
43758         I discovered this problem when attempting modify Emacs to use the
43759         strftime module.  With the previous gnulib, this caused Emacs to
43760         need 31 new files, ranging from lib/config.charset to
43761         m4/wint_t.m4.  This was overkill and I expect would be offputting
43762         to the Emacs maintainers.  After this change, only 6 new files are
43763         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43764         stdbool.m4, and tm_gmtoff.m4.
43766         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43767         Suggested by Bruno Haible in
43768         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43769         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43770         and do not check for wchar.h.
43771         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43772         (Depends-on): Remove mbrlen, mbsinit, wchar.
43774 2011-01-18  Bruno Haible  <bruno@clisp.org>
43776         Tests for module 'get-rusage-as'.
43777         * modules/get-rusage-as-tests: New file.
43778         * tests/test-get-rusage-as.c: New file.
43780         New module 'get-rusage-as'.
43781         * modules/get-rusage-as: New file.
43782         * lib/resource-ext.h: New file.
43783         * lib/get-rusage-as.c: New file.
43785 2011-01-17  Eric Blake  <eblake@redhat.com>
43787         sigaction: relax license from LGPLv3+ to LGPLv2+
43788         * modules/sigaction (License): Relax to LGPLv2+.
43790 2011-01-14  Bruno Haible  <bruno@clisp.org>
43792         filemode: Make function declarations usable in C++ mode.
43793         * lib/filemode.h: Enclose function declarations in extern "C" block.
43794         Reported by John W. Eaton <jwe@gnu.org>.
43796 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43798         save-cwd: no longer include "xgetcwd.h"
43799         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43800         This avoids a compilation failure in projects that use save-cwd
43801         without also using the xgetcwd module.
43803 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43805         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43806         This is so that a program like Emacs, which needs only dtoastr,
43807         does not have to bother with distributing and compiling ftoastr
43808         and ldtoastr.
43809         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43810         * modules/dtoastr, modules/ldtoastr: New files.
43811         * modules/ftoastr: Now works just for 'float'.
43812         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43813         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43814         dtoastr.c, ldtoastr.c.
43816 2011-01-11  Jim Meyering  <meyering@redhat.com>
43818         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43819         There is no need to work around the lack of the fchdir function,
43820         since gnulib can now provide a replacement when required.
43821         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43822         * modules/save-cwd (Depends-on): Add fchdir.
43824 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43826         openat, save-cwd: avoid xmalloc
43828         This removes a direct (but undocumented) dependency of openat on
43829         xalloc, along with an indirect dependency via save-cwd.  It also
43830         removes a dependency of save-cwd on xgetcwd, and thereby
43831         indirectly on xalloc.  This change causes the openat substitute
43832         to fall back on save_cwd when memory is tight, and for save_cwd to
43833         fail instead of dying when memory is tight, but that's good enough.
43834         Problem and initial idea for fix reported by Bastien Roucaries in
43835         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43837         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43838         xalloc.h (for xmalloc).
43839         (openat_proc_name): Use malloc, not xmalloc.
43840         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43841         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43843         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43844         This avoids heap allocation for file names whose lengths are in
43845         the range 512..1023, with the upper bound increasing to at most
43846         4031 depending on the platform's PATH_MAX.  (We do not want
43847         pathmax.h here as it might supply a non-constant PATH_MAX.)
43848         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43849         Perhaps they should be moved to malloca.h?
43850         (OPENAT_BUFFER_SIZE): Use them.
43852 2011-01-10  Bruno Haible  <bruno@clisp.org>
43854         doc: Update users.txt.
43855         * users.txt: Add recutils.
43857 2011-01-09  Karl Berry  <karl@gnu.org>
43859         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43861         * doc/configmake.texi: New file.
43862         * doc/gnulib.texi: Include it.
43863         * modules/configmake: Move documentation from here.
43865 2011-01-09  Bruno Haible  <bruno@clisp.org>
43867         Update to Unicode 6.0.0.
43868         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43869         (get_lbp): Update for Unicode 6.0.0.
43870         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43871         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43872         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43873         U+11001, U+11038..U+11046. Remove U+06DE.
43874         (uc_width): Fix bounds of planes.
43875         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43876         lib/uniwidth/width.c.
43877         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43878         trailing whitespace removed.
43879         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43880         without comments, but with the original copyright notice.
43881         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43882         * lib/unicase/ignorable.h: Likewise.
43883         * lib/unicase/tocasefold.h: Likewise.
43884         * lib/unicase/tolower.h: Likewise.
43885         * lib/unicase/totitle.h: Likewise.
43886         * lib/unicase/toupper.h: Likewise.
43887         * lib/unictype/bidi_of.h: Likewise.
43888         * lib/unictype/blocks.h: Likewise.
43889         * lib/unictype/categ_C.h: Likewise.
43890         * lib/unictype/categ_Cn.h: Likewise.
43891         * lib/unictype/categ_L.h: Likewise.
43892         * lib/unictype/categ_Ll.h: Likewise.
43893         * lib/unictype/categ_Lm.h: Likewise.
43894         * lib/unictype/categ_Lo.h: Likewise.
43895         * lib/unictype/categ_Lu.h: Likewise.
43896         * lib/unictype/categ_M.h: Likewise.
43897         * lib/unictype/categ_Mc.h: Likewise.
43898         * lib/unictype/categ_Me.h: Likewise.
43899         * lib/unictype/categ_Mn.h: Likewise.
43900         * lib/unictype/categ_N.h: Likewise.
43901         * lib/unictype/categ_Nd.h: Likewise.
43902         * lib/unictype/categ_No.h: Likewise.
43903         * lib/unictype/categ_P.h: Likewise.
43904         * lib/unictype/categ_Po.h: Likewise.
43905         * lib/unictype/categ_S.h: Likewise.
43906         * lib/unictype/categ_Sc.h: Likewise.
43907         * lib/unictype/categ_Sk.h: Likewise.
43908         * lib/unictype/categ_Sm.h: Likewise.
43909         * lib/unictype/categ_So.h: Likewise.
43910         * lib/unictype/categ_of.h: Likewise.
43911         * lib/unictype/combining.h: Likewise.
43912         * lib/unictype/ctype_alnum.h: Likewise.
43913         * lib/unictype/ctype_alpha.h: Likewise.
43914         * lib/unictype/ctype_graph.h: Likewise.
43915         * lib/unictype/ctype_lower.h: Likewise.
43916         * lib/unictype/ctype_print.h: Likewise.
43917         * lib/unictype/ctype_punct.h: Likewise.
43918         * lib/unictype/ctype_upper.h: Likewise.
43919         * lib/unictype/decdigit.h: Likewise.
43920         * lib/unictype/digit.h: Likewise.
43921         * lib/unictype/numeric.h: Likewise.
43922         * lib/unictype/pr_alphabetic.h: Likewise.
43923         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43924         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43925         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43926         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43927         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43928         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43929         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43930         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43931         * lib/unictype/pr_case_ignorable.h: Likewise.
43932         * lib/unictype/pr_cased.h: Likewise.
43933         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43934         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43935         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43936         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43937         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43938         * lib/unictype/pr_combining.h: Likewise.
43939         * lib/unictype/pr_composite.h: Likewise.
43940         * lib/unictype/pr_currency_symbol.h: Likewise.
43941         * lib/unictype/pr_decimal_digit.h: Likewise.
43942         * lib/unictype/pr_deprecated.h: Likewise.
43943         * lib/unictype/pr_format_control.h: Likewise.
43944         * lib/unictype/pr_grapheme_base.h: Likewise.
43945         * lib/unictype/pr_grapheme_extend.h: Likewise.
43946         * lib/unictype/pr_grapheme_link.h: Likewise.
43947         * lib/unictype/pr_id_continue.h: Likewise.
43948         * lib/unictype/pr_id_start.h: Likewise.
43949         * lib/unictype/pr_ideographic.h: Likewise.
43950         * lib/unictype/pr_lowercase.h: Likewise.
43951         * lib/unictype/pr_math.h: Likewise.
43952         * lib/unictype/pr_numeric.h: Likewise.
43953         * lib/unictype/pr_other_alphabetic.h: Likewise.
43954         * lib/unictype/pr_other_id_continue.h: Likewise.
43955         * lib/unictype/pr_other_math.h: Likewise.
43956         * lib/unictype/pr_punctuation.h: Likewise.
43957         * lib/unictype/pr_sentence_terminal.h: Likewise.
43958         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43959         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43960         * lib/unictype/pr_unified_ideograph.h: Likewise.
43961         * lib/unictype/pr_uppercase.h: Likewise.
43962         * lib/unictype/pr_xid_continue.h: Likewise.
43963         * lib/unictype/pr_xid_start.h: Likewise.
43964         * lib/unictype/scripts.h: Likewise.
43965         * lib/unictype/scripts_byname.gperf: Likewise.
43966         * lib/unictype/sy_java_ident.h: Likewise.
43967         * lib/unigbrk/gbrkprop.h: Likewise.
43968         * lib/unilbrk/lbrkprop1.h: Likewise.
43969         * lib/unilbrk/lbrkprop2.h: Likewise.
43970         * lib/uninorm/decomposition-table2.h: Likewise.
43971         * lib/uniwbrk/wbrkprop.h: Likewise.
43972         * tests/unicase/test-cased.c: Likewise.
43973         * tests/unicase/test-ignorable.c: Likewise.
43974         * tests/unicase/test-uc_tolower.c: Likewise.
43975         * tests/unicase/test-uc_totitle.c: Likewise.
43976         * tests/unicase/test-uc_toupper.c: Likewise.
43977         * tests/unictype/test-categ_C.c: Likewise.
43978         * tests/unictype/test-categ_Cn.c: Likewise.
43979         * tests/unictype/test-categ_L.c: Likewise.
43980         * tests/unictype/test-categ_Ll.c: Likewise.
43981         * tests/unictype/test-categ_Lm.c: Likewise.
43982         * tests/unictype/test-categ_Lo.c: Likewise.
43983         * tests/unictype/test-categ_Lu.c: Likewise.
43984         * tests/unictype/test-categ_M.c: Likewise.
43985         * tests/unictype/test-categ_Mc.c: Likewise.
43986         * tests/unictype/test-categ_Me.c: Likewise.
43987         * tests/unictype/test-categ_Mn.c: Likewise.
43988         * tests/unictype/test-categ_N.c: Likewise.
43989         * tests/unictype/test-categ_Nd.c: Likewise.
43990         * tests/unictype/test-categ_No.c: Likewise.
43991         * tests/unictype/test-categ_P.c: Likewise.
43992         * tests/unictype/test-categ_Po.c: Likewise.
43993         * tests/unictype/test-categ_S.c: Likewise.
43994         * tests/unictype/test-categ_Sc.c: Likewise.
43995         * tests/unictype/test-categ_Sk.c: Likewise.
43996         * tests/unictype/test-categ_Sm.c: Likewise.
43997         * tests/unictype/test-categ_So.c: Likewise.
43998         * tests/unictype/test-ctype_alnum.c: Likewise.
43999         * tests/unictype/test-ctype_alpha.c: Likewise.
44000         * tests/unictype/test-ctype_graph.c: Likewise.
44001         * tests/unictype/test-ctype_lower.c: Likewise.
44002         * tests/unictype/test-ctype_print.c: Likewise.
44003         * tests/unictype/test-ctype_punct.c: Likewise.
44004         * tests/unictype/test-ctype_upper.c: Likewise.
44005         * tests/unictype/test-decdigit.h: Likewise.
44006         * tests/unictype/test-digit.h: Likewise.
44007         * tests/unictype/test-numeric.h: Likewise.
44008         * tests/unictype/test-pr_alphabetic.c: Likewise.
44009         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44010         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44011         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44012         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44013         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44014         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44015         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44016         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44017         * tests/unictype/test-pr_case_ignorable.c: Likewise.
44018         * tests/unictype/test-pr_cased.c: Likewise.
44019         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
44020         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
44021         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
44022         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
44023         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
44024         * tests/unictype/test-pr_combining.c: Likewise.
44025         * tests/unictype/test-pr_composite.c: Likewise.
44026         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44027         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44028         * tests/unictype/test-pr_deprecated.c: Likewise.
44029         * tests/unictype/test-pr_format_control.c: Likewise.
44030         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44031         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44032         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44033         * tests/unictype/test-pr_id_continue.c: Likewise.
44034         * tests/unictype/test-pr_id_start.c: Likewise.
44035         * tests/unictype/test-pr_ideographic.c: Likewise.
44036         * tests/unictype/test-pr_lowercase.c: Likewise.
44037         * tests/unictype/test-pr_math.c: Likewise.
44038         * tests/unictype/test-pr_numeric.c: Likewise.
44039         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44040         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44041         * tests/unictype/test-pr_other_math.c: Likewise.
44042         * tests/unictype/test-pr_punctuation.c: Likewise.
44043         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44044         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44045         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44046         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44047         * tests/unictype/test-pr_uppercase.c: Likewise.
44048         * tests/unictype/test-pr_xid_continue.c: Likewise.
44049         * tests/unictype/test-pr_xid_start.c: Likewise.
44050         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44051         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44052         changes.
44053         * lib/unictype/categ_Cc.h: Likewise.
44054         * lib/unictype/categ_Cf.h: Likewise.
44055         * lib/unictype/categ_Co.h: Likewise.
44056         * lib/unictype/categ_Cs.h: Likewise.
44057         * lib/unictype/categ_Lt.h: Likewise.
44058         * lib/unictype/categ_Nl.h: Likewise.
44059         * lib/unictype/categ_Pc.h: Likewise.
44060         * lib/unictype/categ_Pd.h: Likewise.
44061         * lib/unictype/categ_Pe.h: Likewise.
44062         * lib/unictype/categ_Pf.h: Likewise.
44063         * lib/unictype/categ_Pi.h: Likewise.
44064         * lib/unictype/categ_Ps.h: Likewise.
44065         * lib/unictype/categ_Z.h: Likewise.
44066         * lib/unictype/categ_Zl.h: Likewise.
44067         * lib/unictype/categ_Zp.h: Likewise.
44068         * lib/unictype/categ_Zs.h: Likewise.
44069         * lib/unictype/ctype_blank.h: Likewise.
44070         * lib/unictype/ctype_cntrl.h: Likewise.
44071         * lib/unictype/ctype_digit.h: Likewise.
44072         * lib/unictype/ctype_space.h: Likewise.
44073         * lib/unictype/ctype_xdigit.h: Likewise.
44074         * lib/unictype/mirror.h: Likewise.
44075         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44076         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44077         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44078         * lib/unictype/pr_bidi_control.h: Likewise.
44079         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44080         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44081         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44082         * lib/unictype/pr_bidi_pdf.h: Likewise.
44083         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44084         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44085         * lib/unictype/pr_dash.h: Likewise.
44086         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44087         * lib/unictype/pr_diacritic.h: Likewise.
44088         * lib/unictype/pr_extender.h: Likewise.
44089         * lib/unictype/pr_hex_digit.h: Likewise.
44090         * lib/unictype/pr_hyphen.h: Likewise.
44091         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44092         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44093         * lib/unictype/pr_ignorable_control.h: Likewise.
44094         * lib/unictype/pr_iso_control.h: Likewise.
44095         * lib/unictype/pr_join_control.h: Likewise.
44096         * lib/unictype/pr_left_of_pair.h: Likewise.
44097         * lib/unictype/pr_line_separator.h: Likewise.
44098         * lib/unictype/pr_logical_order_exception.h: Likewise.
44099         * lib/unictype/pr_non_break.h: Likewise.
44100         * lib/unictype/pr_not_a_character.h: Likewise.
44101         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44102         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44103         * lib/unictype/pr_other_id_start.h: Likewise.
44104         * lib/unictype/pr_other_lowercase.h: Likewise.
44105         * lib/unictype/pr_other_uppercase.h: Likewise.
44106         * lib/unictype/pr_paired_punctuation.h: Likewise.
44107         * lib/unictype/pr_paragraph_separator.h: Likewise.
44108         * lib/unictype/pr_pattern_syntax.h: Likewise.
44109         * lib/unictype/pr_pattern_white_space.h: Likewise.
44110         * lib/unictype/pr_private_use.h: Likewise.
44111         * lib/unictype/pr_quotation_mark.h: Likewise.
44112         * lib/unictype/pr_radical.h: Likewise.
44113         * lib/unictype/pr_soft_dotted.h: Likewise.
44114         * lib/unictype/pr_space.h: Likewise.
44115         * lib/unictype/pr_titlecase.h: Likewise.
44116         * lib/unictype/pr_variation_selector.h: Likewise.
44117         * lib/unictype/pr_white_space.h: Likewise.
44118         * lib/unictype/pr_zero_width.h: Likewise.
44119         * lib/unictype/sy_c_ident.h: Likewise.
44120         * lib/unictype/sy_c_whitespace.h: Likewise.
44121         * lib/unictype/sy_java_whitespace.h: Likewise.
44122         * lib/uninorm/composition-table.gperf: Likewise.
44123         * lib/uninorm/decomposition-table1.h: Likewise.
44124         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
44125         LB8.
44126         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44127         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44128         * modules/unictype/*: Bump version number of expected libunistring
44129         version.
44131 2011-01-09  Bruno Haible  <bruno@clisp.org>
44133         Update to Unicode 5.2.0.
44134         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
44135         trailing whitespace removed.
44137 2011-01-09  Bruno Haible  <bruno@clisp.org>
44139         New Unicode character properties, from Unicode 5.2.0.
44140         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
44141         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
44142         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
44143         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
44144         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
44145         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
44146         uc_is_property_cased, uc_is_property_case_ignorable,
44147         uc_is_property_changes_when_lowercased,
44148         uc_is_property_changes_when_uppercased,
44149         uc_is_property_changes_when_titlecased,
44150         uc_is_property_changes_when_casefolded,
44151         uc_is_property_changes_when_casemapped): New declarations.
44152         * lib/unictype/pr_byname.gperf: Add the new properties.
44153         * modules/unictype/property-byname (Depends-on): Depend on the new
44154         properties modules.
44155         * modules/unictype/property-all (Depends-on): Likewise.
44156         * MODULES.html.sh (Unicode string functions): Add
44157         unictype/property-case-ignorable, unictype/property-cased,
44158         unictype/property-changes-when-casefolded,
44159         unictype/property-changes-when-casemapped,
44160         unictype/property-changes-when-lowercased,
44161         unictype/property-changes-when-titlecased,
44162         unictype/property-changes-when-uppercased.
44164         New module 'unictype/property-changes-when-casemapped'.
44165         * modules/unictype/property-changes-when-casemapped: New file.
44166         * lib/unictype/pr_changes_when_casemapped.c: New file.
44167         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
44168         generated by gen-uni-tables.
44169         * modules/unictype/property-changes-when-casemapped-tests: New file.
44170         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
44171         automatically generated by gen-uni-tables.
44173         New module 'unictype/property-changes-when-casefolded'.
44174         * modules/unictype/property-changes-when-casefolded: New file.
44175         * lib/unictype/pr_changes_when_casefolded.c: New file.
44176         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
44177         generated by gen-uni-tables.
44178         * modules/unictype/property-changes-when-casefolded-tests: New file.
44179         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
44180         automatically generated by gen-uni-tables.
44182         New module 'unictype/property-changes-when-titlecased'.
44183         * modules/unictype/property-changes-when-titlecased: New file.
44184         * lib/unictype/pr_changes_when_titlecased.c: New file.
44185         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
44186         generated by gen-uni-tables.
44187         * modules/unictype/property-changes-when-titlecased-tests: New file.
44188         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
44189         automatically generated by gen-uni-tables.
44191         New module 'unictype/property-changes-when-uppercased'.
44192         * modules/unictype/property-changes-when-uppercased: New file.
44193         * lib/unictype/pr_changes_when_uppercased.c: New file.
44194         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
44195         generated by gen-uni-tables.
44196         * modules/unictype/property-changes-when-uppercased-tests: New file.
44197         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
44198         automatically generated by gen-uni-tables.
44200         New module 'unictype/property-changes-when-lowercased'.
44201         * modules/unictype/property-changes-when-lowercased: New file.
44202         * lib/unictype/pr_changes_when_lowercased.c: New file.
44203         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
44204         generated by gen-uni-tables.
44205         * modules/unictype/property-changes-when-lowercased-tests: New file.
44206         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
44207         automatically generated by gen-uni-tables.
44209         New module 'unictype/property-case-ignorable'.
44210         * modules/unictype/property-case-ignorable: New file.
44211         * lib/unictype/pr_case_ignorable.c: New file.
44212         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
44213         by gen-uni-tables.
44214         * modules/unictype/property-case-ignorable-tests: New file.
44215         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
44216         generated by gen-uni-tables.
44218         New module 'unictype/property-cased'.
44219         * modules/unictype/property-cased: New file.
44220         * lib/unictype/pr_cased.c: New file.
44221         * lib/unictype/pr_cased.h: New file, automatically generated by
44222         gen-uni-tables.
44223         * modules/unictype/property-cased-tests: New file.
44224         * tests/unictype/test-pr_cased.c: New file, automatically generated by
44225         gen-uni-tables.
44227 2011-01-09  Bruno Haible  <bruno@clisp.org>
44229         Update to Unicode 5.2.0.
44230         * lib/gen-uni-tables.c (output_predicate, output_category,
44231         output_combclass, output_bidi_category, output_decimal_digit_test,
44232         output_decimal_digit, output_digit_test, output_digit,
44233         output_numeric_test, output_numeric, output_mirror, output_scripts,
44234         output_scripts_byname, output_blocks, output_ident_category): Fix
44235         comment header.
44236         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
44237         get_wbp.
44238         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
44239         items.
44240         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
44241         Changes_When_Lowercased, Changes_When_Uppercased,
44242         Changes_When_Titlecased, Changes_When_Casefolded,
44243         Changes_When_Casemapped.
44244         (is_property_alphabetic, is_property_default_ignorable_code_point):
44245         Update for Unicode 5.2.0.
44246         (is_property_cased, is_property_case_ignorable,
44247         is_property_changes_when_lowercased,
44248         is_property_changes_when_uppercased,
44249         is_property_changes_when_titlecased,
44250         is_property_changes_when_casefolded,
44251         is_property_changes_when_casemapped): New functions.
44252         (output_properties): Output also the properties cased, case_ignorable,
44253         changes_when_lowercased, changes_when_uppercased,
44254         changes_when_titlecased, changes_when_casefolded,
44255         changes_when_casemapped.
44256         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
44257         Unicode TR#11 revision 17 -> 19.
44258         (LBP_CP): New enumeration value.
44259         (LBP_*): Adjust values accordingly.
44260         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44261         TR#14 revision 22 -> 24.
44262         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
44263         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
44264         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44265         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
44266         is_WBP_MIDLETTER.
44267         (output_composition_tables): Allow for 24 bits instead of 16 bits in
44268         the code1 and code2 of each composition rule.
44269         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
44270         * lib/unicase/ignorable.h: Likewise.
44271         * lib/unicase/tocasefold.h: Likewise.
44272         * lib/unicase/tolower.h: Likewise.
44273         * lib/unicase/totitle.h: Likewise.
44274         * lib/unicase/toupper.h: Likewise.
44275         * lib/unictype/bidi_of.h: Likewise.
44276         * lib/unictype/blocks.h: Likewise.
44277         * lib/unictype/categ_C.h: Likewise.
44278         * lib/unictype/categ_Cf.h: Likewise.
44279         * lib/unictype/categ_Cn.h: Likewise.
44280         * lib/unictype/categ_L.h: Likewise.
44281         * lib/unictype/categ_Ll.h: Likewise.
44282         * lib/unictype/categ_Lm.h: Likewise.
44283         * lib/unictype/categ_Lo.h: Likewise.
44284         * lib/unictype/categ_Lu.h: Likewise.
44285         * lib/unictype/categ_M.h: Likewise.
44286         * lib/unictype/categ_Mc.h: Likewise.
44287         * lib/unictype/categ_Mn.h: Likewise.
44288         * lib/unictype/categ_N.h: Likewise.
44289         * lib/unictype/categ_Nd.h: Likewise.
44290         * lib/unictype/categ_Nl.h: Likewise.
44291         * lib/unictype/categ_No.h: Likewise.
44292         * lib/unictype/categ_P.h: Likewise.
44293         * lib/unictype/categ_Pd.h: Likewise.
44294         * lib/unictype/categ_Po.h: Likewise.
44295         * lib/unictype/categ_S.h: Likewise.
44296         * lib/unictype/categ_Sc.h: Likewise.
44297         * lib/unictype/categ_So.h: Likewise.
44298         * lib/unictype/categ_of.h: Likewise.
44299         * lib/unictype/combining.h: Likewise.
44300         * lib/unictype/ctype_alnum.h: Likewise.
44301         * lib/unictype/ctype_alpha.h: Likewise.
44302         * lib/unictype/ctype_graph.h: Likewise.
44303         * lib/unictype/ctype_lower.h: Likewise.
44304         * lib/unictype/ctype_print.h: Likewise.
44305         * lib/unictype/ctype_punct.h: Likewise.
44306         * lib/unictype/ctype_upper.h: Likewise.
44307         * lib/unictype/decdigit.h: Likewise.
44308         * lib/unictype/digit.h: Likewise.
44309         * lib/unictype/numeric.h: Likewise.
44310         * lib/unictype/pr_alphabetic.h: Likewise.
44311         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44312         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44313         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44314         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44315         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44316         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44317         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44318         * lib/unictype/pr_combining.h: Likewise.
44319         * lib/unictype/pr_composite.h: Likewise.
44320         * lib/unictype/pr_currency_symbol.h: Likewise.
44321         * lib/unictype/pr_dash.h: Likewise.
44322         * lib/unictype/pr_decimal_digit.h: Likewise.
44323         * lib/unictype/pr_deprecated.h: Likewise.
44324         * lib/unictype/pr_diacritic.h: Likewise.
44325         * lib/unictype/pr_extender.h: Likewise.
44326         * lib/unictype/pr_grapheme_base.h: Likewise.
44327         * lib/unictype/pr_grapheme_extend.h: Likewise.
44328         * lib/unictype/pr_grapheme_link.h: Likewise.
44329         * lib/unictype/pr_id_continue.h: Likewise.
44330         * lib/unictype/pr_id_start.h: Likewise.
44331         * lib/unictype/pr_ideographic.h: Likewise.
44332         * lib/unictype/pr_ignorable_control.h: Likewise.
44333         * lib/unictype/pr_logical_order_exception.h: Likewise.
44334         * lib/unictype/pr_lowercase.h: Likewise.
44335         * lib/unictype/pr_numeric.h: Likewise.
44336         * lib/unictype/pr_other_alphabetic.h: Likewise.
44337         * lib/unictype/pr_punctuation.h: Likewise.
44338         * lib/unictype/pr_sentence_terminal.h: Likewise.
44339         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44340         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44341         * lib/unictype/pr_unified_ideograph.h: Likewise.
44342         * lib/unictype/pr_uppercase.h: Likewise.
44343         * lib/unictype/pr_xid_continue.h: Likewise.
44344         * lib/unictype/pr_xid_start.h: Likewise.
44345         * lib/unictype/pr_zero_width.h: Likewise.
44346         * lib/unictype/scripts.h: Likewise.
44347         * lib/unictype/scripts_byname.gperf: Likewise.
44348         * lib/unictype/sy_java_ident.h: Likewise.
44349         * lib/unigbrk/gbrkprop.h: Likewise.
44350         * lib/unilbrk/lbrkprop1.h: Likewise.
44351         * lib/unilbrk/lbrkprop2.h: Likewise.
44352         * lib/unilbrk/lbrktables.h: Likewise.
44353         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
44354         LBP_CP. Implement rule LB30.
44355         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
44356         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
44357         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
44358         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
44359         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
44360         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
44361         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
44362         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
44363         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
44364         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
44365         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
44366         bits instead of 16 bits in the code1 and code2 of each composition
44367         rule.
44368         (uc_composition): Update for Unicode 5.2.0.
44369         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
44370         * lib/uninorm/decomposition-table2.h: Likewise.
44371         * lib/uniwbrk/wbrkprop.h: Likewise.
44372         * tests/unicase/test-cased.c: Likewise.
44373         * tests/unicase/test-ignorable.c: Likewise.
44374         * tests/unicase/test-uc_tolower.c: Likewise.
44375         * tests/unicase/test-uc_totitle.c: Likewise.
44376         * tests/unicase/test-uc_toupper.c: Likewise.
44377         * tests/unictype/test-categ_C.c: Likewise.
44378         * tests/unictype/test-categ_Cf.c: Likewise.
44379         * tests/unictype/test-categ_Cn.c: Likewise.
44380         * tests/unictype/test-categ_L.c: Likewise.
44381         * tests/unictype/test-categ_Ll.c: Likewise.
44382         * tests/unictype/test-categ_Lm.c: Likewise.
44383         * tests/unictype/test-categ_Lo.c: Likewise.
44384         * tests/unictype/test-categ_Lu.c: Likewise.
44385         * tests/unictype/test-categ_M.c: Likewise.
44386         * tests/unictype/test-categ_Mc.c: Likewise.
44387         * tests/unictype/test-categ_Mn.c: Likewise.
44388         * tests/unictype/test-categ_N.c: Likewise.
44389         * tests/unictype/test-categ_Nd.c: Likewise.
44390         * tests/unictype/test-categ_Nl.c: Likewise.
44391         * tests/unictype/test-categ_No.c: Likewise.
44392         * tests/unictype/test-categ_P.c: Likewise.
44393         * tests/unictype/test-categ_Pd.c: Likewise.
44394         * tests/unictype/test-categ_Po.c: Likewise.
44395         * tests/unictype/test-categ_S.c: Likewise.
44396         * tests/unictype/test-categ_Sc.c: Likewise.
44397         * tests/unictype/test-categ_So.c: Likewise.
44398         * tests/unictype/test-ctype_alnum.c: Likewise.
44399         * tests/unictype/test-ctype_alpha.c: Likewise.
44400         * tests/unictype/test-ctype_graph.c: Likewise.
44401         * tests/unictype/test-ctype_lower.c: Likewise.
44402         * tests/unictype/test-ctype_print.c: Likewise.
44403         * tests/unictype/test-ctype_punct.c: Likewise.
44404         * tests/unictype/test-ctype_upper.c: Likewise.
44405         * tests/unictype/test-decdigit.h: Likewise.
44406         * tests/unictype/test-digit.h: Likewise.
44407         * tests/unictype/test-numeric.h: Likewise.
44408         * tests/unictype/test-pr_alphabetic.c: Likewise.
44409         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44410         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44411         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44412         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44413         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44414         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44415         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44416         * tests/unictype/test-pr_combining.c: Likewise.
44417         * tests/unictype/test-pr_composite.c: Likewise.
44418         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44419         * tests/unictype/test-pr_dash.c: Likewise.
44420         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44421         * tests/unictype/test-pr_deprecated.c: Likewise.
44422         * tests/unictype/test-pr_diacritic.c: Likewise.
44423         * tests/unictype/test-pr_extender.c: Likewise.
44424         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44425         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44426         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44427         * tests/unictype/test-pr_id_continue.c: Likewise.
44428         * tests/unictype/test-pr_id_start.c: Likewise.
44429         * tests/unictype/test-pr_ideographic.c: Likewise.
44430         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44431         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44432         * tests/unictype/test-pr_lowercase.c: Likewise.
44433         * tests/unictype/test-pr_numeric.c: Likewise.
44434         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44435         * tests/unictype/test-pr_punctuation.c: Likewise.
44436         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44437         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44438         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44439         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44440         * tests/unictype/test-pr_uppercase.c: Likewise.
44441         * tests/unictype/test-pr_xid_continue.c: Likewise.
44442         * tests/unictype/test-pr_xid_start.c: Likewise.
44443         * tests/unictype/test-pr_zero_width.c: Likewise.
44444         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44445         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
44446         changed behaviour: line breaking is now disallowed between a letter
44447         or '=' and '('.
44448         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44449         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44450         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44451         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
44452         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44453         lib/uniwidth/width.c.
44454         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
44455         without comments, but with the original copyright notice.
44456         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44457         changes.
44458         * lib/unictype/categ_Cc.h: Likewise.
44459         * lib/unictype/categ_Co.h: Likewise.
44460         * lib/unictype/categ_Cs.h: Likewise.
44461         * lib/unictype/categ_Lt.h: Likewise.
44462         * lib/unictype/categ_Me.h: Likewise.
44463         * lib/unictype/categ_Pc.h: Likewise.
44464         * lib/unictype/categ_Pe.h: Likewise.
44465         * lib/unictype/categ_Pf.h: Likewise.
44466         * lib/unictype/categ_Pi.h: Likewise.
44467         * lib/unictype/categ_Ps.h: Likewise.
44468         * lib/unictype/categ_Sk.h: Likewise.
44469         * lib/unictype/categ_Sm.h: Likewise.
44470         * lib/unictype/categ_Z.h: Likewise.
44471         * lib/unictype/categ_Zl.h: Likewise.
44472         * lib/unictype/categ_Zp.h: Likewise.
44473         * lib/unictype/categ_Zs.h: Likewise.
44474         * lib/unictype/ctype_blank.h: Likewise.
44475         * lib/unictype/ctype_cntrl.h: Likewise.
44476         * lib/unictype/ctype_digit.h: Likewise.
44477         * lib/unictype/ctype_space.h: Likewise.
44478         * lib/unictype/ctype_xdigit.h: Likewise.
44479         * lib/unictype/mirror.h: Likewise.
44480         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44481         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44482         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44483         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44484         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44485         * lib/unictype/pr_bidi_control.h: Likewise.
44486         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44487         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44488         * lib/unictype/pr_bidi_pdf.h: Likewise.
44489         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44490         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44491         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44492         * lib/unictype/pr_format_control.h: Likewise.
44493         * lib/unictype/pr_hex_digit.h: Likewise.
44494         * lib/unictype/pr_hyphen.h: Likewise.
44495         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44496         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44497         * lib/unictype/pr_iso_control.h: Likewise.
44498         * lib/unictype/pr_join_control.h: Likewise.
44499         * lib/unictype/pr_left_of_pair.h: Likewise.
44500         * lib/unictype/pr_line_separator.h: Likewise.
44501         * lib/unictype/pr_math.h: Likewise.
44502         * lib/unictype/pr_non_break.h: Likewise.
44503         * lib/unictype/pr_not_a_character.h: Likewise.
44504         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44505         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44506         * lib/unictype/pr_other_id_continue.h: Likewise.
44507         * lib/unictype/pr_other_id_start.h: Likewise.
44508         * lib/unictype/pr_other_lowercase.h: Likewise.
44509         * lib/unictype/pr_other_math.h: Likewise.
44510         * lib/unictype/pr_other_uppercase.h: Likewise.
44511         * lib/unictype/pr_paired_punctuation.h: Likewise.
44512         * lib/unictype/pr_paragraph_separator.h: Likewise.
44513         * lib/unictype/pr_pattern_syntax.h: Likewise.
44514         * lib/unictype/pr_pattern_white_space.h: Likewise.
44515         * lib/unictype/pr_private_use.h: Likewise.
44516         * lib/unictype/pr_quotation_mark.h: Likewise.
44517         * lib/unictype/pr_radical.h: Likewise.
44518         * lib/unictype/pr_soft_dotted.h: Likewise.
44519         * lib/unictype/pr_space.h: Likewise.
44520         * lib/unictype/pr_titlecase.h: Likewise.
44521         * lib/unictype/pr_variation_selector.h: Likewise.
44522         * lib/unictype/pr_white_space.h: Likewise.
44523         * lib/unictype/sy_c_ident.h: Likewise.
44524         * lib/unictype/sy_c_whitespace.h: Likewise.
44525         * lib/unictype/sy_java_whitespace.h: Likewise.
44526         * modules/uni*/*: Bump version number of expected libunistring version.
44527         Reported by Simon Josefsson.
44529 2011-01-09  Karl Heuer  <kwzh@gnu.org>
44531         useless-if-before-free: fix typo in --help and make the internal,
44532         automatic version date update process work once again.
44533         --help output contained a NUL character instead of the
44534         backslash-zero that was intended.  Also, the "must lie within
44535         the first 8 lines" line is on line 9, and hence not getting
44536         automatically updated.
44537         * build-aux/useless-if-before-free: Fix the former by adding a
44538         backslash, and the latter by condensing the three lines of what-it-does
44539         to a single line, leaving one line of slack for the future.
44541 2011-01-09  Bruno Haible  <bruno@clisp.org>
44543         uniwidth/width: Fix width of U+1D173..U+1D17A.
44544         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
44545         symbolic_width, output_width_property_test): New functions.
44546         (main): Invoke output_nonspacing_property, output_width_property_test.
44547         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
44548         U+1D173..U+1D17A.
44549         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
44550         1.
44551         * modules/uniwidth/*: Bump version number of expected libunistring
44552         version.
44553         * modules/unilbrk/*: Likewise.
44555 2011-01-08  Bruno Haible  <bruno@clisp.org>
44557         uninorm tests: Preserve copyright of Unicode data file.
44558         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
44559         Mention modifications.
44561 2011-01-08  Bruno Haible  <bruno@clisp.org>
44563         gen-uni-tables: Prepare for Unicode 5.2.0.
44564         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
44565         (debug_output_lbp, output_lbp): Update.
44567 2011-01-08  Bruno Haible  <bruno@clisp.org>
44569         unilbrk: Clarify gen-uni-tables.c code.
44570         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
44571         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
44572         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
44574 2011-01-07  Bruno Haible  <bruno@clisp.org>
44576         strtod: Restore errno when successfully parsing Infinity or NaN.
44577         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
44578         restore the original errno.
44580 2011-01-07  Bruno Haible  <bruno@clisp.org>
44582         remove test: Avoid failure on HP-UX 11.
44583         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
44585 2011-01-07  Bruno Haible  <bruno@clisp.org>
44587         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
44588         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
44589         error code.
44591 2011-01-07  Pádraig Brady  <P@draigBrady.com>
44593         ignore-value: fixup comments, and add Eric Blake
44594         as an author since he rewrote the macros.
44595         * lib/ignore-value.h (ignore_value):  State that
44596         we now support aggregates.  Also specify exactly
44597         when the GCC warn_unused_result feature was added.
44599 2011-01-06  Eric Blake  <eblake@redhat.com>
44601         ignore-value: support aggregate types
44602         * lib/ignore-value.h (ignore_value): Provide separate gcc
44603         definition.
44604         * modules/ignore-value-tests: New test module.
44605         * tests/test-ignore-value.c: New test.
44607         maint.mk: improve sc_prohibit_strcmp regex
44608         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
44609         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
44610         definition of STRNEQ.
44612         signal: work around Haiku issue with SIGBUS
44613         * lib/siglist.h: Add comment.
44614         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
44615         strsignal's favoring of SIGSEGV.
44616         * tests/test-signal.c (main): Avoid test failure.
44617         * doc/posix-headers/signal.texi (signal.h): Document the issue.
44618         Reported by Scott McCreary.
44620         maint.mk: add pre-release check to ensure submodule commits are public
44621         * top/maint.mk (public-submodule-commit): New rule.
44622         (submodule-checks): New variable.
44623         (alpha beta stable): Depend on the variable.
44625 2011-01-05  Pádraig Brady  <P@draigBrady.com>
44626         and Jim Meyering  <meyering@redhat.com>
44628         ignore-value: make ignore_value more generic; deprecate ignore_ptr
44629         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
44630         (ATTRIBUTE_DEPRECATED): Define.
44631         (_ignore_case): New function.
44632         (ignore_value): New macro, to replace the old function.
44633         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
44634         * modules/ignore-value (Depends-on): Add stdint.
44636 2011-01-04  Eric Blake  <eblake@redhat.com>
44638         doc: regenerate INSTALL
44639         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
44640         @firstparagraphindent support, now that autoconf dropped it.
44641         (INSTALL_PRELUDE): Reinstate old macro.
44642         * doc/install.texi: Resync from autoconf.
44643         * doc/INSTALL: Reflect recent autoconf update.
44644         * doc/INSTALL.ISO: Likewise.
44645         * doc/INSTALL.UTF-8: Likewise.
44646         Reported by Karl Berry.
44648 2011-01-04  Bruce Korb  <address@hidden>
44650         git-version-gen: avoid a sub-shell
44651         * build-aux/git-version-gen: Redirect stderr in `...` via
44652         "exec 2>...", rather than via an added sub-shell.
44654 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
44656         git-version-gen: use (...) rather than sh -c '...'
44657         * build-aux/git-version-gen: Rather than hard-coding a shell's name
44658         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
44660 2011-01-03  Jim Meyering  <meyering@redhat.com>
44662         git-version-gen: convert leading TABs to spaces
44663         * build-aux/git-version-gen: Expand leading TABs.
44665         git-version-gen: handle failed "git rev-list"
44666         * build-aux/git-version-gen: Rather than leaking a "fatal" error
44667         from git and proceeding as if it had succeeded but printed no SHA1
44668         checksums, suppress the diagnostic and handle the failure.
44669         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
44671         git-version-gen: include command name in one more diagnostic
44672         * build-aux/git-version-gen: When the required .tarball-version file
44673         was missing or unreadable, you might see the diagnostic from "cat",
44674         but no trace of the name of the invoking script.  Now, you still see
44675         the diagnostic from cat, but also get one from "git-version-gen: ".
44676         Inspired by a patch from Bruce Korb.
44678         update-copyright: adjust test to match changed code
44679         * tests/test-update-copyright.sh: Change test's expected output
44680         to match new actual output.
44682 2011-01-02  Bruno Haible  <bruno@clisp.org>
44684         getlogin_r: Avoid test failure on HP-UX 11.
44685         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
44686         ERANGE when the second argument is zero.
44687         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
44688         portability problem.
44690 2011-01-02  Bruce Korb  <bkorb@gnu.org>
44692         * build-aux/update-copyright: doc Simon's changes
44694 2011-01-02  Simon Josefsson  <simon@josefsson.org>
44696         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
44697         environment variable.
44699 2011-01-02  Bruno Haible  <bruno@clisp.org>
44701         unigbrk: Avoid gcc warnings.
44702         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
44703         unused variable.
44704         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
44705         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
44706         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
44707         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
44708         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
44709         Change type of first argument to 'const char *'.
44710         (main): Remove unused variable.
44711         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
44712         type of first argument to 'const char *'.
44713         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
44714         Likewise.
44715         (main): Change type of variable 's'.
44716         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
44717         to 'int'.
44719 2011-01-02  Bruno Haible  <bruno@clisp.org>
44721         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
44722         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
44723         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
44724         bug.
44725         * lib/pwrite.c: Undo 2010-12-31 patch.
44726         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
44728 2011-01-02  Bruno Haible  <bruno@clisp.org>
44730         pread: Fix test whether it works.
44731         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
44733 2011-01-02  Bruno Haible  <bruno@clisp.org>
44735         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
44736         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
44737         ends in "6". Don't require a specific month name. Try also the locale
44738         names found on HP-UX 11 and Solaris 7.
44740 2011-01-02  Bruno Haible  <bruno@clisp.org>
44742         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44743         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44744         C linkage.
44745         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44747 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44749         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44750         for consistency, since the "cluster" term is not used elsewhere.
44751         * lib/unigbrk.in.h: Update name.
44752         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44753         * lib/unigbrk/u16-grapheme-next.c: Update name.
44754         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44755         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44756         * lib/unigbrk/u32-grapheme-next.c: Update name.
44757         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44758         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44759         * lib/unigbrk/u8-grapheme-next.c: Update name.
44760         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44761         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44762         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44763         Suggested by Bruno Haible.
44765 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44767         Remove module 'u8-grapheme-len' as too redundant with
44768         'u8-grapheme-next'.
44769         * modules/unigbrk/u8-grapheme-len: Delete file.
44770         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44771         * lib/unigbrk.in.h: Remove prototype for deleted function.
44772         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44773         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44775         Remove module 'u16-grapheme-len' as too redundant with
44776         'u16-grapheme-next'.
44777         * modules/unigbrk/u16-grapheme-len: Delete file.
44778         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44779         * lib/unigbrk.in.h: Remove prototype for deleted function.
44780         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44781         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44783         Remove module 'u32-grapheme-len' as too redundant with
44784         'u32-grapheme-next'.
44785         * modules/unigbrk/u32-grapheme-len: Delete file.
44786         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44787         * lib/unigbrk.in.h: Remove prototype for deleted function.
44788         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44789         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44791         Suggested by Bruno Haible.
44793 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44795         * unigbrk.in.h: Fix typo: "ben" => "been".
44796         Reported by Bruno Haible.
44798 2011-01-01  Jim Meyering  <meyering@redhat.com>
44800         maint: update almost all copyright ranges to include 2011
44801         Run the new "make update-copyright" rule.
44803 2011-01-01  Jim Meyering  <meyering@redhat.com>
44805         maint: update-copyright: exempt doc/INSTALL*
44806         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44807         since they are generated.  Suggested by Bruno Haible.
44809 2011-01-01  Jim Meyering  <meyering@redhat.com>
44811         maint: refine the update-copyright rule
44812         * Makefile (update-copyright): Also exclude any file that includes
44813         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44814         code that merely generates the comment.
44816 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44818         New module 'u8-grapheme-len'.
44819         * modules/unigbrk/u8-grapheme-len: New file.
44820         * modules/unigbrk/u8-grapheme-len-tests: New file.
44821         * lib/unigbrk.in.h: Add prototype for new function.
44822         * lib/unigbrk/u8-grapheme-len.c: New file.
44823         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44825         New module 'u16-grapheme-len'.
44826         * modules/unigbrk/u16-grapheme-len: New file.
44827         * modules/unigbrk/u16-grapheme-len-tests: New file.
44828         * lib/unigbrk.in.h: Add prototype for new function.
44829         * lib/unigbrk/u16-grapheme-len.c: New file.
44830         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44832         New module 'u32-grapheme-len'.
44833         * modules/unigbrk/u32-grapheme-len: New file.
44834         * modules/unigbrk/u32-grapheme-len-tests: New file.
44835         * lib/unigbrk.in.h: Add prototype for new function.
44836         * lib/unigbrk/u32-grapheme-len.c: New file.
44837         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44839         New module 'u8-grapheme-next'.
44840         * modules/unigbrk/u8-grapheme-next: New file.
44841         * modules/unigbrk/u8-grapheme-next-tests: New file.
44842         * lib/unigbrk.in.h: Add prototype for new function.
44843         * lib/unigbrk/u8-grapheme-next.c: New file.
44844         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44846         New module 'u16-grapheme-next'.
44847         * modules/unigbrk/u16-grapheme-next: New file.
44848         * modules/unigbrk/u16-grapheme-next-tests: New file.
44849         * lib/unigbrk.in.h: Add prototype for new function.
44850         * lib/unigbrk/u16-grapheme-next.c: New file.
44851         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44853         New module 'u32-grapheme-next'.
44854         * modules/unigbrk/u32-grapheme-next: New file.
44855         * modules/unigbrk/u32-grapheme-next-tests: New file.
44856         * lib/unigbrk.in.h: Add prototype for new function.
44857         * lib/unigbrk/u32-grapheme-next.c: New file.
44858         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44860         New module 'u8-grapheme-prev'.
44861         * modules/unigbrk/u8-grapheme-prev: New file.
44862         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44863         * lib/unigbrk.in.h: Add prototype for new function.
44864         * lib/unigbrk/u8-grapheme-prev.c: New file.
44865         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44867         New module 'u16-grapheme-prev'.
44868         * modules/unigbrk/u16-grapheme-prev: New file.
44869         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44870         * lib/unigbrk.in.h: Add prototype for new function.
44871         * lib/unigbrk/u16-grapheme-prev.c: New file.
44872         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44874         New module 'u32-grapheme-prev'.
44875         * modules/unigbrk/u32-grapheme-prev: New file.
44876         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44877         * lib/unigbrk.in.h: Add prototype for new function.
44878         * lib/unigbrk/u32-grapheme-prev.c: New file.
44879         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44881         New module 'u8-grapheme-breaks'.
44882         * modules/unigbrk/u8-grapheme-breaks: New file.
44883         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44884         * lib/unigbrk.in.h: Add prototype for new function.
44885         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44886         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44888         New module 'u16-grapheme-breaks'.
44889         * modules/unigbrk/u16-grapheme-breaks: New file.
44890         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44891         * lib/unigbrk.in.h: Add prototype for new function.
44892         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44893         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44895         New module 'u32-grapheme-breaks'.
44896         * modules/unigbrk/u32-grapheme-breaks: New file.
44897         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44898         * lib/unigbrk.in.h: Add prototype for new function.
44899         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44900         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44902         New module 'ulc-grapheme-breaks'.
44903         * modules/unigbrk/ulc-grapheme-breaks: New file.
44904         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44905         * m4/locale-ar.m4: New file.
44906         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44907         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44908         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44910 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44912         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44913         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44914         modified how this file was generated before I initially submitted
44915         the module, but failed to regenerate it.  This meant that several
44916         of the level2 entries were wrong.
44917         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44918         Remove the division-by-2 that is folded into the table now that
44919         gbrkprop.h has been regenerated properly.  Now -1 entries are
44920         handled correctly.
44922         New module 'unigbrk/uc-gbrk-prop-tests'.
44923         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44924         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44925         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44926         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44928 2011-01-01  Bruno Haible  <bruno@clisp.org>
44930         Avoid use of hexadecimal escapes.
44931         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44932         instead of hexadecimal escapes.
44934 2011-01-01  Jim Meyering  <meyering@redhat.com>
44936         maint: new rule to update copyright year ranges
44937         * Makefile (update-copyright): New rule.
44939         maint: indent with TABs in Makefile
44940         * Makefile: Expand leading sequences of spaces to TABs
44942         version-etc: update the copyright year it reports
44943         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44945 2010-12-31  Bruno Haible  <bruno@clisp.org>
44947         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44948         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44949         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44950         zero.
44952 2010-12-31  Bruno Haible  <bruno@clisp.org>
44954         pwrite: Work around HP-UX 11.11 bug.
44955         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44956         works and set REPLACE_PWRITE if not.
44957         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44958         function.
44959         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44961 2010-12-31  Bruno Haible  <bruno@clisp.org>
44963         pread: Work around HP-UX 11 bugs.
44964         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
44965         and set REPLACE_PREAD if not.
44966         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
44968 2010-12-31  Eric Blake  <eblake@redhat.com>
44970         nl_langinfo: fix YESEXPR on Irix 6.5
44971         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
44972         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
44973         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
44974         it.
44976 2010-12-31  Bruno Haible  <bruno@clisp.org>
44978         iconv: Document HP-UX 11 bug.
44979         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
44981 2010-12-31  Bruno Haible  <bruno@clisp.org>
44983         ldexpl: Fix link error on HP-UX 11.
44984         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
44985         LDEXPL_LIBM, using $ISNANL_LIBM.
44987 2010-12-31  Eric Blake  <eblake@redhat.com>
44989         ftello: avoid compilation failure with SunStudio c89
44990         * lib/ftello.c (ftello): Use lseek, not llseek.
44992         tests: avoid failing coreutils tests on cygwin
44993         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
44994         (create_exe_shims_): Return 0 when skipping.
44996 2010-12-31  Bruno Haible  <bruno@clisp.org>
44998         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
44999         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
45001 2010-12-31  Bruno Haible  <bruno@clisp.org>
45003         waitpid: Fix link error in C++ mode.
45004         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
45006 2010-12-31  Bruno Haible  <bruno@clisp.org>
45008         isnan: Use GCC built-ins when possible.
45009         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
45010         __builtin_isnan.
45011         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
45012         (isnan): Define using GCC built-ins for GCC >= 4.0.
45014 2010-12-31  Bruno Haible  <bruno@clisp.org>
45016         isnand: Fix mistake.
45017         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
45018         __builtin_isnand.
45020 2010-12-31  Bruno Haible  <bruno@clisp.org>
45022         open: Avoid C++ error on HP-UX 11.
45023         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
45025 2010-12-31  Bruno Haible  <bruno@clisp.org>
45027         time_r: Add missing declarations on HP-UX 11.
45028         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
45029         instead of HAVE_LOCALTIME_R.
45030         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
45031         HAVE_LOCALTIME_R always.
45032         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
45033         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
45034         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
45035         HAVE_LOCALTIME_R.
45036         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
45037         * doc/posix-functions/localtime_r.texi: Likewise.
45039 2010-12-29  Eric Blake  <eblake@redhat.com>
45041         mountlist: tweak previous commit
45042         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
45043         Reported by Paul Eggert.
45045         mountlist: fix local drive detection on cygwin
45046         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
45047         that works for cygwin.
45049 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45051         ftoastr, snprintf: ftoastr + snprintf module
45052         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
45053         since the snprintf module now should be good enough here.
45054         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
45055         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
45056         and gl_MODULE_INDICATOR([snprintf]), but the former enables
45057         GNULIB_SNPRINTF only for the test directory, and the latter
45058         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
45059         seems to suffice by itself.
45061 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45063         alloca: one step towards thread-safety
45064         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
45065         need for a static variable.  All callers changed.  This does not
45066         make the alloca replacement thread-safe, but it's one step.
45068         tests: minor indenting change
45069         * tests/init.sh: Sync from coreutils housekeeping patch
45070         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
45071         to keep lines within 80 columns.
45073 2010-12-28  Jim Meyering  <meyering@redhat.com>
45075         regex: don't infloop on persistent failing calloc
45076         * lib/regexec.c (build_trtable): Return failure indication upon
45077         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
45078         In glibc, this was fixed for version 2.13:
45079         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
45081 2010-12-28  Bruno Haible  <bruno@clisp.org>
45082             Paul Eggert <eggert@cs.ucla.edu>
45084         linkat: Make implementation robust against system behaviour variations.
45085         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
45086         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
45087         way, and to -2 if it needs a generic runtime test.
45088         * lib/linkat.c (solaris_optimized_link_immediate,
45089         solaris_optimized_link_follow): New functions.
45090         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
45091         (check_same_link): Use it.
45093 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
45095         New module 'unigbrk/base'.
45096         * modules/unigbrk/base: New file.
45097         * lib/unigbrk.in.h: New file.
45099         New module 'unigbrk/uc-gbrk-prop'.
45100         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
45101         * modules/unigbrk/uc-gbrk-prop: New file.
45102         * lib/unigbrk/gbrkprop.h: New file.
45103         * lib/unigbrk/uc-gbrk-prop.c: New file.
45105         New module 'unigbrk/uc-is-grapheme-break'.
45106         * modules/unigbrk/uc-is-grapheme-break: New file.
45107         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
45108         * lib/unigbrk/uc-is-grapheme-break.c: New file.
45109         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
45110         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
45111         * tests/unigbrk/GraphemeBreakTest.txt: New file.
45113         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
45115 2010-12-27  Bruno Haible  <bruno@clisp.org>
45117         linkat test: Avoid failure on Solaris 11 2010-11.
45118         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
45120 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45122         utimens: work around glibc rounding bug on more platforms
45123         * lib/utimens.c (fdutimens): Work around rounding bug even if
45124         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
45125         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
45127 2010-12-27  Bruno Haible  <bruno@clisp.org>
45129         select tests: Improve comments.
45130         * tests/test-select.c (do_select): Add comments.
45132 2010-12-27  Bruno Haible  <bruno@clisp.org>
45134         select tests: Safer way of handling timeout.
45135         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
45136         at every invocation.
45138 2010-12-27  Bruno Haible  <bruno@clisp.org>
45140         select tests: Use 'bool' where appropriate.
45141         * tests/test-select.c (connect_to_socket): Change argument type to
45142         'bool'.
45144 2010-12-27  Bruno Haible  <bruno@clisp.org>
45146         select tests: Use existing modules.
45147         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
45148         (configure.ac): Don't test for unistd.h.
45149         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
45150         declared in <unistd.h>.
45152 2010-12-27  Bruno Haible  <bruno@clisp.org>
45154         mbrtowc: Work around a Solaris 7 bug.
45155         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
45156         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
45157         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
45158         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
45159         MBRTOWC_NULL_ARG1_BUG.
45160         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
45161         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
45162         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
45163         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
45165 2010-12-27  Jim Meyering  <meyering@redhat.com>
45167         read-file.c: tweak syntax
45168         * lib/read-file.c (fread_file): Remove space after "*" in function
45169         definitions.
45171 2010-12-27  Bruno Haible  <bruno@clisp.org>
45173         times test: Avoid gcc warnings on OSF/1.
45174         * tests/test-times.c (main): Cast printf arguments from clock_t to
45175         'long int'.
45177 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45179         utimens: work around glibc rounding bug on older Linux kernels
45180         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
45181         on Linux with a glibc whose utimes might not work, then work
45182         around a longstanding glibc bug involving rounding rather than
45183         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
45184         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45186 2010-12-26  Bruno Haible  <bruno@clisp.org>
45188         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
45189         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
45190         _GL_CXXALIAS_SYS.
45191         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45193 2010-12-26  Bruno Haible  <bruno@clisp.org>
45195         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
45196         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
45197         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
45198         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
45199         looking for the declaration.
45200         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45201         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
45202         problem.
45203         * doc/posix-functions/inet_pton.texi: Likewise.
45205 2010-12-26  Bruno Haible  <bruno@clisp.org>
45207         arpa_inet: Use the common idioms with C++ support.
45208         * lib/arpa_inet.in.h: Include c++defs.h.
45209         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
45210         support.
45211         * modules/arpa_inet (Depends-on): Add c++defs.
45212         (Makefile.am): Substitute the contents of c++defs.h.
45213         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
45214         * modules/arpa_inet-c++-tests: New file.
45215         * tests/test-arpa_inet-c++.cc: New file.
45217 2010-12-25  Bruno Haible  <bruno@clisp.org>
45219         Fix more C++ link errors on Solaris 8.
45220         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
45221         $(LIB_EACCESS).
45222         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
45223         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
45224         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
45225         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
45226         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
45228 2010-12-25  Bruno Haible  <bruno@clisp.org>
45230         printf-posix: Fix link error when a non-GCC compiler is used.
45231         * lib/stdio.in.h (printf): When not using GCC, override printf
45232         correctly.
45233         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45235 2010-12-25  Bruno Haible  <bruno@clisp.org>
45237         strerror_r-posix: Update doc.
45238         * doc/posix-functions/strerror_r.texi: Update doc about the return
45239         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
45241 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45243         utimens: simplify the logic of the previous change
45244         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
45245         This should not affect whether the test succeeds or fails.
45247         utimens: configure better on hosts with NFS clock skew
45248         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
45249         uses the clock of the local host.  It might use the clock of the
45250         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
45251         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45253 2010-12-25  Bruno Haible  <bruno@clisp.org>
45255         ptsname test: Avoid failure on Solaris.
45256         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
45257         open a pseudo-terminal; don't use BSD-style ptys.
45258         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
45260 2010-12-25  Bruno Haible  <bruno@clisp.org>
45262         ptsname: Avoid ERANGE failure on some systems.
45263         * lib/ptsname.c (buffer): Increase size.
45265 2010-12-25  Bruno Haible  <bruno@clisp.org>
45267         rename, renameat: Avoid test failures at NFS mounted locations.
45268         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
45269         so that subsequent mkdir calls succeed.
45271 2010-12-25  Bruno Haible  <bruno@clisp.org>
45273         iswblank: Fix C++ link error on Solaris 8.
45274         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
45275         _GL_FUNCDECL_SYS.
45277 2010-12-25  Bruno Haible  <bruno@clisp.org>
45279         unistd: Fix C++ link error on Solaris 8.
45280         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
45282 2010-12-25  Bruno Haible  <bruno@clisp.org>
45284         readlink doc: Mention an old glibc bug.
45285         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
45287 2010-12-25  Bruno Haible  <bruno@clisp.org>
45289         fcntl-h: Fix for use of C++ on glibc systems.
45290         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
45291         also on glibc systems in C++ mode.
45292         Reported by Gary V. Vaughan <gary@gnu.org>.
45294 2010-12-25  Bruno Haible  <bruno@clisp.org>
45296         roundl-ieee: Make it work on OSF/1 5.1 with cc.
45297         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
45299 2010-12-25  Bruno Haible  <bruno@clisp.org>
45301         truncl-ieee: Make it work on OSF/1 5.1 with cc.
45302         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
45303         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
45304         test whether truncl works according to ISO C 99 with IEC 60559.
45305         * m4/truncl-ieee.m4: New file.
45306         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
45307         m4/signbit.m4.
45308         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
45310 2010-12-25  Bruno Haible  <bruno@clisp.org>
45312         ceill-ieee: Make it work on OSF/1 5.1 with cc.
45313         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
45314         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
45315         test whether ceill works according to ISO C 99 with IEC 60559.
45316         * m4/ceill-ieee.m4: New file.
45317         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
45318         m4/signbit.m4.
45319         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
45321 2010-12-25  Bruno Haible  <bruno@clisp.org>
45323         Ensure all prerequisites of <wchar.h> are included.
45324         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
45325         before <wchar.h>.
45326         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
45327         gl_MBRLEN_NUL_RETVAL): Likewise.
45328         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45329         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
45330         AC_FUNC_MBRTOWC): Likewise.
45331         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45332         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45333         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45334         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45335         Likewise.
45336         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45337         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
45338         (gl_WCHAR_H): Improve comments.
45339         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
45341 2010-12-25  Bruno Haible  <bruno@clisp.org>
45343         strtok_r: Fix C syntax error in autoconf macro.
45344         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
45345         characters in test program.
45347 2010-12-24  Bruno Haible  <bruno@clisp.org>
45349         ceil, trunc, round: Fix gcc warnings.
45350         * lib/ceil.c (MIN): Undefine before redefining.
45351         * lib/trunc.c (MIN): Likewise.
45352         * lib/round.c (MIN): Likewise.
45353         Include <math.h> first.
45355 2010-12-24  Bruno Haible  <bruno@clisp.org>
45357         select tests: Avoid failures on OSF/1 5.1.
45358         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
45359         failure of closing the last socket; it may fail with ECONNRESET.
45361 2010-12-24  Eric Blake  <eblake@redhat.com>
45363         stdint: avoid HP-UX 10.20 preprocessor bug
45364         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
45365         than #if.
45366         * tests/test-floor2.c (main): Likewise.
45367         Reported by Peter O'Gorman.
45369         pipe: make obsoletion transition easier
45370         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
45371         * modules/pipe (Files): Include revived file.
45372         (Include): Drop reference, to mirror getdate's behavior.
45374 2010-12-24  Bruno Haible  <bruno@clisp.org>
45376         sys_socket: Hide mismatch of declarations on NonStop Kernel.
45377         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
45378         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
45379         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45381 2010-12-24  Bruno Haible  <bruno@clisp.org>
45383         gethostname: Ensure declaration on NonStop Kernel.
45384         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
45385         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45387 2010-12-24  Bruno Haible  <bruno@clisp.org>
45389         sys_select: Ensure all necessary types on NonStop Kernel.
45390         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
45391         include <sys/time.h>.
45392         * doc/posix-headers/sys_select.texi: Mention that it's missing on
45393         NonStop Kernel.
45394         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45396 2010-12-24  Bruno Haible  <bruno@clisp.org>
45398         sys_select: Remove unneeded include.
45399         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
45400         have <sys/select.h>.
45402 2010-12-24  Bruno Haible  <bruno@clisp.org>
45404         gethostname: Provide a fallback for HOST_NAME_MAX.
45405         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
45406         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
45407         instead.
45408         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45410 2010-12-24  Bruno Haible  <bruno@clisp.org>
45412         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
45413         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
45414         (SA_RESTART): Likewise.
45415         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45417 2010-12-24  Bruno Haible  <bruno@clisp.org>
45419         signal: Define NSIG.
45420         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
45421         * tests/test-signal.c (nsig): New variable.
45422         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45424 2010-12-24  Bruno Haible  <bruno@clisp.org>
45426         rename, renameat: Avoid test failures on OSF/1 5.1.
45427         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
45428         alternative error codes.
45429         * tests/test-renameat.c (main): Likewise.
45431 2010-12-24  Bruno Haible  <bruno@clisp.org>
45433         *printf: Detect large precisions bug on Solaris 10/SPARC.
45434         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
45435         by Paul Eggert.
45436         * tests/test-snprintf-posix.h (test_function): Add this test code here
45437         too.
45438         * tests/test-sprintf-posix.h (test_function): Likewise.
45439         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45440         * tests/test-vasprintf-posix.c (test_function): Likewise.
45441         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
45442         around by gnulib.
45443         * doc/posix-functions/printf.texi: Likewise.
45444         * doc/posix-functions/snprintf.texi: Likewise.
45445         * doc/posix-functions/sprintf.texi: Likewise.
45446         * doc/posix-functions/vfprintf.texi: Likewise.
45447         * doc/posix-functions/vprintf.texi: Likewise.
45448         * doc/posix-functions/vsnprintf.texi: Likewise.
45449         * doc/posix-functions/vsprintf.texi: Likewise.
45450         * doc/posix-functions/dprintf.texi: Undo last commit.
45451         * doc/posix-functions/vdprintf.texi: Likewise.
45453 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45455         tests: port test-fdutimensat.c to Solaris 8
45456         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
45457         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
45458         On Solaris 8, it fails with errno == ENOSYS, because there is no
45459         futimens (so it can't use the fd), and there is no lutimens (so it
45460         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
45462         vsnprintf: make more consistent with snprintf; doc fixes
45464         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
45465         the byte count return problem was promoted from the snprintf-posix
45466         to the snprintf module.
45467         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45468         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
45469         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
45470         * tests/test-snprintf.c (main): Check the byte count returned.
45471         * tests/test-vsnprintf.c (main): Likewise.
45473 2010-12-23  Eric Blake  <eblake@redhat.com>
45475         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
45476         * modules/sigpipe (License): Relax license.
45478 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45480         doc: document Solaris printf bug with large float precisions
45481         * doc/posix-functions/dprintf.texi (dprintf):
45482         * doc/posix-functions/fprintf.texi (fprintf):
45483         * doc/posix-functions/printf.texi (printf):
45484         * doc/posix-functions/snprintf.texi (snprintf):
45485         * doc/posix-functions/sprintf.texi (sprintf):
45486         * doc/posix-functions/vdprintf.texi (vdprintf):
45487         * doc/posix-functions/vfprintf.texi (vfprintf):
45488         * doc/posix-functions/vprintf.texi (vprintf):
45489         * doc/posix-functions/vsnprintf.texi (vsnprintf):
45490         * doc/posix-functions/vsprintf.texi (vsprintf):
45491         Mention that these functions mishandle large floating point
45492         precisions on Solaris 10.  The same bug is also present in Solaris
45493         8, and I assume earlier.  This causes "cd gnulib-tests; make
45494         check" to fail on Solaris 8 (and I assume, later) when building
45495         the latest coreutils, in test-vasprintf-posix's call to
45496         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
45497         the wide flavors (e.g., wprintf) so this patch just updates the
45498         documentation for the narrow ones.
45500         test-posixtm.c: add two tests
45501         * tests/test-posixtm.c: Add two tests, to highlight the
45502         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
45503         around this bug; this is merely to document it.
45505 2010-12-22  Bruno Haible  <bruno@clisp.org>
45507         getlogin_r: Work around portability problem on OSF/1.
45508         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
45509         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
45510         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
45511         test for a truncated result.
45512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
45513         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
45514         * modules/getlogin_r (Depends-on): Add memchr.
45515         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
45517 2010-12-22  Bruno Haible  <bruno@clisp.org>
45519         ptsname: Avoid test failure on OSF/1 5.1.
45520         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
45521         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
45522         (same_slave): New function.
45523         (main): Use it to compare ptsname's result with the expected file name.
45525 2010-12-22  Bruno Haible  <bruno@clisp.org>
45527         Port extended stdio modules to HP NonStop Kernel.
45528         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
45529         macros.
45530         * lib/fbufmode.c: Update comments.
45531         * lib/fflush.c: Likewise.
45532         * lib/fpurge.c: Likewise.
45533         * lib/freadable.c: Likewise.
45534         * lib/freadahead.c: Likewise.
45535         * lib/freading.c: Likewise.
45536         * lib/freadptr.c: Likewise.
45537         * lib/freadseek.c: Likewise.
45538         * lib/fseeko.c: Likewise.
45539         * lib/fseterr.c: Likewise.
45540         * lib/fwritable.c: Likewise.
45541         * lib/fwriting.c: Likewise.
45542         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45544 2010-12-22  Bruno Haible  <bruno@clisp.org>
45546         ttyname_r: Work around bug on OSF/1 5.1.
45547         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
45548         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
45549         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
45550         present.
45551         * lib/ttyname_r.c (ttyname_r): Update comments.
45553 2010-12-22  Bruno Haible  <bruno@clisp.org>
45555         round: Implement result sign according to IEEE 754.
45556         * lib/round.c (MIN, MINUS_ZERO): New macros.
45557         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
45558         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
45559         * tests/test-round-ieee.c (main): Likewise.
45560         * tests/test-roundl-ieee.c (main): Likewise.
45562         trunc: Implement result sign according to IEEE 754.
45563         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
45564         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
45565         * tests/test-trunc2.c: Include minus-zero.h.
45566         (MINUS_ZERO): New macro.
45567         (trunc_reference): Keep in sync with lib/trunc.c.
45568         * tests/test-truncf2.c: Include minus-zero.h.
45569         (MINUS_ZERO): New macro.
45570         (truncf_reference): Keep in sync with lib/trunc.c.
45571         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
45572         * tests/test-trunc-ieee.c (main): Likewise.
45573         * tests/test-truncl-ieee.c (main): Likewise.
45575         ceil: Implement result sign according to IEEE 754.
45576         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
45577         (FUNC): Return -0.0 for -1 < x < 0.
45578         * tests/test-ceil2.c: Include minus-zero.h.
45579         (MINUS_ZERO): New macro.
45580         (ceil_reference): Keep in sync with lib/ceil.c.
45581         * tests/test-ceilf2.c: Include minus-zero.h.
45582         (MINUS_ZERO): New macro.
45583         (ceilf_reference): Keep in sync with lib/ceil.c.
45584         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
45585         * tests/test-ceil-ieee.c (main): Likewise.
45586         * tests/test-ceill-ieee.c (main): Likewise.
45588         floor: Implement result sign according to IEEE 754.
45589         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
45590         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
45591         * tests/test-floorf2.c (floorf_reference): Likewise.
45592         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
45593         * tests/test-floor-ieee.c (main): Likewise.
45594         * tests/test-floorl-ieee.c (main): Likewise.
45596 2010-12-22  Bruno Haible  <bruno@clisp.org>
45598         getaddrinfo: Update doc.
45599         * doc/posix-functions/gai_strerror.texi: Return type is also different
45600         on AIX and HP-UX.
45602 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45604         getaddrinfo, inet_ntop: Update doc for Solaris.
45605         * doc/posix-functions/gai_strerror.texi: Return type is also an
45606         issue on Solaris 9 and earlier.
45607         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
45608         on Solaris 10 and earlier.
45610 2010-12-21  Bruno Haible  <bruno@clisp.org>
45612         New module 'roundl-ieee'.
45613         * modules/roundl-ieee: New file.
45614         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
45615         test whether roundl works according to ISO C 99 with IEC 60559.
45616         * m4/roundl-ieee.m4: New file.
45617         * modules/roundl-ieee-tests: New file.
45618         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
45619         * tests/test-roundl.c (main): Remove signbit tests.
45620         * modules/roundl-tests (Depends-on): Remove signbit.
45621         * doc/posix-functions/roundl.texi: Mention the new module.
45623 2010-12-21  Bruno Haible  <bruno@clisp.org>
45625         New module 'truncl-ieee'.
45626         * modules/truncl-ieee: New file.
45627         * modules/truncl-ieee-tests: New file.
45628         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
45629         * tests/test-truncl.c (main): Remove signbit tests.
45630         * modules/truncl-tests (Depends-on): Remove signbit.
45631         * doc/posix-functions/truncl.texi: Mention the new module.
45633 2010-12-21  Bruno Haible  <bruno@clisp.org>
45635         New module 'ceill-ieee'.
45636         * modules/ceill-ieee: New file.
45637         * modules/ceill-ieee-tests: New file.
45638         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
45639         * tests/test-ceill.c (main): Remove signbit tests.
45640         * modules/ceill-tests (Depends-on): Remove signbit.
45641         * doc/posix-functions/ceill.texi: Mention the new module.
45643 2010-12-21  Bruno Haible  <bruno@clisp.org>
45645         New module 'floorl-ieee'.
45646         * modules/floorl-ieee: New file.
45647         * modules/floorl-ieee-tests: New file.
45648         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
45649         * tests/test-floorl.c (main): Remove signbit tests.
45650         * modules/floorl-tests (Depends-on): Remove signbit.
45651         * doc/posix-functions/floorl.texi: Mention the new module.
45653 2010-12-21  Bruno Haible  <bruno@clisp.org>
45655         New module 'round-ieee'.
45656         * modules/round-ieee: New file.
45657         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
45658         whether round works according to ISO C 99 with IEC 60559.
45659         * m4/round-ieee.m4: New file.
45660         * modules/round-ieee-tests: New file.
45661         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
45662         * tests/test-round1.c (main): Remove signbit tests.
45663         * modules/round-tests (Depends-on): Remove 'signbit'.
45664         * doc/posix-functions/round.texi: Mention the new module.
45666 2010-12-21  Bruno Haible  <bruno@clisp.org>
45668         New module 'trunc-ieee'.
45669         * modules/trunc-ieee: New file.
45670         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
45671         whether trunc works according to ISO C 99 with IEC 60559.
45672         * m4/trunc-ieee.m4: New file.
45673         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
45674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
45675         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
45676         * modules/trunc-ieee-tests: New file.
45677         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
45678         * tests/test-trunc1.c (main): Remove signbit tests.
45679         * modules/trunc-tests (Depends-on): Remove 'signbit'.
45680         * doc/posix-functions/trunc.texi: Mention the new module.
45682 2010-12-21  Bruno Haible  <bruno@clisp.org>
45684         New module 'ceil-ieee'.
45685         * modules/ceil-ieee: New file.
45686         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
45687         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
45688         ISO C 99 with IEC 60559.
45689         * m4/ceil-ieee.m4: New file.
45690         * modules/ceil (Files): Add lib/ceil.c.
45691         (Depends-on): Add 'float'.
45692         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45693         * lib/math.in.h (ceil): New declaration.
45694         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
45695         REPLACE_CEIL.
45696         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
45697         * modules/ceil-ieee-tests: New file.
45698         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
45699         * tests/test-math-c++.cc: Check the signature of 'ceil'.
45700         * doc/posix-functions/ceil.texi: Mention the new module.
45702 2010-12-21  Bruno Haible  <bruno@clisp.org>
45704         New module 'floor-ieee'.
45705         * modules/floor-ieee: New file.
45706         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
45707         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
45708         ISO C 99 with IEC 60559.
45709         * m4/floor-ieee.m4: New file.
45710         * modules/floor (Files): Add lib/floor.c.
45711         (Depends-on): Add 'float'.
45712         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45713         * lib/math.in.h (floor): New declaration.
45714         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
45715         REPLACE_FLOOR.
45716         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
45717         * modules/floor-ieee-tests: New file.
45718         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
45719         * tests/test-math-c++.cc: Check the signature of 'floor'.
45720         * doc/posix-functions/floor.texi: Mention the new module.
45722 2010-12-21  Bruno Haible  <bruno@clisp.org>
45724         New module 'roundf-ieee'.
45725         * modules/roundf-ieee: New file.
45726         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
45727         test whether roundf works according to ISO C 99 with IEC 60559.
45728         * m4/roundf-ieee.m4: New file.
45729         * modules/roundf-ieee-tests: New file.
45730         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
45731         * tests/test-roundf1.c (main): Remove signbit tests.
45732         * modules/roundf-tests (Depends-on): Remove 'signbit'.
45733         * doc/posix-functions/roundf.texi: Mention the new module.
45735 2010-12-21  Bruno Haible  <bruno@clisp.org>
45737         New module 'truncf-ieee'.
45738         * modules/truncf-ieee: New file.
45739         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45740         test whether truncf works according to ISO C 99 with IEC 60559.
45741         * m4/truncf-ieee.m4: New file.
45742         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45744         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45745         * modules/truncf-ieee-tests: New file.
45746         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45747         * tests/test-truncf1.c (main): Remove signbit tests.
45748         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45749         * doc/posix-functions/truncf.texi: Mention the new module.
45751 2010-12-21  Bruno Haible  <bruno@clisp.org>
45753         New module 'ceilf-ieee'.
45754         * modules/ceilf-ieee: New file.
45755         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45756         test whether ceilf works according to ISO C 99 with IEC 60559.
45757         * m4/ceilf-ieee.m4: New file.
45758         * modules/ceilf-ieee-tests: New file.
45759         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45760         * tests/test-ceilf1.c (main): Remove signbit tests.
45761         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45762         * doc/posix-functions/ceilf.texi: Mention the new module.
45764 2010-12-21  Bruno Haible  <bruno@clisp.org>
45766         New module 'floorf-ieee'.
45767         * modules/floorf-ieee: New file.
45768         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45769         test whether floorf works according to ISO C 99 with IEC 60559.
45770         * m4/floorf-ieee.m4: New file.
45771         * modules/floorf-ieee-tests: New file.
45772         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45773         * tests/test-floorf1.c (main): Remove signbit tests.
45774         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45775         * doc/posix-functions/floorf.texi: Mention the new module.
45777 2010-12-21  Bruno Haible  <bruno@clisp.org>
45779         Support for minus zero in autoconf macros.
45780         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45781         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45782         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45783         * tests/minus-zero.h: Update comments.
45785 2010-12-21  Bruno Haible  <bruno@clisp.org>
45787         Tests for module 'ceil'.
45788         * modules/ceil-tests: New file.
45789         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45790         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45792 2010-12-21  Bruno Haible  <bruno@clisp.org>
45794         Tests for module 'floor'.
45795         * modules/floor-tests: New file.
45796         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45797         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45799 2010-12-21  Bruno Haible  <bruno@clisp.org>
45801         math: Fix indentation.
45802         * lib/math.in.h (floorf): Fix indentation.
45804 2010-12-21  Bruno Haible  <bruno@clisp.org>
45806         Fix cross-compilation guesses on Solaris.
45807         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45808         not match "solaris2.10".
45809         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45810         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45811         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45813 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45815         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45816         This fixes a problem observed with the latest coreutils snapshot
45817         that caused a test to fail on Solaris 8.  src/csplit.c's call
45818         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45819         earlier, instead of returning the number of bytes that would have
45820         been generated; this causes csplit to incorrectly report memory
45821         exhaustion.
45822         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45823         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45824         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45825         comments to match.
45826         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45827         Fix typo in matching older versions of Solaris: "solaris2.10"
45828         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45829         only for guessing while cross-compiling.
45830         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45832 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45834         ftoastr: fix comment again
45835         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45836         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45837         Also, simplify example a bit by using flags = 0.
45839 2010-12-20  Bruno Haible  <bruno@clisp.org>
45841         round*, trunc*: Update documentation regarding glibc.
45842         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45843         * doc/posix-functions/round.texi: Likewise.
45844         * doc/posix-functions/roundl.texi: Likewise.
45845         * doc/posix-functions/truncf.texi: Likewise.
45846         * doc/posix-functions/trunc.texi: Likewise.
45847         * doc/posix-functions/truncl.texi: Likewise.
45849 2010-12-20  Bruno Haible  <bruno@clisp.org>
45851         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45852         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45853         * doc/posix-functions/round.texi: Likewise.
45854         * doc/posix-functions/roundl.texi: Likewise.
45856 2010-12-20  Bruno Haible  <bruno@clisp.org>
45858         ttyname_r: Add missing declaration on HP-UX 11.
45859         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45860         HAVE_TTYNAME_R.
45861         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45862         declared. Set HAVE_TTYNAME_R always.
45863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45864         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45865         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45866         HAVE_TTYNAME_R.
45867         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45869 2010-12-20  Bruno Haible  <bruno@clisp.org>
45871         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45872         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45873         * doc/posix-functions/getlogin_r.texi: Likewise.
45874         * tests/test-getlogin.c: Include <errno.h>.
45875         (main): Avoid test failure on HP-UX 11.11.
45876         * tests/test-getlogin_r.c (main): Likewise.
45878 2010-12-20  Bruno Haible  <bruno@clisp.org>
45880         getlogin_r: Add missing declaration on HP-UX 11.
45881         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45882         declared also when it exists as a function.
45883         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45885 2010-12-20  Bruno Haible  <bruno@clisp.org>
45887         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45888         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45889         through wcrtomb.
45891 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45893         ftoastr: fix comment
45894         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45895         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45897 2010-12-19  Bruno Haible  <bruno@clisp.org>
45899         isnan: Ensure it is a macro.
45900         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45901         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45902         Solaris.
45904 2010-12-19  Bruno Haible  <bruno@clisp.org>
45906         ldexpl test: Fix link error on OSF/1 5.1.
45907         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45909 2010-12-19  Bruno Haible  <bruno@clisp.org>
45911         wctype: Make it work in C++ mode on OSF/1 5.1.
45912         * lib/wctype.in.h (iswblank): Declare but not define here.
45913         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45914         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45915         * modules/wctype (Files): Add lib/iswblank.c.
45917 2010-12-19  Bruno Haible  <bruno@clisp.org>
45919         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45920         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45921         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45923 2010-12-19  Bruno Haible  <bruno@clisp.org>
45925         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45926         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45927         _POSIX_PII_SOCKET.
45928         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45929         * doc/posix-functions/recvfrom.texi: Likewise.
45930         * doc/posix-functions/send.texi: Likewise.
45931         * doc/posix-functions/sendto.texi: Likewise.
45933 2010-12-19  Bruno Haible  <bruno@clisp.org>
45935         tcgetsid: Add missing declaration on OSF/1 5.1.
45936         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45937         HAVE_TCGETSID.
45938         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45939         Don't set HAVE_TCGETSID.
45940         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45941         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45942         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45943         HAVE_TCGETSID.
45944         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45946 2010-12-19  Bruno Haible  <bruno@clisp.org>
45948         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45949         * lib/stdio.in.h: During the include_next statement, let recursive
45950         includes of this file include only the system header file.
45952 2010-12-19  Bruno Haible  <bruno@clisp.org>
45954         iconv_open: Fix regression from 2010-12-04.
45955         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45956         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45958 2010-12-19  Bruno Haible  <bruno@clisp.org>
45960         stdbool test: Avoid a gcc warning.
45961         * tests/test-stdbool.c (main): Fail if e1 is false.
45962         Reported by Jim Meyering.
45964 2010-12-19  Jim Meyering  <meyering@redhat.com>
45966         setenv: restore to working order
45967         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
45968         mistakenly removed.
45969         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
45970         HAVE_SETENV.
45971         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
45972         HAVE_SETENV.
45974 2010-12-19  Bruno Haible  <bruno@clisp.org>
45976         Document some different function declarations on OSF/1 5.1.
45977         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
45978         * doc/posix-functions/inet_ntop.texi: Likewise.
45979         * doc/posix-functions/gethostname.texi: Likewise.
45980         * lib/unistd.in.h (gethostname): Update comment.
45982 2010-12-19  Bruno Haible  <bruno@clisp.org>
45984         doc: Mention vasprintf-posix module.
45985         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
45986         the 'vasprintf-posix' module.
45987         * doc/glibc-functions/vasprintf.texi: Likewise.
45989 2010-12-19  Bruno Haible  <bruno@clisp.org>
45991         unsetenv: Add missing declaration on OSF/1 5.1.
45992         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
45993         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
45994         Don't set HAVE_UNSETENV. In the test program, set _BSD.
45995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
45996         not HAVE_UNSETENV.
45997         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
45998         HAVE_UNSETENV.
45999         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
46001 2010-12-19  Bruno Haible  <bruno@clisp.org>
46003         setenv: Add missing declaration on OSF/1 5.1.
46004         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
46005         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
46006         declared. Don't set HAVE_SETENV.
46007         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
46008         not HAVE_SETENV.
46009         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
46010         HAVE_SETENV.
46011         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
46013 2010-12-19  Bruno Haible  <bruno@clisp.org>
46015         nl_langinfo tests: Avoid gcc warning.
46016         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
46018 2010-12-19  Bruno Haible  <bruno@clisp.org>
46020         mknod: Avoid error in C++ mode on OSF/1 with GCC.
46021         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
46022         _GL_CXXALIAS_SYS.
46024 2010-12-19  Bruno Haible  <bruno@clisp.org>
46026         stdbool: Relax test.
46027         * tests/test-stdbool.c (e): Don't require that casts from a variable's
46028         address to 'bool' work in static initializer, for compilers other than
46029         GCC.
46031 2010-12-19  Bruno Haible  <bruno@clisp.org>
46033         ftello: Add missing declaration on OSF/1 5.1.
46034         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
46035         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
46036         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
46037         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
46038         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
46040 2010-12-19  Bruno Haible  <bruno@clisp.org>
46042         fseeko: Add missing declaration on OSF/1 5.1.
46043         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
46044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
46045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
46046         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
46047         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
46049 2010-12-19  Bruno Haible  <bruno@clisp.org>
46051         fchdir: Add missing declaration on OSF/1 5.1.
46052         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
46053         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
46054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
46055         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
46056         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
46058 2010-12-19  Bruno Haible  <bruno@clisp.org>
46060         relocatable-prog-wrapper: Separate from relocatable-prog.
46061         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
46062         uninstall-relocwrapper rule here.
46063         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
46064         Reported by Ian Beckwith <ianb@erislabs.net>.
46066 2010-12-19  Bruno Haible  <bruno@clisp.org>
46068         unistr/u8-mbsnlen: Add missing dependency.
46069         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
46070         Reported by Ian Beckwith <ianb@erislabs.net>.
46072 2010-12-19  Bruno Haible  <bruno@clisp.org>
46074         iconv: Make it possible again to use this module without 'iconv-h'.
46075         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
46076         if it is not defined.
46077         Reported by Ian Beckwith <ianb@erislabs.net>.
46079 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46081         acl: port to Solaris 8 when copying from tmpfs to ufs
46082         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
46083         error number.  Problem observed on Solaris 8 with latest
46084         coreutils, with "mv A B", where A is on a tmpfs file system and B
46085         is on a ufs file system.  This caused coreutils' mv/part-symlink
46086         test to fail.
46088         tests: set fail=0 at start
46089         * tests/init.sh (setup_): Move fail=0 initialization here ...
46090         (mktempd_): ... from here, so that tests can rely on fail being
46091         set to 0 initially.  This fixes a problem in coreutils; see:
46092         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
46094 2010-12-18  Bruno Haible  <bruno@clisp.org>
46096         memmem-simple: Stylistic changes.
46097         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
46098         Fix preprocessor directive indentation.
46100 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46102         memmem, memmem-simple: reorganize and expand empty needle check
46103         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
46104         functional checks to memmem-simple so that one has a fully functional
46105         memmem by using just this module.
46106         Restrict the performance only check to the memmem module.
46107         Also expand the empty needle check to ensure the correct
46108         pointer is returned, not just a non NULL pointer.
46109         * doc/glibc-functions/memmem.texi: Rearrange the portability
46110         documentation to correlate with the rearranged checks.
46111         Clarify exactly how the memmem and memmem-simple modules
46112         relate to each other.
46114 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46115             Bruno Haible  <bruno@clisp.org>
46117         Improve cross-compilation guesses for uClibc.
46118         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
46119         that uClibc does not have the glibc bug.
46120         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
46121         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
46123 2010-12-14  Eric Blake  <eblake@redhat.com>
46125         configmake: provide fallbacks for oldest supported autotools
46126         * m4/configmake.m4: New file.
46127         * modules/configmake (Files): Ship it.
46128         (configure.ac): Use it to guarantee fallbacks.
46130 2010-12-13  Pádraig Brady  <P@draigBrady.com>
46132         read-file: Improve handling of large files
46133         * lib/read-file.c (fread_file): Minimize realloc()s
46134         for regular files, and better manage sizes around SIZE_MAX.
46136 2010-12-13  Eric Blake  <eblake@redhat.com>
46138         cloexec, fcntl: relax license
46139         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
46140         consent from all contributors.
46141         * modules/fcntl (License): Likewise.
46143 2010-12-10  Bruno Haible  <bruno@clisp.org>
46145         Tests for module 'pipe-posix'.
46146         * modules/pipe-posix-tests: New file.
46147         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
46149 2010-12-10  Bruno Haible  <bruno@clisp.org>
46151         pipe-posix: Make it work in C++ mode.
46152         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
46153         (pipe): Use common idiom, not a macro definition.
46154         * lib/pipe.c: New file.
46155         * m4/pipe.m4: New file.
46156         * modules/pipe-posix (Description): Enhance.
46157         (Files): Add lib/pipe.c, m4/pipe.m4.
46158         (configure.ac): Invoke gl_FUNC_PIPE.
46159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
46160         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
46161         * tests/test-unistd-c++.cc: Check the signature of pipe.
46163 2010-12-10  Bruno Haible  <bruno@clisp.org>
46165         Rename module 'pipe' to 'spawn-pipe'.
46166         * modules/spawn-pipe: New file, renamed from modules/pipe.
46167         (Files, configure.ac, Makefile.am): Update.
46168         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
46169         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
46170         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
46171         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
46172         "spawn-pipe.h" instead of "pipe.h".
46173         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
46174         to gl_SPAWN_PIPE.
46175         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
46176         (Files, Makefile.am): Update.
46177         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
46178         Update.
46179         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
46180         Include "spawn-pipe.h" instead of "pipe.h".
46181         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
46182         * lib/javacomp.c: Likewise.
46183         * lib/javaversion.c: Likewise.
46184         * lib/pipe-filter-gi.c: Likewise.
46185         * lib/pipe-filter-ii.c: Likewise.
46186         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
46187         * modules/javacomp (Depends-on): Likewise.
46188         * modules/javaversion (Depends-on): Likewise.
46189         * modules/pipe-filter-gi (Depends-on): Likewise.
46190         * modules/pipe-filter-ii (Depends-on): Likewise.
46191         * MODULES.html.sh (Executing programs): Update.
46192         * NEWS: Mention the change.
46194 2010-12-10  Eric Blake  <eblake@redhat.com>
46196         pipe-posix: new module
46197         * modules/pipe-posix: New file.
46198         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
46199         (gl_UNISTD_H): Check for declaration.
46200         * modules/unistd (Makefile.am): Substitute it.
46201         * lib/unistd.in.h (pipe): Provide it for mingw.
46202         * doc/posix-functions/pipe.texi (pipe): Update documentation.
46203         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
46205 2010-12-07  Bruno Haible  <bruno@clisp.org>
46207         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
46208         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
46209         u8_strcmp_gnu.
46210         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
46212 2010-12-06  Bruno Haible  <bruno@clisp.org>
46214         Update internal documentation.
46215         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
46217 2010-12-04  Bruno Haible  <bruno@clisp.org>
46219         Put more information about failed tests into the test return codes.
46220         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
46221         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
46222         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46223         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
46224         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
46225         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46226         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46227         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46228         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
46229         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
46230         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
46231         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
46232         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
46233         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46234         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
46235         returns a bit mask.
46236         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
46237         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
46238         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
46239         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
46240         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
46241         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
46242         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
46243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46244         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
46245         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
46246         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46247         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
46248         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46249         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
46250         * m4/link.m4 (gl_FUNC_LINK): Likewise.
46251         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
46252         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
46253         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
46254         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46255         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
46256         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46257         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
46258         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
46259         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
46260         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
46261         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
46262         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
46263         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
46264         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
46265         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
46266         gl_PRINTF_PRECISION): Likewise.
46267         * m4/regex.m4 (gl_REGEX): Likewise.
46268         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46269         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
46270         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
46271         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
46272         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46273         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46274         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
46275         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
46276         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46277         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46278         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
46279         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
46280         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
46281         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
46282         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
46283         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
46284         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
46285         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
46286         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46287         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
46288         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
46289         enumerated value.
46290         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
46292 2010-12-04  Bruno Haible  <bruno@clisp.org>
46294         Update for Solaris 11 2010-11.
46295         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
46296         Express, released in November 2010.
46298 2010-12-04  Bruno Haible  <bruno@clisp.org>
46300         nproc: Relax license.
46301         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
46302         and Paul Eggert.
46303         Requested by Ludovic Courtès <ludo@gnu.org>.
46305 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46307         utimecmp: fine-grained src to nearby coarse-grained dest
46309         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
46310         and the source is on a file system with higher-resolution time
46311         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
46312         not work, and the time stamps are close together, the algorithm to
46313         determine the exact resolution from the read-back mtime was buggy:
46314         it had a "!=" where it should have had an "==".  This bug has been
46315         in the code ever since it was introduced to gnulib.
46316         Problem reported by Dan Jacobson in
46317         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
46319 2010-11-30  Bruno Haible  <bruno@clisp.org>
46321         strerror_r-posix: Fix autoconf test.
46322         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
46324 2010-11-28  Bruno Haible  <bruno@clisp.org>
46325             Paul Eggert  <eggert@cs.ucla.edu>
46327         Tests for module 'getdomainname'.
46328         * modules/getdomainname-tests: New file.
46329         * tests/test-getdomainname.c: New file, based on
46330         tests/test-gethostname.c.
46332 2010-11-28  Bruno Haible  <bruno@clisp.org>
46333             Paul Eggert  <eggert@cs.ucla.edu>
46335         getdomainname: Use the system function when possible.
46336         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
46337         (getdomainname): Replace if needed. Provide the declaration if it is
46338         missing. Don't use _GL_CXXALIAS_SYS_CAST.
46339         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
46340         (getdomainname): When the system has getdomainname, call the system
46341         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
46342         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
46343         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
46344         found in libnsl. Look for the declaration also in <netdb.h>. Replace
46345         the function if its second argument is of type 'int' or if it is found
46346         in libnsl.
46347         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
46348         <sys/systeminfo.h> and sysinfo().
46349         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
46350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46351         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
46352         HAVE_GETDOMAINNAME.
46353         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
46354         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
46355         * doc/glibc-functions/getdomainname.texi: Document the problems with
46356         the getdomainname declaration.
46358 2010-11-28  Bruno Haible  <bruno@clisp.org>
46360         sys_socket: Ensure ss_family field on AIX.
46361         * lib/sys_socket.in.h (ss_family): New macro definition.
46362         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
46363         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
46364         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46365         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46366         * modules/sys_socket (Makefile.am): Substitute
46367         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46368         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
46370 2010-11-27  Bruno Haible  <bruno@clisp.org>
46372         readline: Improve configure output.
46373         * m4/readline.m4 (gl_FUNC_READLINE): Make the
46374         "checking for readline..." result understandable.
46376 2010-11-27  Bruno Haible  <bruno@clisp.org>
46378         *printf-posix: Detect a bug on Solaris 10/x86.
46379         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
46380         for floating-point output.
46381         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
46382         directive.
46383         * tests/test-snprintf-posix.h (test_function): Likewise.
46384         * tests/test-sprintf-posix.h (test_function): Likewise.
46385         * tests/test-vasprintf-posix.c (test_function): Likewise.
46386         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
46387         * doc/posix-functions/printf.texi: Likewise.
46388         * doc/posix-functions/snprintf.texi: Likewise.
46389         * doc/posix-functions/sprintf.texi: Likewise.
46390         * doc/posix-functions/vfprintf.texi: Likewise.
46391         * doc/posix-functions/vprintf.texi: Likewise.
46392         * doc/posix-functions/vsnprintf.texi: Likewise.
46393         * doc/posix-functions/vsprintf.texi: Likewise.
46394         * doc/glibc-functions/obstack_printf.texi: Likewise.
46395         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46397 2010-11-27  Bruno Haible  <bruno@clisp.org>
46399         Fix link error when module libunistring-optional is in use.
46400         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
46401         * modules/striconveha-tests (Makefile.am): Likewise.
46403 2010-11-27  Bruno Haible  <bruno@clisp.org>
46405         regex: Mention link dependencies.
46406         * modules/regex (Link): New section.
46407         * modules/rpmatch (Link): Likewise.
46408         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
46410 2010-11-27  Bruno Haible  <bruno@clisp.org>
46412         ftoastr: Fix compilation error on Solaris.
46413         * lib/ftoastr.c: Include <config.h>.
46415 2010-11-27  Bruno Haible  <bruno@clisp.org>
46417         getloadavg: Update documentation.
46418         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
46420 2010-11-27  Bruno Haible  <bruno@clisp.org>
46422         sys_socket: Fix test whether the functions are declared.
46423         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
46424         not <sys/select.h>.
46426 2010-11-27  Bruno Haible  <bruno@clisp.org>
46428         getpass: Make sure to get system declaration on some platforms.
46429         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
46430         gl_USE_SYSTEM_EXTENSIONS.
46431         * modules/getpass (Depends-on): Add extensions.
46433 2010-11-26  Bruno Haible  <bruno@clisp.org>
46435         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
46436         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
46437         'iconv' module is present.
46438         (ICONV_CONST): New macro.
46439         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
46440         ICONV_CONST.
46441         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
46442         set ICONV_CONST.
46443         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
46444         here.
46445         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
46446         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
46447         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
46448         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
46449         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
46450         present.
46452 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46454         ftoastr: comment fix
46455         * lib/ftoastr.c: "little" -> "little or no" in comment
46457 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
46459         stdint: port to GCC 4.3 + OSX + Octave
46460         On this platform, stdint.h is buggy and defines int64_t to long
46461         long int.  The replacement defined it to long int, causing
46462         problems with C++ style name mangling.  Instead, trust the system
46463         definition if INT64_MAX is defined, and likewise for the unsigned
46464         variant.   Problem reported by Jarno Rajahalme in
46465         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
46466         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
46467         and don't mess with int64_t and INT64_MAX in this case.
46468         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
46470 2010-11-24  Bruno Haible  <bruno@clisp.org>
46472         doc: Corrections regarding MacOS X 10.4 and 10.5.
46473         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
46474         MacOS X.
46475         Reported by Simon Josefsson.
46477 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
46479         Uninstall ".bin" files installed by relocwrapper.
46480         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
46481         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
46482         unless it is already there.
46484 2010-11-21  Bruno Haible  <bruno@clisp.org>
46486         Update for NetBSD 5.0.
46487         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46488         NetBSD; the test fails on NetBSD 5.0.
46489         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46490         about NetBSD.
46492 2010-11-21  Bruno Haible  <bruno@clisp.org>
46494         Update for HP-UX 11.23 and HP-UX 11.31.
46495         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
46496         HP-UX.
46498 2010-11-21  Bruno Haible  <bruno@clisp.org>
46500         Update for MacOS X 10.5.
46501         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46502         MacOS X; the test fails on MacOS X 10.5.8.
46503         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46504         about MacOS X.
46506 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
46508         bootstrap: add bootstrap_sync option.
46509         See discussion at
46510         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
46511         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
46512         * build-aux/bootstrap: Accept --bootstrap-sync to update
46513         bootstrap if it is not identical to the local gnulib's
46514         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
46515         enable this by default.  Accept --no-bootstrap-sync to disable
46516         it.
46518 2010-11-20  Bruno Haible  <bruno@clisp.org>
46520         Ensure that <features.h> is included before __GLIBC__ is tested.
46521         * lib/printf-parse.h: Include <features.h>.
46522         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
46523         Reported by Mike Frysinger <vapier@gentoo.org>.
46525         Ensure that <features.h> is included before __GLIBC__ is tested.
46526         * lib/wchar.in.h: Include <features.h>.
46527         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
46528         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
46529         Reported by Mike Frysinger <vapier@gentoo.org>.
46531         Ensure that <features.h> is included before __GLIBC__ is tested.
46532         * lib/arpa_inet.in.h: Include <features.h>.
46533         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
46534         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
46535         Reported by Mike Frysinger <vapier@gentoo.org>.
46537         Ensure that <features.h> is included before __GLIBC__ is tested.
46538         * build-aux/link-warning.h: Include <features.h>.
46539         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
46540         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
46541         Reported by Mike Frysinger <vapier@gentoo.org>.
46543         Ensure that <features.h> is included before __GLIBC__ is tested.
46544         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
46545         Reported by Mike Frysinger <vapier@gentoo.org>.
46547 2010-11-20  Bruno Haible  <bruno@clisp.org>
46549         memmem: Fix autoconf test.
46550         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46552 2010-11-20  Bruno Haible  <bruno@clisp.org>
46554         Port to uClibc.
46555         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
46556         * lib/fcntl.in.h: Likewise.
46557         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
46558         * lib/mbrtowc.c (mbrtowc): Likewise.
46559         * lib/relocatable.c (find_shared_library_fullname): Likewise.
46560         * lib/strerror_r.c: Likewise.
46561         * lib/unistr/u8-strnlen.c: Likewise.
46562         * lib/vasnprintf.c (decimal_point_char): Likewise.
46563         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46564         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
46565         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46566         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46567         * tests/test-sigaction.c (handler, main): Likewise.
46568         * lib/freading.h: Treat uClibc like a non-glibc platform.
46569         * lib/freading.c: Likewise.
46570         * lib/gettext.h: Likewise.
46571         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
46572         Likewise.
46573         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
46574         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46575         * lib/propername.c (proper_name_utf8): Likewise.
46576         * lib/spawn.in.h: Likewise.
46577         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
46578         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
46579         mem_cd_iconveh_internal): Likewise.
46580         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
46581         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
46582         strstr, strcasestr): Likewise.
46583         * lib/unicodeio.c (unicode_to_mb): Likewise.
46584         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
46585         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
46586         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
46587         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
46588         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
46589         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
46590         * lib/unistr/u8-stpncpy.c: Likewise.
46591         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46592         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
46593         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46594         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46595         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46596         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
46597         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
46598         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
46599         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46600         Likewise.
46601         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46602         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46603         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
46604         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46605         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46606         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
46607         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46608         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
46609         * tests/test-getopt.h (OPTIND_MIN): Likewise.
46610         * tests/test-striconveha.c (main): Likewise.
46611         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46612         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
46613         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
46614         * doc/posix-functions/getline.texi: Likewise.
46615         Reported by Mike Frysinger <vapier@gentoo.org>.
46617 2010-11-20  Bruno Haible  <bruno@clisp.org>
46619         nproc: Fix condition.
46620         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
46621         HAVE_PTHREAD_AFFINITY_NP.
46623 2010-11-20  Bruno Haible  <bruno@clisp.org>
46625         Fix a comment.
46626         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
46628 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
46630         ftoastr: don't assume snprintf
46631         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
46632         Implement a subset of snprintf here, by using sprintf safely.
46633         * modules/ftoastr (Depends-on): Remove snprintf.
46635 2010-11-19  Jim Meyering  <meyering@redhat.com>
46637         test-rename.h: fix compilation failure
46638         * tests/test-rename.h (test_rename): Add omitted "}".
46640 2010-11-17  Jim Meyering  <meyering@redhat.com>
46642         maint.mk: add a URL discussing the no-@acronym policy
46643         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
46645 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46647         ftoastr: depend on snprintf, improve comments
46648         * lib/ftoastr.c: Also mention Loitsch's draft.
46649         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
46650         needed in the current implementation, but it might simplify
46651         speeding up the code later.
46652         * modules/ftoastr: Depend on snprintf; this improves portability.
46653         Suggested by Bruno Haible in the same email.
46655         ftoastr: port to hosts lacking strtof and strtold
46656         Problem reported by Bruno Haible in
46657         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
46658         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
46659         environment and strtold (and presumably strtof) are not available.
46660         * modules/ftoastr (Files): Add m4/c-strtod.m4.
46661         (configure.ac): Require gl_C99_STRTOLD.
46663 2010-11-18  Bruno Haible  <bruno@clisp.org>
46665         c-strtold: Avoid link error on AIX 7.
46666         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
46667         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
46668         (gl_C_STRTOLD): Test whether strtold_l exists.
46669         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46671 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46673         intprops: new macro INT_BITS_STRLEN_BOUND
46674         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
46675         ftoastr.h.  This exposes an internal of intprops.h that was formerly
46676         not exposed.  Also, it uses a slightly tighter bound than before;
46677         though this makes no practical difference, we might as well be as
46678         tight as we easily can.
46680         ftoastr: new module, for lossless conversion of floats to short strings
46681         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
46682         * modules/ftoastr: New files.
46684 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46686         bootstrap: port to Solaris sed
46687         * build-aux/bootstrap (get_version): Port to Solaris sed.
46688         See Ralf Wildenhues's note in
46689         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
46691 2010-11-14  Jim Meyering  <meyering@redhat.com>
46693         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
46694         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
46695         and move definition closer to sole use.
46697 2010-11-13  Jim Meyering  <meyering@redhat.com>
46699         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
46700         Now we require at least autoconf-2.59, which means the work-around
46701         is no longer needed.
46702         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
46703         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46704         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46705         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46706         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46708 2010-11-13  Bruno Haible  <bruno@clisp.org>
46710         rename, renameat: Avoid test failures at NFS mounted locations.
46711         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
46712         functions.
46713         (test_rename): Use assert_nonexistent.
46714         * tests/test-rename.c: Include <dirent.h>.
46715         * tests/test-renameat.c: Likewise.
46716         Reported by Gary V. Vaughan <gary@gnu.org>.
46718         rename, renameat: Document Linux bug with NFS
46719         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
46720         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
46721         * doc/posix-functions/renameat.texi: Likewise.
46722         Suggested by Eric Blake.
46724 2010-11-13  Bruno Haible  <bruno@clisp.org>
46726         rename test: Add comments.
46727         * tests/test-rename.h (test_rename): Add structure and comments.
46729 2010-11-13  Eric Blake  <eblake@redhat.com>
46731         maintainer-makefile: cover a few more files
46732         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
46733         scripts generated within C files, for libvirt.
46735 2010-11-13  Bruno Haible  <bruno@clisp.org>
46737         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
46738         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
46739         character, return the number of bytes that belong together, not always
46740         1.
46741         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46742         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46743         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46744         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46745         number of bytes of an invalid character.
46746         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46747         (main): Invoke it.
46748         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46749         results.
46750         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46751         malformed byte sequences.
46752         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46753         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46754         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46755         Reported by Ben Pfaff and Paolo Bonzini.
46757 2010-11-13  Bruno Haible  <bruno@clisp.org>
46759         openat: Work around glibc bug with fchownat() and empty file names.
46760         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46761         (gl_FUNC_FCHOWNAT): Invoke it.
46762         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46763         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46764         Reported by Gary V. Vaughan <gary@gnu.org>.
46766 2010-11-13  Bruno Haible  <bruno@clisp.org>
46768         openat: Ensure autoconf macro ordering.
46769         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46770         gl_USE_SYSTEM_EXTENSIONS.
46771         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46773 2010-11-13  Bruno Haible  <bruno@clisp.org>
46775         Update comments.
46776         * lib/unistr/u8-check.c: Update file name in comments.
46777         * lib/unistr/u8-mblen.c: Likewise.
46778         * lib/unistr/u8-prev.c: Likewise.
46779         * lib/unistr/u8-strmblen.c: Likewise.
46780         * lib/unistr/u8-strmbtouc.c: Likewise.
46782 2010-11-13  Jim Meyering  <meyering@redhat.com>
46784         tests: avoid test failure on Solaris 10 due to lack of PATH export
46785         * tests/test-update-copyright.sh: Don't forget to export PATH.
46787         init.sh: ensure that IFS is defined, just in case...
46788         * tests/init.sh (setup_): Ensure that IFS is defined,
46789         so that saving and restoring it works as expected.  This
46790         appears to be useful at least for an old version of dash
46791         from a long time ago (RH 6).  See here for details:
46792         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46794         maint.mk: tighten "test a == b" check
46795         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46796         test to files that contain something like #!/bin/sh.
46797         Without this, coreutils would get two false positives in
46798         the comments of C source files.
46800 2010-11-12  Eric Blake  <eblake@redhat.com>
46802         bootstrap: fix typo in previous attempt
46803         * build-aux/bootstrap (buildreq): Correct the grouping.
46804         Reported by Paul Eggert.
46806         maintainer-makefile: prohibit test x == x
46807         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46808         Based on a report by Matthias Bolte.
46810         bootstrap: allow FreeBSD gzip
46811         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46812         which has no '.' and goes to stderr.
46813         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46814         Reported by Matthias Bolte.
46816         maintainer-makefile: check for i18n setup
46817         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46818         will likely work.
46820 2010-11-12  Bruno Haible  <bruno@clisp.org>
46822         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46823         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46824         * lib/nanosleep.c (nanosleep): Likewise.
46826 2010-11-11  Bruno Haible  <bruno@clisp.org>
46828         fcntl-h: Fix for use of C++ on glibc systems.
46829         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46830         also on glibc systems in C++ mode.
46831         Reported by Gary V. Vaughan <gary@gnu.org>.
46833 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46835         mknod: avoid false failure with dash
46836         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46838 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46840         unlink: Fix "is it should" typo in diagnostic.
46841         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46842         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46844 2010-11-11  Bruno Haible  <bruno@clisp.org>
46846         Tests for module 'strerror_r-posix'.
46847         * modules/strerror_r-posix-tests: New file.
46848         * tests/test-strerror_r.c: New file.
46849         * tests/test-string-c++.cc: Check the signature of strerror_r.
46851         New module 'strerror_r-posix'.
46852         * lib/string.in.h (strerror_r): New declaration.
46853         * lib/strerror_r.c: New file.
46854         * m4/strerror_r.m4: New file.
46855         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46856         of strerror_r.
46857         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46858         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46859         * modules/strerror_r-posix: New file.
46860         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46861         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46862         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46863         portability problems.
46865 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46867         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46868         line is also considered for output. Quoted function name in shell
46869         command, so temporary files for functions like MyClass::operator()
46870         are removed correctly without errors.
46872 2010-11-09  Bruno Haible  <bruno@clisp.org>
46874         * doc/posix-functions/strerror.texi: List more failing platforms.
46876         * doc/posix-functions/strerror.texi: Add a comment.
46878 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46880         fdopendir: fix bug on MacOS X when low on file descriptors
46882         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46883         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46884         All callers changed.
46885         (fdopendir): Invoke save_cwd at the top level, not after using
46886         multiple dup() calls to use up file descriptors.  Then retry
46887         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46888         less than the maximum number of open file descriptors, because
46889         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46890         on Mac OS X 10.6.4 for tar 1.24
46891         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46892         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46893         and for tar 1.25
46894         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46896 2010-11-07  Bruno Haible  <bruno@clisp.org>
46898         vasnprintf: Support I flag on glibc systems.
46899         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46900         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46901         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46902         snprintf function.
46903         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46904         glibc systems.
46905         * tests/test-vasnprintf-posix3.c: New file.
46906         * modules/vasnprintf-posix-tests (Files): Add it.
46907         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46909 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46911         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46912         * MODULES.html.sh: For compiler warnings, use name
46913         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46915 2010-11-05  Eric Blake  <eblake@redhat.com>
46917         ceil, floor: avoid spurious failure with icc
46918         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46919         [denormals-as-zero] when optimizing without -mieee-fp option.
46920         * tests/test-floorf2.c (floorf_reference): Likewise.
46921         * tests/test-ceilf1.c (dummy): New function.
46922         (main): Use it to outsmart icc's optimization.
46923         * tests/test-floorf1.c (dummy, main): Likewise.
46925         tests: require working signbit
46926         * modules/ceilf-tests (Depends-on): Add signbit.
46927         * modules/ceill-tests (Depends-on): Likewise.
46928         * modules/floorf-tests (Depends-on): Likewise.
46929         * modules/floorl-tests (Depends-on): Likewise.
46930         * modules/round-tests (Depends-on): Likewise.
46931         * modules/roundf-tests (Depends-on): Likewise.
46932         * modules/roundl-tests (Depends-on): Likewise.
46933         * modules/trunc-tests (Depends-on): Likewise.
46934         * modules/truncf-tests (Depends-on): Likewise.
46935         * modules/truncl-tests (Depends-on): Likewise.
46937         strtod: work around icc bug
46938         * lib/strtod.c (minus_zero): Define to working value.
46939         (strtod): Use it to avoid icc bug.
46941         copysign: enhance tests
46942         * modules/copysign-tests (Files): Add minus-zero.h.
46943         * tests/test-copysign.c (main): Also test zeros.
46945 2010-11-04  Eric Blake  <eblake@redhat.com>
46947         ceil, floor, round, trunc: enhance tests of -0
46948         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46949         * tests/test-ceill.c (main): Likewise.
46950         * tests/test-floorf1.c (main): Likewise.
46951         * tests/test-floorl.c (main): Likewise.
46952         * tests/test-round1.c (main): Likewise.
46953         * tests/test-roundf1.c (main): Likewise.
46954         * tests/test-roundl.c (main): Likewise.
46955         * tests/test-trunc1.c (main): Likewise.
46956         * tests/test-truncf1.c (main): Likewise.
46957         * tests/test-truncl.c (main): Likewise.
46959 2010-11-04  Eric Blake  <eblake@redhat.com>
46961         frexp, tests: work around ICC bug with -zero
46962         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46963         works with more compilers.
46964         * tests/minus-zero.h: New file.
46965         * modules/ceilf-tests (Files): Include it.
46966         * modules/ceill-tests (Files): Likewise.
46967         * modules/floorf-tests (Files): Likewise.
46968         * modules/floorl-tests (Files): Likewise.
46969         * modules/frexp-nolibm-tests (Files): Likewise.
46970         * modules/frexp-tests (Files): Likewise.
46971         * modules/frexpl-nolibm-tests (Files): Likewise.
46972         * modules/frexpl-tests (Files): Likewise.
46973         * modules/isnan-tests (Files): Likewise.
46974         * modules/isnand-nolibm-tests (Files): Likewise.
46975         * modules/isnand-tests (Files): Likewise.
46976         * modules/isnanf-nolibm-tests (Files): Likewise.
46977         * modules/isnanf-tests (Files): Likewise.
46978         * modules/isnanl-nolibm-tests (Files): Likewise.
46979         * modules/isnanl-tests (Files): Likewise.
46980         * modules/round-tests (Files): Likewise.
46981         * modules/roundf-tests (Files): Likewise.
46982         * modules/roundl-tests (Files): Likewise.
46983         * modules/ldexpl-tests (Files): Likewise.
46984         * modules/signbit-tests (Files): Likewise.
46985         * modules/snprintf-posix-tests (Files): Likewise.
46986         * modules/sprintf-posix-tests (Files): Likewise.
46987         * modules/strtod-tests (Files): Likewise.
46988         * modules/trunc-tests (Files): Likewise.
46989         * modules/truncf-tests (Files): Likewise.
46990         * modules/truncl-tests (Files): Likewise.
46991         * modules/vsnprintf-posix-tests (Files): Likewise.
46992         * modules/vsprintf-posix-tests (Files): Likewise.
46993         * modules/vasnprintf-posix-tests (Files): Likewise.
46994         * modules/vasprintf-posix-tests (Files): Likewise.
46995         * tests/test-ceilf1.c (main): Use it.
46996         * tests/test-ceill.c (main): Likewise.
46997         * tests/test-floorf1.c (main): Likewise.
46998         * tests/test-floorl.c (main): Likewise.
46999         * tests/test-frexp.c (main): Likewise.
47000         * tests/test-frexpl.c (main): Likewise.
47001         * tests/test-isnan.c (main): Likewise.
47002         * tests/test-isnand.h (main): Likewise.
47003         * tests/test-isnanf.h (main): Likewise.
47004         * tests/test-isnanl.h (main): Likewise.
47005         * tests/test-ldexpl.c (main): Likewise.
47006         * tests/test-round.c (main): Likewise.
47007         * tests/test-roundf.c (main): Likewise.
47008         * tests/test-roundl.c (main): Likewise.
47009         * tests/test-signbit.c (test_signbitf, test_signbitd)
47010         (test_signbitl): Likewise.
47011         * tests/test-snprintf-posix.h (test_function): Likewise.
47012         * tests/test-sprintf-posix.h (test_function): Likewise.
47013         * tests/test-strtod.c (main): Likewise.
47014         * tests/test-trunc1.c (main): Likewise.
47015         * tests/test-truncf1.c (main): Likewise.
47016         * tests/test-truncl.c (main): Likewise.
47018         isnanl: work around icc bug
47019         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
47021 2010-11-03  Eric Blake  <eblake@redhat.com>
47023         tests: fix compiler warnings
47024         * tests/test-getopt.h (test_getopt): Fix condition.
47025         * tests/test-getopt_long.h (test_getopt_long): Likewise.
47026         * tests/test-pipe2.c (main): Likewise.
47027         * tests/test-quotearg-simple.c (main): Avoid icc warning.
47029         utimens: fix broken m4 test
47030         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
47032 2010-10-28  Bruno Haible  <bruno@clisp.org>
47034         posix_spawn*, getdtablesize: Relax license.
47035         * modules/posix_spawn (License): Change to LGPLv2+.
47036         * modules/posix_spawnp (License): Likewise.
47037         * modules/posix_spawn-internal (License): Likewise.
47038         * modules/posix_spawnattr_init (License): Likewise.
47039         * modules/posix_spawnattr_getflags (License): Likewise.
47040         * modules/posix_spawnattr_setflags (License): Likewise.
47041         * modules/posix_spawnattr_getpgroup (License): Likewise.
47042         * modules/posix_spawnattr_setpgroup (License): Likewise.
47043         * modules/posix_spawnattr_getschedparam (License): Likewise.
47044         * modules/posix_spawnattr_setschedparam (License): Likewise.
47045         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
47046         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
47047         * modules/posix_spawnattr_getsigdefault (License): Likewise.
47048         * modules/posix_spawnattr_setsigdefault (License): Likewise.
47049         * modules/posix_spawnattr_getsigmask (License): Likewise.
47050         * modules/posix_spawnattr_setsigmask (License): Likewise.
47051         * modules/posix_spawnattr_destroy (License): Likewise.
47052         * modules/posix_spawn_file_actions_init (License): Likewise.
47053         * modules/posix_spawn_file_actions_addclose (License): Likewise.
47054         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
47055         * modules/posix_spawn_file_actions_addopen (License): Likewise.
47056         * modules/posix_spawn_file_actions_destroy (License): Likewise.
47057         * modules/getdtablesize (License): Likewise.
47058         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
47060 2010-10-26  Bruno Haible  <bruno@clisp.org>
47062         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
47063         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
47064         Cygwin and mingw.
47065         Suggested by Eric Blake.
47067 2010-10-26  Bruno Haible  <bruno@clisp.org>
47069         stdio: Work around compilation error due to renameat() on Solaris 10.
47070         * lib/stdio.in.h: Include <unistd.h> on Solaris.
47071         * lib/renameat.c: Don't include <unistd.h> here.
47072         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
47073         Reported by Paul Eggert and Eric Blake.
47075 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47077         renameat: port to Solaris 10, which declares renameat in unistd.h
47079         * lib/renameat.c: Include unistd.h before stdio.h, because
47080         Solaris 10 declares renameat in unistd.h.  Problem encountered
47081         when building GNU tar 1.24 on Solaris 10.
47083 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
47085         fdopendir: fix C89 compilation
47086         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
47087         compilers.
47089 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
47091         inttostr: simplify by removing unnecessary redundancy
47092         * lib/anytostr.c: Don't include verify.h.
47093         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
47094         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
47095         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
47096         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
47097         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
47098         Likewise.
47099         * modules/inttostr (Depends-on): Remove 'verify'.
47101 2010-10-23  Bruno Haible  <bruno@clisp.org>
47103         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
47104         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
47105         Reported by Eric Blake.
47107 2010-10-23  Bruno Haible  <bruno@clisp.org>
47109         Tests: Fix LOCALE_JA on MirBSD 10.
47110         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
47111         to an UTF-8 locale.
47112         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
47113         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47114         Reported by Eric Blake.
47116 2010-10-21  Bruno Haible  <bruno@clisp.org>
47118         nl_langinfo test: Avoid test failure on NetBSD 5.
47119         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
47120         Reported by Eric Blake.
47122 2010-10-21  Eric Blake  <eblake@redhat.com>
47124         c-stack: work around libsigsegv 2.8 bug
47125         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
47126         overflow on at least PowerPC64.
47128 2010-10-17  Bruno Haible  <bruno@clisp.org>
47130         userspec: Drop redundant file.
47131         * modules/userspec (Files): Remove lib/inttostr.h.
47133 2010-10-17  Bruno Haible  <bruno@clisp.org>
47135         nl_langinfo tests: Silence some warnings.
47136         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
47137         Reported by Jim Meyering.
47139 2010-10-17  Bruno Haible  <bruno@clisp.org>
47141         Make use of GCC's attribute __alloc_size__.
47142         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
47143         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
47144         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
47145         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
47146         __alloc_size__.
47147         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
47148         Suggested by Jim Meyering.
47150 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
47152         bootstrap: anchor .gitignore entries.
47153         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
47154         with...
47155         (insert_vc_ignore): ... this new function, which prepends `/' to
47156         all .gitignore entries before passing them to
47157         insert_sorted_if_absent.
47159 2010-10-16  Bruno Haible  <bruno@clisp.org>
47161         nextafter: Fix configure check.
47162         * modules/nextafter (configure.ac): Correct expected prototype.
47164 2010-10-16  Bruno Haible  <bruno@clisp.org>
47166         termios: Update documentation.
47167         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
47169 2010-10-16  Bruno Haible  <bruno@clisp.org>
47171         tests: Make them compile with TinyCC.
47172         * tests/test-strstr.c (main): Remove parentheses around array
47173         initializer.
47175 2010-10-15  Eric Blake  <eblake@redhat.com>
47177         ignore-value: make header idempotent
47178         * lib/ignore-value.h: Add double-inclusion guards.
47179         Reported by Stefan Berger.
47181 2010-10-15  Jim Meyering  <meyering@redhat.com>
47183         GNUmakefile: handle "stable" target, not "major"
47184         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
47185         lists in maint.mk and announce-gen.  Without this, "make stable"
47186         would fail to ensure that $(VERSION) is up to date.
47188 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
47190         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
47191         & co.
47193 2010-10-14  Bruno Haible  <bruno@clisp.org>
47195         vasnprintf: Don't set errno to 0.
47196         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
47197         block that sets it to 0.
47198         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
47200 2010-10-14  Bruno Haible  <bruno@clisp.org>
47202         socketlib: Fix.
47203         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
47204         gl_PREREQ_SYS_H_WINSOCK2.
47205         Reported by Ian Beckwith <ianb@erislabs.net>.
47207 2010-10-13  Jim Meyering  <meyering@redhat.com>
47209         test-select-stdin.c: avoid warn_unused_result warnings
47210         * tests/test-select-stdin.c: Include "macros.h".
47211         ASSERT that read and fflush succeed.
47213 2010-10-13  Jim Meyering  <meyering@redhat.com>
47215         git-version-gen: do require git-VC'd files in cwd
47216         * build-aux/git-version-gen: Reject a git version string
47217         if there are no commits associated with the current directory.
47218         This avoids an unlikely false-positive (unrelated dir whose parent
47219         repository also contains a tag matching v*), as pointed out
47220         by Giuseppe Scrivano in
47221         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
47223 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47225         argv-iter: omit nonconforming declaration
47226         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
47227         enum arg_iter_err declaration, which doesn't conform to C99.
47228         Solaris 10 cc warns about this.
47230 2010-10-13  Eric Blake  <eblake@redhat.com>
47232         termios: fix compilation on mingw
47233         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
47234         (gl_TERMIOS_H): Adjust it on mingw.
47235         * modules/termios (Makefile.am): Substitute new key.
47236         * lib/termios.in.h (includes): Make include_next conditional.
47237         * doc/posix-headers/termios.texi (termios.h): Update
47238         documentation.
47239         Reported by Daniel P. Berrange.
47241 2010-10-13  Jim Meyering  <meyering@redhat.com>
47243         git-version-gen: don't require that .git/ be in the current dir
47244         * build-aux/git-version-gen: Adjust this script so that it works
47245         when run from any working directory beneath the top-level .git/-
47246         containing directory.  Inspired by a patch from Giuseppe Scrivano,
47247         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
47249         test-select: avoid warn_unused_result warnings
47250         * tests/test-select.c: Include "macros.h".
47251         ASSERT that each call to read, write, and pipe succeeds.
47252         While not technically required, also check each "close".
47253         * modules/select-tests (Files): Add tests/macros.h.
47255         test-symlinkat: remove declaration of unused local
47256         * tests/test-symlinkat.c (main): Remove unused local, "buf".
47258         test-inttostr: avoid shadowing warnings
47259         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
47260         and use malloc rather than the stack for the same reason as
47261         mentioned in the comment justifying the other allocation.
47263 2010-10-11  Bruno Haible  <bruno@clisp.org>
47265         stdlib: Allow multiple gnulib generated replacements to coexist.
47266         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
47267         Reported by Sam Steingold <sds@gnu.org>.
47269 2010-10-11  Jim Meyering  <meyering@redhat.com>
47271         fix a documentation typo
47272         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
47274 2010-10-11  Eric Blake  <eblake@redhat.com>
47276         futimens: work around Solaris 11 bug
47277         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
47278         * tests/test-futimens.h (test_futimens): Enhance, rather than
47279         weaken test.
47280         * doc/posix-functions/futimens.texi (futimens): Document the bug.
47282 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47284         Indentation.
47285         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
47286         higher-level operators more to the left.
47288 2010-10-11  Jim Meyering  <meyering@redhat.com>
47290         test-futimens: avoid unwarranted test failure on Solaris 5.11
47291         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
47292         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
47293         because it tries to dereference the NULL name argument.
47295 2010-10-11  Bruno Haible  <bruno@clisp.org>
47297         Indentation.
47298         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
47299         indentation.
47301 2010-10-11  Jim Meyering  <meyering@redhat.com>
47303         spawn.in.h: make indentation consistent with parentheses
47304         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
47305         Make indentation consistent with parentheses.
47307 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
47309         Fix mismatched parens in previous commit
47310         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
47311         parens.
47313 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47315         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
47317         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
47318         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
47319         * lib/malloca.c: Include "verify.h".
47320         (verify1): Remove, replacing with a verify call.
47321         * lib/relocwrapper.c (verify1): Likewise.
47322         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
47323         Likewise.
47324         * modules/malloca (Depends-on): Add 'verify'.
47325         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
47326         * modules/vasnprintf (Depends-on): Add 'verify'.
47327         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47328         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47329         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47330         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47331         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47332         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47333         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47335         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
47337         Formerly the style was sometimes 2*X - 1, because the C standard
47338         was wrongly thought to disallow ?: in integral constant expressions.
47339         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
47340         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
47341         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
47342         * lib/stdint.in.h (_verify_intmax_size): Likewise.
47343         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
47344         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
47345         verify that time_t cannot be floating.
47347 2010-10-08  Eric Blake  <eblake@redhat.com>
47349         time: enforce recent POSIX ruling that time_t is integral
47350         * lib/time.in.h (__time_t_must_be_integral): Detect any
47351         problematic systems, allowing the rest of gnulib to assume POSIX.
47353 2010-10-08  Jim Meyering  <meyering@redhat.com>
47355         fdopendir: fix a bug on systems lacking openat and /proc support
47356         OpenBSD 4.7 is one such system.  The most noticeable effect was
47357         failure of any application making nontrivial use of fts: rm, du,
47358         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
47359           ./rm: traversal failed: `a': Bad file descriptor
47360         Debugging that, you see that even though FD 6 was closed just
47361         prior to the opendir call in fd_clone_opendir, its resulting
47362         dir->dd_fd was 8, rather than the expected value of 6:
47364         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
47365         93                close (fd);
47366         (gdb) n
47367         94                dir = fd_clone_opendir (dupfd);
47368         (gdb) n
47369         95                saved_errno = errno;
47370         (gdb) p dir->dd_fd
47371         $11 = 8
47373         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
47374         The problem is that on OpenBSD, fd_clone_opendir has to resort
47375         to using the old-style save/restore CWD mechanism, due to its
47376         lack of openat/proc support, and *that* would steal the FD (6)
47377         that opendir was supposed to use.
47379         The fix is to squirrel away the desired FD so that save_cwd uses a
47380         different one, and then free the dest FD right before calling opendir.
47381         That guarantees opendir will use the required file descriptor.
47383         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
47385 2010-10-08  Bruno Haible  <bruno@clisp.org>
47387         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
47388         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
47390 2010-10-08  Bruno Haible  <bruno@clisp.org>
47392         nanosleep: Make replacement POSIX compliant.
47393         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
47394         is out of range.
47395         Reported by Jim Meyering.
47397 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47399         bootstrap: add hook for altering gnulib.mk, for Bison
47400         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
47401         the Bison bootstrapping process can rewrite file names and variables
47402         in this file before later parts of 'bootstrap' use the file.
47403         Bison wants to include lib/gnulib.mk from the top-level makefile,
47404         so it needs the file names in this file to be relative to the top
47405         level, not relative to lib; plus it needs variable names to be
47406         rewritten.
47407         (slurp): Use the new function.
47409         bootstrap: reformat for readability
47410         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
47412 2010-10-08  Eric Blake  <eblake@redhat.com>
47414         docs: update cygwin progress
47415         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
47416         1.7.7.
47417         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
47418         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
47419         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
47420         * doc/posix-functions/carg.texi (carg): Likewise.
47421         * doc/posix-functions/cargf.texi (cargf): Likewise.
47422         * doc/posix-functions/casin.texi (casin): Likewise.
47423         * doc/posix-functions/casinf.texi (casinf): Likewise.
47424         * doc/posix-functions/casinh.texi (casinh): Likewise.
47425         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
47426         * doc/posix-functions/catan.texi (catan): Likewise.
47427         * doc/posix-functions/catanf.texi (catanf): Likewise.
47428         * doc/posix-functions/catanh.texi (catanh): Likewise.
47429         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
47430         * doc/posix-functions/ccos.texi (ccos): Likewise.
47431         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
47432         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
47433         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
47434         * doc/posix-functions/cexp.texi (cexp): Likewise.
47435         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
47436         * doc/posix-functions/cimag.texi (cimag): Likewise.
47437         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
47438         * doc/posix-functions/clog.texi (clog): Likewise.
47439         * doc/posix-functions/clogf.texi (clogf): Likewise.
47440         * doc/posix-functions/conj.texi (conj): Likewise.
47441         * doc/posix-functions/conjf.texi (conjf): Likewise.
47442         * doc/posix-functions/cpow.texi (cpow): Likewise.
47443         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
47444         * doc/posix-functions/cproj.texi (cproj): Likewise.
47445         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
47446         * doc/posix-functions/creal.texi (creal): Likewise.
47447         * doc/posix-functions/crealf.texi (crealf): Likewise.
47448         * doc/posix-functions/csin.texi (csin): Likewise.
47449         * doc/posix-functions/csinf.texi (csinf): Likewise.
47450         * doc/posix-functions/csinh.texi (csinh): Likewise.
47451         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
47452         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
47453         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
47454         * doc/posix-functions/ctan.texi (ctan): Likewise.
47455         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
47456         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
47457         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
47458         * doc/posix-headers/complex.texi (complex.h): Likewise.
47460 2010-10-07  Jim Meyering  <meyering@redhat.com>
47462         parse-datetime: avoid compilation failure on OpenBSD 4.7
47463         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
47464         This works around a compilation failure on OpenBSD 4.7:
47465         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
47467 2010-10-07  Eric Blake  <eblake@redhat.com>
47469         docs: update cygwin progress
47470         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
47471         1.7.6.
47472         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
47473         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
47474         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
47475         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
47476         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
47477         Likewise.
47478         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
47479         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
47480         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
47481         Likewise.
47482         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
47483         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
47484         Likewise.
47485         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
47486         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
47487         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
47488         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
47489         Likewise.
47490         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
47491         Likewise.
47492         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
47494         docs: update parse-datetime history
47495         * doc/parse-datetime.texi (Authors of parse_datetime): Better
47496         documentation of this function's history and alternatives.
47498         cygwin: use more robust version check
47499         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
47500         exclude an eventual cygwin 1.9.1.
47501         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47502         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47503         (gl_FUNC_STRCASESTR): Likewise.
47504         Reported by Bruno Haible.
47506 2010-10-06  Bruno Haible  <bruno@clisp.org>
47508         string, sys_select: Avoid #including large headers unless necessary.
47509         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
47510         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
47511         OSF/1, BeOS, Haiku.
47512         Reported by Jim Meyering.
47514 2010-10-05  Eric Blake  <eblake@redhat.com>
47516         memmem, strstr, strcasestr: fix bug with long periodic needle
47517         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
47518         periodic needle having false positive.
47519         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
47520         and cygwin 1.7.7.
47521         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
47522         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47523         (gl_FUNC_STRCASESTR): Likewise.
47524         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47525         * tests/test-memmem.c (main): Expose the bug.
47526         * tests/test-strcasestr.c (main): Likewise.
47527         * tests/test-strstr.c (main): Likewise.
47528         * tests/test-c-strcasestr.c (main): Likewise.
47529         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
47530         * doc/posix-functions/strstr.texi (strstr): Likewise.
47531         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47532         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
47534 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47536         parse-datetime: do some more renaming
47537         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
47538         parse_datetime, not get_date.  Mention the renaming.
47539         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
47540         in comments.
47541         * m4/bison.m4: Likewise.
47543 2010-10-05  Eric Blake  <eblake@redhat.com>
47545         parse-datetime: better name than get_date
47546         * NEWS: Reword the deprecation notice.
47547         * modules/get_date: Rename to modules/parse-datetime.
47548         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
47549         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
47550         * lib/get_date.y: Rename to lib/parse-datetime.y.
47551         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
47552         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
47553         * doc/getdate.texi: Provide fallback wrapper.
47554         * lib/getdate.h: Move guts, and wrap...
47555         * lib/parse-datetime.h: ...new file.
47556         * lib/parse-datetime.y (get_date): Rename...
47557         (parse_datetime): ...to this.
47558         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
47559         (gl_PARSE_DATETIME): ...to this.
47560         * doc/posix-functions/getdate.texi (get_date): Provide fallback
47561         documentation.
47562         * modules/getdate (Files): Provide fallback docs and header.
47563         (Notice, Depends-on): Update references.
47564         * tests/test-parse-datetime.c: Likewise.
47565         * DEPENDENCIES: Likewise.
47566         * MODULES.html.sh (Date and time <time.h>): Likewise.
47567         * doc/parse-datetime.texi (Date input formats)
47568         (Authors of parse_datetime): Likewise.
47569         * modules/parse-datetime (Files, configure.ac, Makefile.am)
47570         (Include): Likewise.
47571         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
47572         * gnulib-tool: Likewise.
47573         * m4/bison.m4 (gl_BISON): Likewise.
47574         Suggested by Bruno Haible.
47576 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47578         more ports to Solaris tr, which needs [] around ranges
47579         * gnulib-tool: Solaris tr needs [] around ranges.
47580         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47581         * tests/test-pipe-filter-gi1.c (main): Likewise.
47582         * tests/test-pipe-filter-ii1.c (main): Likewise.
47584 2010-10-05  Eric Blake  <eblake@redhat.com>
47586         bootstrap: fix Solaris regression
47587         * build-aux/bootstrap (check_versions): Solaris tr still needs []
47588         around ranges.
47589         Reported by Pádraig Brady.
47591         bootstrap: work with pkg-config
47592         * build-aux/bootstrap (check_versions): Also transliterate - in
47593         prerequisite name.
47594         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
47595         prerequisites that were already found, to avoid confusion.
47596         Reported by Justin Clift.
47598         faccessat: remove unused wrappers
47599         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
47600         presence of these wrappers dragged in -lgen on Solaris.
47601         Reported by Clemens Brogi; fix suggested by Paul Eggert.
47603 2010-10-05  Jim Meyering  <meyering@redhat.com>
47605         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
47606         * Makefile (sc_pragma_columns): New syntax-check rule.
47608 2010-10-04  Bruno Haible  <bruno@clisp.org>
47610         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
47611         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
47612         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
47613         Reported by Bruce Korb and Eric Blake.
47615 2010-10-04  Bruno Haible  <bruno@clisp.org>
47617         threadlib: Make option --with-libpth-prefix work.
47618         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
47619         use $LIBPTH, not just -lpth.
47621 2010-10-04  Bruno Haible  <bruno@clisp.org>
47623         Avoid line length limitation from HP NonStop system header files.
47624         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
47625         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
47626         * lib/ctype.in.h: Likewise.
47627         * lib/dirent.in.h: Likewise.
47628         * lib/errno.in.h: Likewise.
47629         * lib/fcntl.in.h: Likewise.
47630         * lib/float.in.h: Likewise.
47631         * lib/getopt.in.h: Likewise.
47632         * lib/iconv.in.h: Likewise.
47633         * lib/inttypes.in.h: Likewise.
47634         * lib/langinfo.in.h: Likewise.
47635         * lib/locale.in.h: Likewise.
47636         * lib/math.in.h: Likewise.
47637         * lib/netdb.in.h: Likewise.
47638         * lib/netinet_in.in.h: Likewise.
47639         * lib/poll.in.h: Likewise.
47640         * lib/pthread.in.h: Likewise.
47641         * lib/pty.in.h: Likewise.
47642         * lib/sched.in.h: Likewise.
47643         * lib/se-selinux.in.h: Likewise.
47644         * lib/search.in.h: Likewise.
47645         * lib/signal.in.h: Likewise.
47646         * lib/spawn.in.h: Likewise.
47647         * lib/stdarg.in.h: Likewise.
47648         * lib/stddef.in.h: Likewise.
47649         * lib/stdint.in.h: Likewise.
47650         * lib/stdio.in.h: Likewise.
47651         * lib/stdlib.in.h: Likewise.
47652         * lib/string.in.h: Likewise.
47653         * lib/strings.in.h: Likewise.
47654         * lib/sys_file.in.h: Likewise.
47655         * lib/sys_ioctl.in.h: Likewise.
47656         * lib/sys_select.in.h: Likewise.
47657         * lib/sys_socket.in.h: Likewise.
47658         * lib/sys_stat.in.h: Likewise.
47659         * lib/sys_time.in.h: Likewise.
47660         * lib/sys_times.in.h: Likewise.
47661         * lib/sys_utsname.in.h: Likewise.
47662         * lib/sys_wait.in.h: Likewise.
47663         * lib/sysexits.in.h: Likewise.
47664         * lib/termios.in.h: Likewise.
47665         * lib/time.in.h: Likewise.
47666         * lib/unistd.in.h: Likewise.
47667         * lib/wchar.in.h: Likewise.
47668         * lib/wctype.in.h: Likewise.
47669         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
47670         * modules/ctype (Makefile.am): Likewise.
47671         * modules/dirent (Makefile.am): Likewise.
47672         * modules/errno (Makefile.am): Likewise.
47673         * modules/fcntl-h (Makefile.am): Likewise.
47674         * modules/float (Makefile.am): Likewise.
47675         * modules/getopt-posix (Makefile.am): Likewise.
47676         * modules/iconv-h (Makefile.am): Likewise.
47677         * modules/inttypes (Makefile.am): Likewise.
47678         * modules/langinfo (Makefile.am): Likewise.
47679         * modules/locale (Makefile.am): Likewise.
47680         * modules/math (Makefile.am): Likewise.
47681         * modules/netdb (Makefile.am): Likewise.
47682         * modules/netinet_in (Makefile.am): Likewise.
47683         * modules/poll-h (Makefile.am): Likewise.
47684         * modules/pthread (Makefile.am): Likewise.
47685         * modules/pty (Makefile.am): Likewise.
47686         * modules/sched (Makefile.am): Likewise.
47687         * modules/search (Makefile.am): Likewise.
47688         * modules/selinux-h (Makefile.am): Likewise.
47689         * modules/signal (Makefile.am): Likewise.
47690         * modules/spawn (Makefile.am): Likewise.
47691         * modules/stdarg (Makefile.am): Likewise.
47692         * modules/stddef (Makefile.am): Likewise.
47693         * modules/stdint (Makefile.am): Likewise.
47694         * modules/stdio (Makefile.am): Likewise.
47695         * modules/stdlib (Makefile.am): Likewise.
47696         * modules/string (Makefile.am): Likewise.
47697         * modules/strings (Makefile.am): Likewise.
47698         * modules/sys_file (Makefile.am): Likewise.
47699         * modules/sys_ioctl (Makefile.am): Likewise.
47700         * modules/sys_select (Makefile.am): Likewise.
47701         * modules/sys_socket (Makefile.am): Likewise.
47702         * modules/sys_stat (Makefile.am): Likewise.
47703         * modules/sys_time (Makefile.am): Likewise.
47704         * modules/sys_times (Makefile.am): Likewise.
47705         * modules/sys_utsname (Makefile.am): Likewise.
47706         * modules/sys_wait (Makefile.am): Likewise.
47707         * modules/sysexits (Makefile.am): Likewise.
47708         * modules/termios (Makefile.am): Likewise.
47709         * modules/time (Makefile.am): Likewise.
47710         * modules/unistd (Makefile.am): Likewise.
47711         * modules/wchar (Makefile.am): Likewise.
47712         * modules/wctype (Makefile.am): Likewise.
47714 2010-10-04  Bruno Haible  <bruno@clisp.org>
47716         read-file tests: Avoid a test failure on NonStop Kernel.
47717         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
47718         a regular file.
47719         Reported by Joachim Schmitz <schmitz@hp.com>.
47721 2010-10-03  Bruno Haible  <bruno@clisp.org>
47723         gnulib-tool: Fixes for --create-testdir with --libtool.
47724         * gnulib-tool (func_get_automake_snippet): Don't augment
47725         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
47726         an executable.
47727         (func_create_testdir): Handle module 'alloca' like func_import.
47728         Reported by Bruce Korb <bruce.korb@gmail.com>.
47730 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47732         Avoid some lines longer than 80 characters.
47733         * lib/stdint.in.h: Break long comment lines.
47734         * lib/math.in.h: Likewise.
47735         (_GL_NUM_UINT_WORDS): New macro, for readability.
47736         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
47737         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
47738         * lib/stdlib.in.h: Likewise.
47739         * lib/spawn.in.h: Likewise.
47740         * lib/sys_socket.in.h: Update an URL.
47741         * lib/sys_stat.in.h: Break long line.
47743 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47745         Improve pmccabe2html.
47746         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47747         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47748         when the sources change. Remove the line in the HTML about "Used
47749         ranges" (which implied that there might be other unused ranges),
47750         rename "Resume" to "Summary" (easier to understand for more users).
47751         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47752         styles, and some unnecessary blank lines.
47754 2010-10-03  Bruno Haible  <bruno@clisp.org>
47755             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47757         acl: Add support for ACLs on NonStop Kernel.
47758         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47759         Check whether the function aclsort() exists.
47760         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47761         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47762         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47763         (acl_nontrivial [HAVE_ACLSORT]: New function.
47764         (file_has_acl): Implement for NonStop Kernel.
47765         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47766         (qset_acl): Implement for NonStop Kernel.
47767         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47768         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47769         (main): Implement for NonStop Kernel.
47770         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47771         Kernel. Handle this flavor.
47772         * tests/test-set-mode-acl.sh: Likewise.
47773         * tests/test-copy-acl.sh: Likewise.
47774         * tests/test-copy-file.sh: Likewise.
47776 2010-10-03  Bruno Haible  <bruno@clisp.org>
47778         Info about ACLs on NonStop Kernel.
47779         * doc/acl-resources.txt: Add info about NonStop Kernel.
47780         References by Joachim Schmitz <schmitz@hp.com>.
47782 2010-10-02  Bruno Haible  <bruno@clisp.org>
47784         Define missing EDQUOT on NonStop Kernel.
47785         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47786         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47787         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47788         missing.
47789         * doc/posix-headers/errno.texi: Mention the NSK bug.
47790         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47791         Reported by Joachim Schmitz <schmitz@hp.com>.
47793 2010-10-02  Bruno Haible  <bruno@clisp.org>
47795         Update doc for POSIX:2008.
47796         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47797         Update URL of POSIX specification.
47799 2010-10-02  Bruno Haible  <bruno@clisp.org>
47801         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47802         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47803         from gnulib, not from Automake.
47805 2010-10-02  Bruno Haible  <bruno@clisp.org>
47807         New module 'system-posix'.
47808         * modules/system-posix: New file.
47809         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47810         module is present.
47811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47812         GNULIB_SYSTEM_POSIX.
47813         * modules/stdlib (Depends-on): Remove sys_wait.
47814         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47815         * doc/posix-functions/system.texi: Mention the new module.
47816         * doc/posix-headers/stdlib.texi: Likewise.
47817         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47818         define test_sys_wait_macros to a no-op.
47819         Reported by Sam Steingold <sds@gnu.org>.
47821 2010-09-30  Bruno Haible  <bruno@clisp.org>
47823         More renaming from 'getdate' to 'get_date'.
47824         * doc/get_date.texi: Renamed from doc/getdate.texi.
47825         * modules/get_date (Files): Update.
47826         * MODULES.html.sh (Date and time <time.h>): Update.
47827         * DEPENDENCIES: Update.
47828         * gnulib-tool: Update comment.
47829         * m4/bison.m4 (gl_BISON): Likewise.
47830         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47832 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47834         bootstrap: support ACLOCAL_FLAGS during aclocal
47835         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47836         can add additional -I dir for third-party .m4 files.
47838 2010-09-30  Eric Blake  <eblake@redhat.com>
47840         bootstrap: use glibtoolize on MacOS
47841         * build-aux/bootstrap (check_versions): Convert libtool into
47842         libtoolize.
47843         (tool search): Move libtool check earlier, and look for
47844         glibtoolize for MacOS.
47845         (gnulib_tool_options): Auto-add --libtool when appropriate.
47846         Reported by Justin Clift.
47848         poll: fix typo that broke test on MacOS
47849         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47850         Reported by Justin Clift.
47852         getdate: rename to get_date
47853         Note: getdate.h is not renamed, to minimize client impact.
47854         * modules/getdate: Mark obsolete.  Move old contents...
47855         * modules/get_date: ...to new module name.
47856         * modules/getdate-tests: Move...
47857         * modules/get_date-tests: ...here.
47858         * m4/getdate.m4: Move...
47859         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47860         * lib/getdate.y: Move...
47861         * lib/get_date.y: ...here.
47862         * tests/test-getdate.c: Move...
47863         * tests/test-get_date.c: ...here.
47864         * doc/posix-functions/getdate.texi (getdate): Update name.
47865         * NEWS: Mention the change.
47867 2010-09-29  Bruno Haible  <bruno@clisp.org>
47869         Separate the module 'waitpid' from the module 'sys_wait'.
47870         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47871         present.
47872         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47873         gl_MODULE_INDICATOR_FOR_TESTS.
47874         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47875         * modules/sys_wait (Depends-on): Remove waitpid.
47876         (Makefile.am): Substitute GNULIB_WAITPID.
47877         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47878         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47879         signature only if the 'waitpid' module is present.
47880         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47881         * NEWS: Mention the change.
47882         * modules/grantpt (Depends-on): Add waitpid.
47883         * modules/wait-process (Depends-on): Likewise.
47885 2010-09-29  Bruno Haible  <bruno@clisp.org>
47887         More tests for module 'sys_wait'.
47888         * modules/sys_wait-c++-tests: New file.
47889         * tests/test-sys_wait-c++.cc: New file.
47890         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47891         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47893 2010-09-29  Bruno Haible  <bruno@clisp.org>
47895         New module 'waitpid'.
47896         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47897         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47898         Don't include <process.h>.
47899         (waitpid): Declare only, using modern idiom.
47900         * m4/waitpid.m4: New file.
47901         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47902         * modules/waitpid: New file.
47903         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47904         (Makefile.am): Update.
47905         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47907 2010-09-28  Bruno Haible  <bruno@clisp.org>
47909         poll: Assume ANSI C.
47910         * lib/poll.c (poll): Use an ANSI C declaration.
47912 2010-09-28  Bruno Haible  <bruno@clisp.org>
47914         poll-h: Create poll.h on all platforms.
47915         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47916         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47917         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47918         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47919         (gl_REPLACE_POLL_H): Don't set POLL_H.
47920         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47921         * modules/poll-h (Depends-on): Add include_next.
47922         (Makefile.am): Create poll.h unconditionally. Substitute also
47923         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47925 2010-09-28  Bruno Haible  <bruno@clisp.org>
47927         Tests for module 'poll-h'.
47928         * modules/poll-h-c++-tests: New file.
47929         * tests/test-poll-h-c++.cc: New file.
47931         Tests for module 'poll-h'.
47932         * modules/poll-h-tests: New file.
47933         * tests/test-poll-h.c: New file.
47935 2010-09-28  Bruno Haible  <bruno@clisp.org>
47937         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47938         * modules/poll-h (Depends-on): Add 'extensions'.
47940 2010-09-28  Bruno Haible  <bruno@clisp.org>
47942         New module 'poll-h'.
47943         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47944         (poll): Use modern idiom.
47945         * modules/poll-h: New file.
47946         * modules/poll (Files): Remove lib/poll.in.h.
47947         (Depends-on): Add poll-h.
47948         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47949         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47950         * m4/poll_h.m4: New file.
47951         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47952         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47953         and invoke gl_REPLACE_POLL_H.
47954         * lib/poll.c: Use common idiom.
47955         * tests/test-poll.c: Likewise.
47956         * doc/posix-headers/poll.texi: Mention the poll-h module.
47957         Suggested by Eric Blake.
47959 2010-09-26  Bruno Haible  <bruno@clisp.org>
47961         sys_wait: Implement WSTOPSIG.
47962         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47963         Reported by Simon Josefsson.
47965 2010-09-26  Simon Josefsson  <simon@josefsson.org>
47967         stdlib, sys_wait: Avoid compilation error on mingw.
47968         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
47970 2010-09-26  Bruno Haible  <bruno@clisp.org>
47972         stdlib tests: Avoid code duplication.
47973         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
47974         * modules/sys_wait-tests (Files): Likewise.
47975         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
47976         * tests/test-stdlib.c: Include test-sys_wait.h.
47977         (main): Invoke test_sys_wait_macros.
47978         * tests/test-sys_wait.c: Include test-sys_wait.h.
47979         (main): Invoke test_sys_wait_macros.
47981 2010-09-25  Simon Josefsson  <simon@josefsson.org>
47983         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
47984         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
47985         sure Windows sockets are working before calling getaddrinfo.
47986         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
47987         * doc/gnulib.texi (Windows sockets): Fix typo.
47989 2010-09-25  Bruno Haible  <bruno@clisp.org>
47991         Tests for module 'regex-quote'.
47992         * modules/regex-quote-tests: New file.
47993         * tests/test-regex-quote.c: New file.
47995         New module 'regex-quote'.
47996         * lib/regex-quote.h: New file.
47997         * lib/regex-quote.c: New file.
47998         * modules/regex-quote: New file.
47999         Suggested by Reuben Thomas <rrt@sc3d.org>.
48001 2010-09-24  Bruno Haible  <bruno@clisp.org>
48003         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
48004         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
48006 2010-09-23  Bruno Haible  <bruno@clisp.org>
48008         setenv: Relax license.
48009         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
48010         Blake.
48011         Requested by Eric Blake.
48013 2010-09-22  Bruno Haible  <bruno@clisp.org>
48015         termios: Relax license.
48016         * modules/termios (License): Change to LGPLv2+.
48017         Requested by Eric Blake.
48019 2010-09-22  Bruno Haible  <bruno@clisp.org>
48021         threadlib: Allow the package to change the default to 'no'.
48022         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
48023         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
48024         Reported by Paul Eggert.
48026 2010-09-22  Pádraig Brady  <P@draigbrady.com>
48027             Bruno Haible  <bruno@clisp.org>
48029         Fix endless loop in mbmemcasecoll.
48030         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
48031         byte.
48032         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
48034 2010-09-22  Bruno Haible  <bruno@clisp.org>
48036         Tests for module 'memcoll'.
48037         * modules/memcoll-tests: New file.
48038         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
48040         memcoll, xmemcoll: Clarify size vs. length.
48041         * modules/memcoll.c (memcoll0): Clarify specification.
48042         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
48043         passed to collate_error.
48045 2010-09-22  Bruno Haible  <bruno@clisp.org>
48047         Tests for module 'memcasecmp'.
48048         * modules/memcasecmp-tests: New file.
48049         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
48051 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
48053         * lib/pthread.in.h: Add split double-inclusion guard, and include
48054         system <pthread.h> if there is one.  Use @@-style as in other
48055         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
48056         pthread.h doesn't.
48057         (pthread_mutexattr_destroy, pthread_mutexattr_init):
48058         (pthread_mutexattr_settype, pthread_mutex_trylock):
48059         New static inline functions, if there's no system <pthread.h>.
48060         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
48061         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
48062         Approximate with mutexes if the system lacks spinlocks, as in
48063         MacOS.
48064         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
48065         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
48066         @@-style.  Check for spinlocks separately.
48067         (gl_PTHREAD_DEFAULTS): New macro.
48068         * modules/pthread: Redo to use a more typical style for in.h files.
48070 2010-09-21  Eric Blake  <eblake@redhat.com>
48072         net_if: enhance tests
48073         * tests/test-net_if.c (main): Move signature checks earlier.
48074         Print failures to stderr.
48075         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
48076         Document the bug that we do not yet fix.
48078 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48080         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
48081         about gnulib, not GSS.
48083 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48085         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
48086         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
48087         for Emacs.
48088         * build-aux/pmccabe2html: Make Makefile.am example code more
48089         cut-and-paste friendly.
48091 2010-09-21  Simon Josefsson  <simon@josefsson.org>
48093         * tests/test-net_if.c: New file.
48094         * modules/net_if-tests: New file.
48096 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
48098         pthread: add pthread_spin_destroy
48099         * lib/pthread.in.h (pthread_spin_destroy): New function.
48101 2010-09-19  Bruno Haible  <bruno@clisp.org>
48103         gnulib-tool: Fix --help output.
48104         * gnulib-tool (func_usage): Fix help message.
48105         Reported by Reuben Thomas <rrt@sc3d.org>.
48107 2010-09-18  Jim Meyering  <meyering@redhat.com>
48109         maint.mk: avoid unexpanded \n in two diagnostics
48110         * top/maint.mk (sc_prohibit_always_true_header_tests):
48111         Don't use a literal \n in a halt=... assignment.  It would not be
48112         expanded, and the two \n bytes would appear in the diagnostic output
48113         rather than the desired newline.  Use halt=$$(printf ... instead.
48114         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
48116 2010-09-18  Bruno Haible  <bruno@clisp.org>
48118         netinet_in: Doc tweak.
48119         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
48120         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48122 2010-09-18  Jim Meyering  <meyering@redhat.com>
48124         init.sh: correct an outdated comment
48125         * tests/init.sh (create_exe_shims_):  s/function/alias/
48127         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
48128         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
48129         a file named "*.exe" is removed between the glob expansion and the
48130         processing of that oddly named file.
48132 2010-09-17  Eric Blake  <eblake@redhat.com>
48134         mirbsd: add some more support
48135         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
48136         in BSD family.
48137         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
48138         devices as OpenBSD.
48139         * m4/host-os.m4 (mirbsd): Add MirBSD.
48141         tests: fix unportable assumption on sys/wait.h
48142         * tests/test-sys_wait.c (main): Relax test.
48143         * tests/test-stdlib.c (main): Likewise.
48145         init.sh: accommodate directory with no .exes
48146         * tests/init.sh: Accomodate directory containing only scripts.
48148         tests: avoid compiler warning
48149         * tests/test-stdlib.c (main): Use the variable.
48151         fdutimens, fdutimensat: update signature, again
48152         * lib/utimens.h (gl_futimens): Delete, and move signature...
48153         (fdutimens): ...here.
48154         (fdutimensat): Rearrange signature.
48155         (lutimensat): Rename variable for clarity.
48156         * lib/fdutimensat.c (fdutimensat): Update signature.
48157         * lib/utimens.c (fdutimens): Likewise.
48158         (gl_futimens): Delete.
48159         (utimens, lutimens): Update callers.
48160         * lib/futimens.c (futimens): Likewise.
48161         * tests/test-fdutimensat.c: Likewise.
48162         * tests/test-utimens.c: Likewise.
48163         * tests/test-futimens.h: Update comment.
48164         * NEWS: Mention this.
48165         Suggested by Paul Eggert.
48167 2010-09-17  Bruno Haible  <bruno@clisp.org>
48169         Take over the maintenance of some older macros from Autoconf.
48170         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
48171         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
48172         GNU Autoconf.
48173         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
48174         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
48176 2010-09-17  Eric Blake  <eblake@redhat.com>
48178         fdutimensat: drop atflag validation
48179         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
48180         with valid fd, to close a race scenario where futimens is
48181         unsupported and FILE was replaced by a symlink.
48182         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
48183         accordingly.
48184         Suggested by Paul Eggert.
48186 2010-09-16  Bruno Haible  <bruno@clisp.org>
48188         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
48189         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
48191 2010-09-16  Bruno Haible  <bruno@clisp.org>
48193         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
48194         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
48195         login_tty exists.
48196         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48198 2010-09-16  Bruno Haible  <bruno@clisp.org>
48200         login_tty: Make the replacement code work on BSD systems.
48201         * lib/login_tty.c: Include <sys/ioctl.h>.
48202         (login_tty): Use ioctl TIOCSCTTY when available.
48203         * modules/login_tty (Depends-on): Add sys_ioctl.
48204         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48206 2010-09-16  Bruno Haible  <bruno@clisp.org>
48208         login_tty: Stricter unit test.
48209         * modules/login_tty-tests (Depends-on): Add tcgetsid.
48210         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
48211         and tcgetsid() after login_tty.
48212         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48214 2010-09-16  Bruno Haible  <bruno@clisp.org>
48216         New module 'tcgetsid'.
48217         * lib/tcgetsid.c: New file.
48218         * m4/tcgetsid.m4: New file.
48219         * modules/tcgetsid: New file.
48220         * modules/termios (Depends-on): Add c++defs, warn-on-use.
48221         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
48222         GNULIB_TCGETSID, HAVE_TCGETSID.
48223         * lib/termios.in.h: Include <sys/types.h>.
48224         (tcgetsid): New declaration.
48225         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
48226         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
48227         * doc/posix-functions/tcgetsid.texi: Mention the new module.
48228         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
48230 2010-09-16  Bruno Haible  <bruno@clisp.org>
48232         Tests for module 'termios'.
48233         * modules/termios-c++-tests: New file.
48234         * modules/termios-tests: New file.
48235         * tests/test-termios-c++.cc: New file.
48236         * tests/test-termios.c: New file.
48238         New module 'termios'.
48239         * modules/termios: New file.
48240         * lib/termios.in.h: New file.
48241         * m4/termios_h.m4: New file.
48242         * doc/posix-headers/termios.texi: Mention the new module.
48244 2010-09-16  Eric Blake  <eblake@redhat.com>
48246         fdutimensat: add an atflag parameter
48247         * lib/fdutimensat.c (fdutimensat): Add new parameter.
48248         * lib/utimens.h (fdutimensat): Update prototype.
48249         * tests/test-fdutimensat.c: Adjust test to match.
48250         * NEWS: Document the change.
48251         Suggested by Paul Eggert.
48253 2010-09-16  Bruno Haible  <bruno@clisp.org>
48255         Fix typos in comments.
48256         * lib/striconveh.h: Fix typo in comment.
48257         * lib/login_tty.c (login_tty): Likewise.
48259 2010-09-15  Bruno Haible  <bruno@clisp.org>
48261         stdlib: clarify MirBSD WEXITSTATUS bug
48262         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
48263         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48265 2010-09-15  Eric Blake  <eblake@redhat.com>
48267         stdlib: work around MirBSD WEXITSTATUS bug
48268         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
48269         * modules/stdlib (Depends-on): Add sys_wait.
48270         * tests/test-sys_wait.c (main): Enhance test.
48271         * tests/test-stdlib.c (main): Likewise.
48272         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
48274         docs: mention MacOS issue with WEXITSTATUS(constant)
48275         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
48276         issue.
48277         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48279         strnlen: add tests
48280         * modules/strnlen-tests: New file.
48281         * tests/test-strnlen.c: Likewise.
48283 2010-09-14  Bruno Haible  <bruno@clisp.org>
48285         unistr/base: Avoid link errors when module 'libunistring' is also used.
48286         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
48287         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
48288         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
48289         Declare also when HAVE_LIBUNISTRING is set.
48290         Reported by Pádraig Brady <P@draigbrady.com>.
48292 2010-09-14  Eric Blake  <eblake@redhat.com>
48294         test-rawmemchr: make more robust
48295         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
48296         (Depends-on, configure.ac): Add needed prerequisites to use it.
48297         * modules/memchr-tests (Files, Depends-on, configure.ac):
48298         Likewise, to avoid implicit reliance on memchr module prereqs.
48299         * tests/test-memchr.c (main): Ensure proper masking.
48300         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
48301         reads.
48303         memchr: detect glibc Alpha bug
48304         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
48305         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
48306         Alpha.
48307         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
48308         * tests/test-memchr.c (main): Enhance test.
48309         Reported by Nelson H. F. Beebe.
48311 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48313         fts, getcwd, glob: audit for dirfd returning -1
48314         * lib/fts.c (opendir): Remove #define; no longer used.
48315         (opendirat): New arg PDIR_FD.  All callers changed.
48316         (fts_build, _opendir2): Use new opendirat to avoid the need for
48317         dirfd, or for checking whether dirfd returns a negative value.
48318         Don't use opendir; always use openat followed by fdopendir.
48319         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
48320         it.
48321         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
48322         returns -1 here.
48323         * modules/fts (Depends-on): Remove dirfd.
48324         * modules/getcwd (Depends-on): Likewise.
48326 2010-09-13  Eric Blake  <eblake@redhat.com>
48328         float: fix broken MirBSD header
48329         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
48330         * doc/posix-headers/float.texi (float.h): Document it.
48332 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48334         fts: use O_NOFOLLOW to avoid race condition when opening a directory
48335         * lib/fts.c (opendirat): New arg extra_flags.
48336         (__opendir2): Use it to avoid following symlinks when opening
48337         a directory, if symlinks are not supposed to be followed.  See
48338         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
48340         fdopendir: preserve argument fd before returning
48341         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
48342         (fdopendir_with_dup, fd_clone_opendir): New static functions.
48343         (fdopendir): Use them, arranging for FD to be open to the same
48344         directory that it was when it started.  (It might be temporarily
48345         closed while fdopendir is running, so this not thread- or
48346         signal-safe.)  Be careful to do the right thing even when file
48347         descriptors are scarce and dup fails with errno == EMFILE.  See
48348         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
48350 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
48352         regex: Pass the system regex if its only problem is 32-bit regoff_t.
48353         * NEWS: Document change.
48354         * m4/regex.m4: Disable test for regoff_t size.
48356 2010-09-13  Jim Meyering  <meyering@redhat.com>
48358         fts: don't operate on an invalid file descriptor after failed dup
48359         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
48360         negative file descriptor.
48362 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48364         savedir: add streamsavedir, deprecate fdsavedir
48365         * NEWS: Mention deprecation of fdsavedir.
48366         * lib/savedir.c (streamsavedir): New extern function, whose name
48367         ends in "savedir" to be consistent with the others.  This differs
48368         from savedirstream in that it doesn't close its argument.  The
48369         next version of GNU tar will use this instead of fdsavedir, to
48370         avoid some race conditions and conserve file descriptors.
48371         (savedirstream): Reimplement as a wrapper around streamsavedir.
48372         (fdsavedir): Add a comment deprecating this function.  As far as
48373         I know, only GNU tar used it, and GNU tar doesn't need it any more.
48374         * lib/savedir.h (streamsavedir): New decl.
48375         (fdsavedir): Add a comment deprecating this.
48377 2010-09-10  Bruno Haible  <bruno@clisp.org>
48379         langinfo: Fix last commit.
48380         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
48381         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
48382         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48384 2010-09-10  Bruno Haible  <bruno@clisp.org>
48386         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
48387         * lib/progreloc.c (O_EXEC): Define fallback.
48389 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48391         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
48392         * NEWS: Document recent changes to fcntl-h.
48393         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
48394         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
48395         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
48396         Similarly for O_SEARCH; this last was already true, but not documented.
48397         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
48398         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
48399         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
48400         Likewise.
48401         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
48402         is zero, not whether it is defined.
48403         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
48404         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
48405         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
48407 2010-09-10  Bruno Haible  <bruno@clisp.org>
48409         langinfo, nl_langinfo: Fix for IRIX 5.3.
48410         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
48411         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
48412         HAVE_LANGINFO_YESEXPR.
48413         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
48414         HAVE_LANGINFO_YESEXPR.
48415         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
48416         HAVE_LANGINFO_T_FMT_AMPM is 0.
48417         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
48418         HAVE_LANGINFO_YESEXPR is 0.
48419         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
48420         NOEXPR.
48421         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
48422         * doc/posix-functions/nl_langinfo.texi: Likewise.
48423         Reported by Eric Blake.
48425 2010-09-10  Bruno Haible  <bruno@clisp.org>
48427         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
48428         * doc/glibc-functions/login_tty.texi: Mention the include file problem
48429         on FreeBSD 8.0 and OpenBSD 4.6.
48430         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
48431         * m4/pty_h.m4 (gl_PTY_H): Likewise.
48432         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
48433         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
48434         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
48435         ac_includes_default.
48436         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48438 2010-09-09  Eric Blake  <eblake@redhat.com>
48440         strsignal: work around NetBSD bug
48441         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
48442         * lib/string.in.h (includes): Likewise.
48443         * doc/posix-functions/strsignal.texi (strsignal): Document the
48444         bug.
48445         Reported by Nelson H. F. Beebe.
48447         gnulib-tool: work with NetBSD /bin/sh
48448         * gnulib-tool (func_cache_var, func_cache_lookup_module)
48449         (func_get_description, func_get_comment, func_get_status)
48450         (func_get_notice, func_get_applicability, func_get_filelist)
48451         (func_get_dependencies, func_get_autoconf_early_snippet)
48452         (func_get_autoconf_snippet, func_get_automake_snippet)
48453         (func_get_include_directive, func_get_link_directive)
48454         (func_get_license, func_get_maintainer, func_import): Avoid
48455         shell syntax errors from parsing syntax extensions.
48457 2010-09-09  Bruno Haible  <bruno@clisp.org>
48459         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48460         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
48461         a reliable way to determine whether the 'alias' command works.
48463 2010-09-08  Jim Meyering  <meyering@redhat.com>
48465         init.sh: penalize a set-x-impaired shell; don't disqualify it
48466         * tests/init.sh: Too many shells corrupt application stderr when
48467         you set -x, so we can't afford to disqualify them, since at least
48468         on Irix-6.5, that would disqualify all bourne shells.
48469         Instead, use a two-pass approach.
48470         On the first pass, try to find a shell that meets the stricter
48471         condition that set -x does not corrupt stderr.
48472         If no shell meets the stricter condition, retest each candidate
48473         shell, but without that extra condition.  Finally, when
48474         VERBOSE=yes is requested and set -x might cause trouble, simply
48475         issue a warning and refrain from enabling debug output.
48477 2010-09-08  Eric Blake  <eblake@redhat.com>
48479         unsetenv: fix OpenBSD bug
48480         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
48481         * doc/posix-functions/unsetenv.texi (unsetenv): Update
48482         documentation.
48483         Reported by Jim Meyering.
48485         strtod: work around IRIX 6.5 bug
48486         * lib/strtod.c (strtod): Reparse number on shorter string if
48487         exponent parse was invalid.
48488         * tests/test-strtod.c (main): Add check for "0x1p 2".
48489         Reported by Tom G. Christensen.
48491         getopt: optimize previous patch
48492         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
48493         empty variable.  Speed up awk script.
48494         Reported by Paolo Bonzini.
48496 2010-09-08  Jim Meyering  <meyering@redhat.com>
48498         test.sh: disqualify shells for which set -x corrupts stderr
48499         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
48500         and OpenBSD 4.7.  They make it so with "set -x", environment settings
48501         appear in stderr output.  For example, this command:
48502             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
48503         prints "P=1" on those two systems:
48505 2010-09-08  Bruno Haible  <bruno@clisp.org>
48507         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48508         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
48509         commands, because some shells ignore redirections when there is an
48510         error in the command lookup.
48511         Reported by Eric Blake.
48513 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
48515         * lib/regex.h: Fix a mention of `regex_compile' (should be
48516         `re_compile_pattern').
48517         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
48518         (re_set_registers): Correct name of parameter in comment.
48520         * doc/regex.texi: Add documentation for missing syntax flags.
48521         Remove commented-out documentation of defunct syntax option
48522         RE_NO_EMPTY_ALTS.
48523         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
48524         Add documentation of re_set_registers.
48525         Document trick to re-use a pattern buffer by setting fastmap manually.
48526         Update documentation of struct re_pattern_buffer per public members.
48527         Uncomment documentation of equivalence class operators and
48528         collating symbol operators, since they are now implemented,
48529         Explain leftmost-longest matching in relation to alternatives.
48530         Tidy documentation of substring matching.
48531         Remove POSIX documentation, which is done better in
48532         glibc, and refer the reader there. Keep BSD API documentation, as
48533         that is not readily available elsewhere.
48535 2010-09-07  Eric Blake  <eblake@redhat.com>
48537         getopt: handle POSIXLY_CORRECT set but not exported
48538         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
48539         export state of POSIXLY_CORRECT, due to bash set -o posix.
48540         Reported by Dustin J. Mitchell.
48542 2010-09-05  Bruno Haible  <bruno@clisp.org>
48544         gnulib-tool: Highlight the changed options.
48545         * gnulib-tool (func_usage): Display the --import, --add-import,
48546         --remove-import explanations in bold font.
48548 2010-09-06  Karl Berry  <karl@gnu.org>
48550         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
48552 2010-09-05  Bruno Haible  <bruno@clisp.org>
48554         uniwidth/width: Update comment.
48555         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
48556         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
48558 2010-09-05  Bruno Haible  <bruno@clisp.org>
48560         isinf, isnan: Relax license.
48561         * modules/isinf (License): Change from GPL to LGPL, with consent from
48562         Ben Pfaff.
48563         * modules/isnan (License): Likewise.
48564         Requested by Ludovic Courtès.
48566 2010-09-04  Bruno Haible  <bruno@clisp.org>
48568         gnulib-tool: Help migration from --import to --add-import or --update.
48569         * gnulib-tool: Emit a verbose error message when --import is used
48570         without any module name.
48572 2010-09-04  Bruno Haible  <bruno@clisp.org>
48574         Update doc about gnulib-tool.
48575         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
48576         'gnulib-tool --update' in more detail.
48577         Reported by Eric Blake.
48579 2010-09-04  Bruno Haible  <bruno@clisp.org>
48581         gnulib-tool: Change --import. New options --add/remove-import.
48582         * gnulib-tool: New options --add-import, --remove-import.
48583         (func_usage): Document them.
48584         (have_associative): Define always.
48585         (func_import): In import mode, don't merge the specified settings with
48586         the cached settings. Implement remove-import mode.
48587         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
48588         Explain when to use them versus --import.
48589         (Simple update): Use --add-import instead of --import.
48590         * NEWS: Mention the change.
48592 2010-09-04  Bruno Haible  <bruno@clisp.org>
48594         * doc/gnulib-tool.texi (Initial import): Update paragraph about
48595         separate gnulib.mk.
48597 2010-09-04  Bruno Haible  <bruno@clisp.org>
48599         gnulib-tool: Don't talk about CVS any more.
48600         * gnulib-tool (func_usage, func_import): Write "version control"
48601         instead of CVS.
48603 2010-09-04  Jim Meyering  <meyering@redhat.com>
48605         maint.mk: avoid obscure sc_copyright_check failure in coreutils
48606         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
48607         false positives (whose names may be ill-chosen) when searching
48608         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
48609         would cause a false-positive.
48611         avoid coreutils "make distcheck" failure
48612         Coreutils tests with an absolute build directory name that contains
48613         a space.  Not quoting this directory name caused a failure.
48614         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
48615         * tests/test-vc-list-files-cvs.sh: Likewise.
48617 2010-09-04  Bruno Haible  <bruno@clisp.org>
48619         gnulib-tool: Avoid error when run in a package without Makefile.am.
48620         * gnulib-tool: When collecting the m4dirs in a package that does not
48621         have a Makefile.am, eliminate those directories that contain no
48622         gnulib-cache.m4. Fix expression that counts these directories.
48624 2010-09-04  Bruno Haible  <bruno@clisp.org>
48626         update-copyright test: Improve output when perl is missing or too old.
48627         * tests/test-update-copyright.sh: Move test of Perl version down after
48628         the test whether Perl exists. Provide an explanation relating Perl's
48629         error message to Automake's SKIP: message.
48631 2010-09-04  Bruno Haible  <bruno@clisp.org>
48633         Don't augment PATH in TESTS_ENVIRONMENT.
48634         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
48635         set abs_aux_dir instead of augmenting PATH.
48636         * modules/vc-list-files-tests (Makefile.am): Likewise.
48637         * tests/test-update-copyright.sh: Augment PATH here.
48638         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
48639         path_prepend_.
48640         * tests/test-vc-list-files-git.sh: Likewise.
48642 2010-09-04  Jim Meyering  <meyering@redhat.com>
48644         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
48645         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
48647 2010-09-04  Bruno Haible  <bruno@clisp.org>
48649         strdup: Fix compilation error in C++ mode.
48650         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
48651         the macro.
48653 2010-09-04  Bruno Haible  <bruno@clisp.org>
48655         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
48656         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
48657         macro into a function.
48658         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
48660 2010-09-04  Bruno Haible  <bruno@clisp.org>
48662         Set PATH_SEPARATOR the same way autoconf does.
48663         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
48664         the value of PATH_SEPARATOR the same way autoconf-generated configure
48665         scripts do.
48666         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
48667         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48669 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
48671         Set PATH_SEPARATOR the same way autoconf does.
48672         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
48673         the same way autoconf-generated configure scripts do.
48674         * posix-modules: Likewise.
48676 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48678         hash: fix safe_hasher const typo
48679         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
48680         const; otherwise, there is a type error later.
48682 2010-09-02  Jim Meyering  <meyering@redhat.com>
48684         test-update-copyright.sh: require perl 5.8.0
48685         * tests/test-update-copyright.sh: Require 5.8.0,
48686         which Tom G. Christensen has confirmed is adequate,
48687         while 5.6.1 is not.
48689 2010-09-02  Eric Blake  <eblake@redhat.com>
48691         tests: init.sh improvements for re-exec'ing with zsh
48692         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
48693         -vx through shell re-exec.
48694         Reported by Tom G. Christensen.
48696         wctype: fix typo in previous commit
48697         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
48698         Reported by Ludovic Courtès.
48700 2010-09-02  Jim Meyering  <meyering@redhat.com>
48702         test-update-copyright.sh: skip test if Perl is too old
48703         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
48704         Reported by Tom G. Christensen.
48706 2010-09-02  Bruno Haible  <bruno@clisp.org>
48708         wctype: Avoid compilation error on IRIX 6.5.30.
48709         * lib/wctype.in.h (iswblank): Declare with a replacement if
48710         REPLACE_ISWBLANK is set.
48711         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
48712         declared. Set REPLACE_ISWBLANK.
48713         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
48714         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
48715         * doc/posix-headers/wctype.texi: Likewise.
48716         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48718 2010-09-01  Bruno Haible  <bruno@clisp.org>
48720         New module 'socketlib'.
48721         * modules/socketlib: New file.
48722         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
48723         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
48724         * modules/sockets (Depends-on): Add socketlib.
48725         Suggested by Sam Steingold <sds@gnu.org>.
48727 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48729         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
48731         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
48732         when one needs search access to a directory but not read access.
48733         On systems where it is available, it works in some cases where
48734         O_RDONLY does not, namely on directories that are searchable but
48735         not readable, and which need only to be searchable.  If O_SEARCH
48736         is not available, fall back to the traditional method of using
48737         O_RDONLY.
48739         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48740         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48741         when opening a directory that needs only to be searchable.
48742         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48743         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48744         * lib/openat-proc.c (openat_proc_name): Likewise.
48745         * lib/openat.c (openat_needs_fchdir): Likewise.
48746         * lib/save-cwd.c (save_cwd): Likewise.
48747         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48749 2010-08-28  Bruno Haible  <bruno@clisp.org>
48751         New module 'host-cpu-c-abi'.
48752         * modules/host-cpu-c-abi: New file.
48753         * m4/host-cpu-c-abi.m4: New file, based on part of
48754         clisp/src/m4/general.m4.
48755         Requested by Sam Steingold <sds@gnu.org>.
48757 2010-08-31  Eric Blake  <eblake@redhat.com>
48758         and Jim Meyering  <meyering@redhat.com>
48760         hash: factor, and guard against misbehaving hasher function
48761         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48762         of table->hasher's return value.  Also protect against a hash value
48763         so large that adding it to table->bucket results in a NULL pointer.
48764         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48765         Use it in place of open-coded check-and-abort.
48767 2010-08-30  Bruno Haible  <bruno@clisp.org>
48769         hash: silence spurious clang warning
48770         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48771         Reported by Eric Blake.
48773 2010-08-30  Eric Blake  <eblake@redhat.com>
48775         strstr, memmem, strcasestr: avoid leaked shell message
48776         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48777         FreeBSD.
48778         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48779         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48781         tests: silence clang warning
48782         * tests/test-malloca.c (do_allocation): Avoid dead store.
48784 2010-08-29  Bruno Haible  <bruno@clisp.org>
48786         gettext: Fix recent mistake.
48787         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48789 2010-08-29  Bruno Haible  <bruno@clisp.org>
48791         selinux-h: Offer a --without-selinux option.
48792         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48793         --without-selinux was specified, skip all tests and define
48794         HAVE_SELINUX_SELINUX_H to 0.
48795         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48796         set LIB_SELINUX to empty.
48797         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48798         gl_LIBSELINUX. If --without-selinux was specified, replace
48799         selinux/context.h.
48800         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48802 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48803             Bruno Haible  <bruno@clisp.org>
48805         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48806         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48807         of HAVE_REALLOC.
48808         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48809         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48810         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48811         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48813 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48814             Bruno Haible  <bruno@clisp.org>
48816         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48817         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48818         HAVE_CALLOC.
48819         * lib/xmalloc.c: Update accordingly.
48820         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48821         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48822         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48824 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48825             Bruno Haible  <bruno@clisp.org>
48827         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48828         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48829         HAVE_MALLOC.
48830         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48831         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48832         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48834 2010-08-29  Bruno Haible  <bruno@clisp.org>
48836         Update modules list.
48837         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48838         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48839         (String handling <string.h>): Add astrxfrm.
48840         (File system functions): Add readlinkat.
48842 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48844         Tests for module 'realloc-gnu'.
48845         * modules/realloc-gnu-tests: New file.
48846         * tests/test-realloc-gnu.c: New file.
48848         Tests for module 'calloc-gnu'.
48849         * modules/calloc-gnu-tests: New file.
48850         * tests/test-calloc-gnu.c: New file.
48852         Tests for module 'malloc-gnu'.
48853         * modules/malloc-gnu-tests: New file.
48854         * tests/test-malloc-gnu.c: New file.
48856 2010-08-28  Bruno Haible  <bruno@clisp.org>
48858         Rename module 'realloc' -> 'realloc-gnu'.
48859         * modules/realloc-gnu: New file, copied from modules/realloc.
48860         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48861         obsolete.
48862         * modules/mgetgroups (Depends-on): Update.
48863         * doc/posix-functions/realloc.texi: Update.
48864         * NEWS: Mention the change.
48866         Rename module 'calloc' -> 'calloc-gnu'.
48867         * modules/calloc-gnu: New file, copied from modules/calloc.
48868         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48869         obsolete.
48870         * doc/posix-functions/calloc.texi: Update.
48871         * NEWS: Mention the change.
48873         Rename module 'malloc' -> 'malloc-gnu'.
48874         * modules/malloc-gnu: New file, copied from modules/malloc.
48875         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48876         obsolete.
48877         * modules/argp (Depends-on): Update.
48878         * modules/regex (Depends-on): Update.
48879         * doc/posix-functions/malloc.texi: Update.
48880         * NEWS: Mention the change.
48882 2010-08-28  Eric Blake  <eblake@redhat.com>
48884         pread, pwrite: add missing dependency
48885         * modules/pread (Depends-on): Add extensions.
48886         * modules/pwrite (Depends-on): Likewise.
48888 2010-08-28  Bruno Haible  <bruno@clisp.org>
48890         unistr/u*-strchr: Fix tests dependencies.
48891         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48892         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48893         Reported by Ian Beckwith <ianb@erislabs.net>.
48895 2010-08-28  Bruno Haible  <bruno@clisp.org>
48897         read-file: Don't occupy too much unused memory.
48898         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48900 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48901             Eric Blake  <eblake@redhat.com>
48902             Bruno Haible  <bruno@clisp.org>
48904         read-file: Avoid memory reallocations with regular files.
48905         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48906         (fread_file): With regular files, use the remaining length as the
48907         initial buffer size.  Check against overflow.
48908         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48909         sys_stat.
48911 2010-08-28  Bruno Haible  <bruno@clisp.org>
48913         ftello: Relax license.
48914         * modules/ftello (License): Relax to LGPLv2+.
48915         Reported by Eric Blake.
48917 2010-08-28  Bruno Haible  <bruno@clisp.org>
48919         Avoid relocwrapper link errors due to gnulib replacement functions.
48920         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48921         function.
48922         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48924 2010-08-28  Bruno Haible  <bruno@clisp.org>
48926         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48927         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48928         defined.
48929         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48930         Suggested by Eric Blake.
48932 2010-08-28  Bruno Haible  <bruno@clisp.org>
48934         sys_socket, netdb: Ensure socklen_t gets defined.
48935         * modules/sys_socket (Depends-on): Add socklen.
48936         * modules/netdb (Depends-on): Likewise.
48937         * modules/getaddrinfo (Depends-on): Remove socklen.
48938         * modules/getsockopt (Depends-on): Likewise.
48939         * modules/setsockopt (Depends-on): Likewise.
48940         * tests/test-sys_socket.c: Check that socklen_t is defined.
48941         * tests/test-netdb.c: Likewise.
48942         * m4/socklen.m4: Update comments.
48943         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48945 2010-08-27  Eric Blake  <eblake@redhat.com>
48947         login_tty: add missing dependency
48948         * modules/login_tty (Depends-on): Add pty.
48950 2010-08-26  Eric Blake  <eblake@redhat.com>
48952         lib-symbol-versions: fix m4 quoting
48953         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48954         format for AC_LINK_IFELSE.
48956         glob: fix compile test
48957         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48959         btowc: fix missing file
48960         * modules/btowc (Files): Also ship locale-fr.m4.
48962         lseek: fix link test
48963         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48964         AC_LINK_IFELSE.
48966         include_next: silence autoconf 2.68 warning
48967         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
48968         AC_COMPILE_IFELSE as special.
48969         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
48970         autoconf < 2.68.
48972         acl: fix compilation test
48973         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
48974         AC_COMPILE_IFELSE.
48976 2010-08-26  Bruno Haible  <bruno@clisp.org>
48978         Modernize AC_TRY_RUN invocations.
48979         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
48980         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
48981         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
48982         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
48983         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
48984         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48985         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
48986         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48987         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48988         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48989         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
48990         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48991         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
48992         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48993         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
48994         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
48995         gl_MBRLEN_NUL_RETVAL): Likewise.
48996         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48997         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48998         Likewise.
48999         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49000         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
49001         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
49002         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
49003         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
49004         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
49005         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
49006         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49007         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
49008         Likewise.
49009         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49010         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
49011         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49012         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49013         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49014         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
49015         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
49016         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
49017         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49018         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49020 2010-08-26  Bruno Haible  <bruno@clisp.org>
49022         Modernize AC_TRY_LINK invocations.
49023         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
49024         AC_TRY_LINK.
49025         * m4/argp.m4 (gl_ARGP): Likewise.
49026         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49027         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49028         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49029         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49030         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49031         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
49032         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49033         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49034         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49035         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49036         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49037         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
49038         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
49039         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49040         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49041         * m4/hostent.m4 (gl_HOSTENT): Likewise.
49042         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49043         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
49044         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49045         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
49046         Likewise.
49047         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
49048         Likewise.
49049         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
49050         Likewise.
49051         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49052         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
49053         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
49054         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49055         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49056         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49057         * m4/servent.m4 (gl_SERVENT): Likewise.
49058         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49059         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49060         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49061         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49062         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49063         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49064         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49065         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49066         * modules/tsearch-tests (configure.ac): Likewise.
49068 2010-08-26  Bruno Haible  <bruno@clisp.org>
49070         Modernize AC_TRY_COMPILE invocations.
49071         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
49072         AC_TRY_COMPILE.
49073         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
49074         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
49075         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49076         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
49077         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49078         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49079         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49080         * m4/lock.m4 (gl_LOCK): Likewise.
49081         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
49082         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49083         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
49084         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
49085         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49086         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
49087         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49088         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
49089         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49090         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49091         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49092         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49093         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
49094         extraneous semicolon.
49096 2010-08-26  Jim Meyering  <meyering@redhat.com>
49098         stat-time: relax license LGPL
49099         * modules/stat-time (License): Change from GPL to LGPL,
49100         with consent from all contributors, for use in libguile.
49101         Requested by Ludovic Courtès.
49103 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
49105         poll: return immediately on POLLHUP.
49106         * lib/poll.c (poll): Always set timeout before wait_timeout is
49107         computed.
49109 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49111         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
49112         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
49113         rmdir ("dir/.//"), unlinkat.
49115 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49117         stdbool: avoid spurious failure with modern xlc
49118         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49120 2010-08-24  Bruno Haible  <bruno@clisp.org>
49122         getloadavg: simplify code
49123         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
49124         gl_have_func. Update comments.
49126 2010-08-24  Eric Blake  <eblake@redhat.com>
49128         getloadavg: don't define SVR4 on cygwin
49129         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
49130         only define SVR4 when -lkvm is required.
49131         Reported by Yaakov Selkowitz.
49133 2010-08-24  Bruno Haible  <bruno@clisp.org>
49135         priv-set: fix comment
49136         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
49138 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49140         priv-set: fix comments
49141         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
49142         to match code, as suggested by David Bartley in:
49143         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
49145 2010-08-23  Eric Blake  <eblake@redhat.com>
49147         stdbool: avoid rejecting clang
49148         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49149         * tests/test-stdbool.c: Enable more tests if using the system
49150         <stdbool.h> instead of the gnulib replacement.
49151         (main): Move xlc bug test to a runtime test for all compilers.
49152         Reported by Anders Kaseorg.
49154         argz: fix shell quoting issue
49155         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
49156         Reported by Charles Wilson.
49158 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
49159             Erik Faye-Lund <kusmabite@gmail.com>
49161         poll, select: handle ERROR_BROKEN_PIPE.
49162         * lib/poll.c (win32_compute_revents): Return POLLHUP when
49163         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49164         * lib/select.c (win32_compute_revents): Do not mark a pipe
49165         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49167 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
49169         fts: allow compilation with C++
49170         * lib/fts_.h: Specify extern "C" linkage with C++.
49172 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49174         Fix gnulib-tool sed script de-commentation for AIX sed.
49175         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
49176         sed.
49178 2010-08-17  Eric Blake  <eblake@redhat.com>
49180         test-stddef: test for (some) offsetof bugs
49181         * tests/test-stddef.c: Enhance test to ensure correct type of
49182         offsetof.
49183         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
49184         that we are not fixing at this time.
49186 2010-08-15  Bruno Haible  <bruno@clisp.org>
49188         stpncpy: Allow stpncpy to be defined as a macro.
49189         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
49190         if it's already correctly declared.
49191         * lib/string.in.h (stpncpy): Undefine before redefining.
49192         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
49194 2010-08-14  Bruno Haible  <bruno@clisp.org>
49196         Rename module 'memxfrm' to 'amemxfrm'.
49197         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
49198         (amemxfrm): Renamed from memxfrm.
49199         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
49200         (amemxfrm): Renamed from memxfrm.
49201         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
49202         * NEWS: Mention the change.
49203         * MODULES.html.sh (String handling <string.h>): Update.
49204         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
49205         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
49206         * lib/unicase/u16-casexfrm.c: Likewise.
49207         * lib/unicase/u32-casexfrm.c: Likewise.
49208         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
49209         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
49210         * lib/uninorm/u16-normxfrm.c: Likewise.
49211         * lib/uninorm/u32-normxfrm.c: Likewise.
49212         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
49213         memxfrm.
49214         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
49215         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
49216         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
49217         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
49218         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
49219         Suggested by Paul Eggert.
49221 2010-08-14  Bruno Haible  <bruno@clisp.org>
49223         Tests for module 'astrxfrm'.
49224         * modules/astrxfrm-tests: New file.
49225         * tests/test-astrxfrm.c: New file.
49227         New module 'astrxfrm'.
49228         * lib/astrxfrm.h: New file.
49229         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
49230         * modules/astrxfrm: New file.
49232 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
49234         regex: Tweak doc.
49235         * doc/regex.texi (Overview): Don't mention regex.c.
49236         (GNU Regular Expression Compiling): Likewise.
49237         (Match-end-of-line Operator): Mention 'not_eol'.
49239 2010-08-14  Brian Gough  <bjg@gnu.org>
49240             Bruno Haible  <bruno@clisp.org>
49242         git-merge-changelog: add doc relating to use with bzr and hg.
49243         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
49245 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
49247         pthread: fix pthread.h creation for srcdir != builddir
49248         * modules/pthread (Makefile.am): Fix the rule to work also in a
49249         non-srcdir build.
49251 2010-08-13  Karl Berry  <karl@gnu.org>
49253         * doc/regex.texi (Predefined Syntaxes): @smallexample.
49254         * doc/posix-*/*: force line break before @url of POSIX
49255         specifications.
49256         Suggested by Werner Lemberg.
49258 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49260         strtod: fix const diagnostic
49261         * lib/strtod.c (strtod): Don't assign const char * to char *,
49262         as this elicits a warning from GCC when warnings are enabled.
49264 2010-08-10  Pádraig Brady  <P@draigbrady.com>
49265         and Eric Blake  <eblake@redhat.com>
49267         copy-acl: ignore ENOTSUP on HP-UX
49268         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
49269         so that it is available for HP-UX.
49270         * lib/copy-acl.c (qcopy_acl): Use it.
49271         Reported by Patrick M. Callahan.
49273 2010-08-10  Eric Blake  <eblake@redhat.com>
49275         open, chown: relax license
49276         * modules/open (License): Change to LGPLv2+, with consent by all
49277         authors, for use in augeas.
49278         * modules/chown (License): Likewise.
49279         * modules/lchown (Likewise): Likewise.
49280         Requested by Adam Stokes.
49282 2010-08-09  Karl Berry  <karl@gnu.org>
49284         * build-aux/ar-lib: new file, import from Automake.
49285         * config/srclist.txt: autocheck for updates.
49287 2010-08-09  Eric Blake  <eblake@redhat.com>
49289         readlinkat: adjust client modules
49290         * modules/areadlinkat (Depends-on): Use readlinkat, not
49291         symlinkat.
49292         * modules/areadlinkat-with-size (Depends-on): Likewise.
49294         mknod: be more vocal about danger of running tests as root
49295         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
49296         root, since that is just asking for problems.
49297         Suggested by Bruno Haible, based on a report by Rainer Tammer.
49299         readlinkat: split into its own module
49300         * modules/symlinkat: Split readlinkat...
49301         * modules/readlinkat: ...into separate module.
49302         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
49303         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
49304         * lib/symlinkat.c (readlinkat): Move...
49305         * lib/readlinkat.c: ...into new file.
49306         * modules/symlinkat-tests: Split readlinkat test...
49307         * modules/readlinkat-tests: ...into separate module.
49308         * tests/test-symlinkat.c: Split...
49309         * tests/test-readlinkat.c: ...into new file.
49310         * NEWS: Document the split.
49311         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
49312         * lib/unistd.in.h (readlinkat): Likewise.
49313         Suggested by Bruno Haible.
49315 2010-08-08  Bruno Haible  <bruno@clisp.org>
49317         memxfrm: Speed up.
49318         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
49319         that usually only one call to strxfrm is necessary for each string
49320         part.
49321         Reported by Paul Eggert <eggert@cs.ucla.edu>.
49323 2010-08-07  Karl Berry  <karl@gnu.org>
49325         * doc/posix-headers/limits.texi,
49326         * doc/posix-functions/malloc.texi,
49327         * doc/posix-functions/strsignal.texi: missing @item.
49328         * doc/ld-version-script.texi: spurious leading i.
49329         * doc/regex.texi (Interval Operators): no commas inside @var.
49331 2010-08-01  Bruno Haible  <bruno@clisp.org>
49333         Integrate the regex documentation.
49334         * doc/gnulib.texi: Define 'cn' index.
49335         (Regular expressions): New a chapter that includes regex.texi and
49336         regexprops-generic.texi.
49337         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
49338         syntax.
49340         Whitespace cleanup.
49341         * doc/regex.texi: Remove trailing spaces.
49343         Add regex documentation.
49344         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
49345         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
49346         Written by Kathy A. Hargreaves and Karl Berry.
49348 2010-08-01  Bruno Haible  <bruno@clisp.org>
49350         link: Update documentation.
49351         * doc/posix-functions/link.texi: Update regarding Solaris.
49353 2010-07-31  Bruno Haible  <bruno@clisp.org>
49355         Update modules list.
49356         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
49357         (String handling <string.h>): Add memcmp2, memxfrm.
49358         (Container data structures): Add xlist, xsublist, xoset.
49359         (Core language properties): Add alignof, unused-parameter.
49360         (Process control, Numeric conversion functions <stdlib.h>): Renamed
49361         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
49362         (Unibyte characters <ctype.h>): New section.
49363         (String handling <string.h>): New section.
49364         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
49365         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
49366         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
49367         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
49368         tan, tanh, tanl, y0, y1, yn.
49369         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
49370         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
49371         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
49372         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
49373         unlockpt, vdprintf, vdprintf-posix.
49374         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
49375         (File system functions): Add concat-filename, sys_file, sys_ioctl,
49376         xconcat-filename.
49377         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
49378         getdtablesize, pipe2, pipe2-safer.
49379         (Security): New section.
49380         (Networking functions): Add accept4.
49381         (Signal handling): Add sigpipe.
49382         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
49383         mbmemcasecoll.
49384         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
49385         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
49386         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
49387         pipe-filter-ii.
49388         (Misc): Add argp-version-etc, login_tty, parse-duration.
49390 2010-07-31  Bruno Haible  <bruno@clisp.org>
49392         Improve doc in MODULES.html.
49393         * modules/linkat (Description): Add the word "function".
49394         * modules/mkfifo (Description): Likewise.
49395         * modules/mknod (Description): Likewise.
49396         * modules/remove (Description): Likewise.
49397         * modules/renameat (Description): Likewise.
49398         * modules/stat (Description): Likewise.
49399         * modules/symlink (Description): Likewise.
49400         * modules/unlink (Description): Likewise.
49402 2010-07-31  Bruno Haible  <bruno@clisp.org>
49404         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
49405         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
49406         option --enable/disable-c++ instead of --enable/disable-cxx.
49407         * NEWS: Mention the change.
49409 2010-07-31  Bruno Haible  <bruno@clisp.org>
49411         readlink, areadlink: Relax test a bit.
49412         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
49413         alternative to ENOTDIR.
49414         * tests/test-areadlink.h (test_areadlink): Likewise.
49415         Reported by Rainer Tammer.
49417 2010-07-31  Bruno Haible  <bruno@clisp.org>
49419         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
49420         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
49421         character, perform the search using U_STRCHR.
49422         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
49423         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
49424         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
49425         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
49426         Suggested by Paolo Bonzini.
49428 2010-07-31  Bruno Haible  <bruno@clisp.org>
49430         unistr/u*-strstr: Fix dependencies.
49431         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
49432         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
49433         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
49435 2010-07-31  Bruno Haible  <bruno@clisp.org>
49437         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
49438         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
49439         the beginning of the loop.
49440         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
49441         cases in 'switch' statement.
49443         unistr/u8-strchr: Fix several bugs.
49444         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
49445         the string. When not found, return NULL, not a pointer near the end.
49447         More tests for unistr/u8-strchr.
49448         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
49449         that the function does not read past the first occurrence of the byte
49450         being searched.
49451         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
49452         * tests/unistr/test-u16-strchr.c (main): New function.
49453         * tests/unistr/test-u32-strchr.c (main): New function.
49455 2010-07-31  Bruno Haible  <bruno@clisp.org>
49457         posix-modules: Ignore backup files of documentation files.
49458         * posix-modules: grep only through files named *.texi.
49460 2010-07-31  Bruno Haible  <bruno@clisp.org>
49462         symlinkat: Fix documentation.
49463         * doc/posix-functions/readlinkat.texi: Fix module name.
49465 2010-07-31  Bruno Haible  <bruno@clisp.org>
49467         fchownat: Replace also when chown has the trailing slash bug.
49468         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
49469         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
49470         introduced on 2010-04-10.
49471         Reported by Rainer Tammer.
49473 2010-07-31  Bruno Haible  <bruno@clisp.org>
49475         linkat: Work around AIX 7.1 bug.
49476         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
49477         whether linkat handles trailing slash correctly. If not, replace linkat
49478         and define LINKAT_TRAILING_SLASH_BUG.
49479         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
49480         check whether (fd1,file1) points to a directory if file1 or file2 ends
49481         in a slash. Code taken from lib/link.c.
49482         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
49483         Reported by Rainer Tammer.
49485 2010-07-31  Bruno Haible  <bruno@clisp.org>
49487         Correctly determine whether pow is available in libc on AIX 7 with xlc.
49488         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
49489         This disables an xlc optimization that was causing wrong test results.
49490         Reported by Rainer Tammer.
49492 2010-07-31  Bruno Haible  <bruno@clisp.org>
49494         iconv: Work around AIX 6.1..7.1 bug.
49495         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
49496         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
49497         cross-compiling, guess no on all versions of AIX.
49498         Reported by Rainer Tammer.
49500 2010-07-31  Bruno Haible  <bruno@clisp.org>
49502         readlink: Relax test a bit.
49503         * tests/test-readlink.h (test_readlink): Allow different errno value
49504         when readlink is called with a file name that ends in / and refers to
49505         a file.
49506         Suggested by Eric Blake.
49507         Reported by Rainer Tammer.
49509 2010-07-31  Bruno Haible  <bruno@clisp.org>
49511         copysign: Does not require -lm on glibc systems.
49512         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
49513         gl_COMMON_DOUBLE_MATHFUNC.
49514         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
49516 2010-07-31  Bruno Haible  <bruno@clisp.org>
49518         duplocale: Work around AIX 7.1 bug.
49519         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
49520         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
49521         * lib/duplocale.c (rpl_duplocale): Update comment.
49522         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
49523         Reported by Rainer Tammer.
49525 2010-07-30  Bruno Haible  <bruno@clisp.org>
49527         dirfd: Avoid link error on AIX 7.1.
49528         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
49529         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
49530         exist, set REPLACE_DIRFD.
49531         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
49532         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49533         * doc/posix-functions/dirfd.texi: Update.
49534         Reported by Rainer Tammer.
49536 2010-07-30  Eric Blake  <eblake@redhat.com>
49538         strtod: next round of AIX fixes
49539         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
49540         exponent.
49541         * tests/test-strtod.c (main): Enhance tests.
49542         * doc/posix-functions/strtod.texi (strtod): Document next bug.
49543         Reported by Rainer Tammer.
49545         futimens: fix configure check
49546         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
49547         Reported by Bruno Haible.
49549 2010-07-30  Bruno Haible  <bruno@clisp.org>
49551         getline: Update regarding AIX.
49552         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
49553         Reported by Rainer Tammer.
49555 2010-07-30  Bruno Haible  <bruno@clisp.org>
49557         wcwidth: Drop replacement on AIX 7.
49558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
49559         AIX 7.
49560         Reported by Rainer Tammer.
49562 2010-07-30  Bruno Haible  <bruno@clisp.org>
49564         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
49565         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
49566         a 'char *'.
49567         Reported by Rainer Tammer.
49569 2010-07-30  Bruno Haible  <bruno@clisp.org>
49571         unlink: Update regarding AIX.
49572         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
49573         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
49574         Reported by Rainer Tammer.
49576 2010-07-30  Bruno Haible  <bruno@clisp.org>
49578         symlink: Update regarding AIX.
49579         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
49580         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
49581         Reported by Rainer Tammer.
49583 2010-07-30  Bruno Haible  <bruno@clisp.org>
49585         strndup: Update regarding AIX.
49586         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
49587         AIX 7.
49588         Reported by Rainer Tammer.
49590 2010-07-30  Bruno Haible  <bruno@clisp.org>
49592         stat: Update regarding AIX.
49593         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
49594         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
49595         Reported by Rainer Tammer.
49597 2010-07-30  Bruno Haible  <bruno@clisp.org>
49599         truncl: Fix autoconf test.
49600         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
49601         whether truncl works.
49602         Reported by Rainer Tammer.
49604 2010-07-30  Bruno Haible  <bruno@clisp.org>
49606         round: Update regarding AIX.
49607         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
49608         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
49609         Reported by Rainer Tammer.
49611 2010-07-30  Bruno Haible  <bruno@clisp.org>
49613         rename: Update regarding AIX.
49614         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
49615         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
49616         Reported by Rainer Tammer.
49618 2010-07-30  Bruno Haible  <bruno@clisp.org>
49620         printf.m4: Update regarding AIX.
49621         * m4/printf.m4: Update comments regarding AIX.
49622         Reported by Rainer Tammer.
49624 2010-07-30  Bruno Haible  <bruno@clisp.org>
49626         iconv: Update regarding AIX.
49627         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
49628         AIX 7.
49629         Reported by Rainer Tammer.
49631 2010-07-30  Bruno Haible  <bruno@clisp.org>
49633         getopt: Update regarding AIX.
49634         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
49635         no on AIX.
49636         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
49637         Reported by Rainer Tammer.
49639 2010-07-30  Bruno Haible  <bruno@clisp.org>
49641         ldexpl; Update regarding AIX.
49642         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
49643         on AIX 7.
49644         Reported by Rainer Tammer.
49646 2010-07-30  Bruno Haible  <bruno@clisp.org>
49648         frexpl: Update regarding AIX.
49649         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
49650         on AIX 7.
49651         Reported by Rainer Tammer.
49653 2010-07-30  Bruno Haible  <bruno@clisp.org>
49655         open, fopen: Update regarding AIX.
49656         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
49657         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49658         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
49659         * doc/posix-functions/fopen.texi: Likewise.
49660         Reported by Rainer Tammer.
49662 2010-07-30  Bruno Haible  <bruno@clisp.org>
49664         chown: Update doc regarding AIX.
49665         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
49666         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
49667         Reported by Rainer Tammer.
49669 2010-07-30  Eric Blake  <eblake@redhat.com>
49671         strtod: fix bug in replacement function on AIX
49672         * lib/strtod.c (strtod): Special case broken "0x" parse in
49673         underlying strtod.
49674         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
49675         * doc/posix-functions/strtod.texi (strtod): Likewise.
49676         Reported by Rainer Tammer.
49678 2010-07-30  Bruno Haible  <bruno@clisp.org>
49680         mbrlen: Fix cross-compilation guess for AIX.
49681         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
49682         guess. Leftover from 2008-12-22.
49684 2010-07-30  Bruno Haible  <bruno@clisp.org>
49686         mbrtowc: Fix cross-compilation guess for AIX.
49687         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
49688         guess. Leftover from 2008-12-21.
49690 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
49692         init.sh: work around trap limitation of some shells
49693         * tests/init.sh (setup_): Move exit trap outside of shell function.
49695 2010-07-29  Eric Blake  <eblake@redhat.com>
49697         strtod: aid debugging
49698         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
49699         understanding why strtod is rejected.
49701 2010-07-28  Bruno Haible  <bruno@clisp.org>
49703         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
49704         * lib/unistr/u8-chr.c: Include <string.h>.
49705         * tests/unistr/test-u8-chr.c: Likewise.
49706         * tests/unistr/test-u16-chr.c: Likewise.
49707         * tests/unistr/test-u32-chr.c: Likewise.
49708         * tests/unistr/test-u8-strchr.c: Likewise.
49709         * tests/unistr/test-u16-strchr.c: Likewise.
49710         * tests/unistr/test-u32-strchr.c: Likewise.
49711         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
49712         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
49713         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
49714         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
49716 2010-07-28  Bruno Haible  <bruno@clisp.org>
49718         Use spaces for indentation, not tabs.
49719         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49721 2010-07-27  Bruno Haible  <bruno@clisp.org>
49723         mbspcasecmp: Fix function specification.
49724         * lib/string.in.h (mbspcasecmp): Fix specification comment.
49725         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
49726         Reported by Eric Blake <eblake@redhat.com>.
49728 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
49730         timespec: use cast and not conditional, as truncation isn't possible
49731         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
49732         instead of a conditional.  Comment about the situation in more detail.
49733         This undoes most of the 2009-10-29 patch.
49735 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
49737         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
49738         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
49739         * lib/unistr/u8-strchr.c: Likewise.
49740         * modules/unistr/u8-chr: Depend on memchr.
49742         unistr/u*-strchr: add tests
49743         * modules/unistr/u8-strchr-tests: New file.
49744         * modules/unistr/u16-strchr-tests: New file.
49745         * modules/unistr/u32-strchr-tests: New file.
49746         * tests/unistr/test-strchr.h: New file.
49747         * tests/unistr/test-u8-strchr.c: New file.
49748         * tests/unistr/test-u16-strchr.c: New file.
49749         * tests/unistr/test-u32-strchr.c: New file.
49751         unistr/u*-chr: test multibyte sequences more
49752         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49753         test vector.
49754         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49755         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49756         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49758         unistr/u*-chr: test multibyte sequences
49759         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49761         unistr/u*-chr: prepare for multibyte tests
49762         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49763         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49764         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49765         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49766         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49767         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49769 2010-07-18  Bruno Haible  <bruno@clisp.org>
49771         unistr/u8-strchr: Optimize non-ASCII argument case.
49772         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49773         because the first byte often matches anyway.
49774         Reported by Pádraig Brady <P@draigbrady.com>.
49776 2010-07-15  Karl Berry  <karl@gnu.org>
49778         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49780 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49782         getcwd: on Solaris, work better if ancestors are inaccessible
49783         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49784         buffer and size, try again with a large buffer.  This works better
49785         on Solaris, since its getcwd succeeds even if the path to the root
49786         is inaccessible, and this is helpful in common cases such as .zfs
49787         hidden directories.  Problem reported by J Chapman Flack in
49788         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49789         Use system getcwd if it's declared, not merely if it's partly
49790         working; use the partly-working test only to avoid needless effort
49791         if the system getcwd fails.
49792         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49793         comment that was already obsolete and is now even more obsolete.
49794         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49795         now might call strdup.
49797 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49799         pthread: Add enough so that coreutils/src/sort.c compiles.
49800         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49801         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49802         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49803         Include <sys/types.h>, in case it defines pthread_t.
49804         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49805         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49806         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49807         (pthread_rwlockattr_t, pthread_spinlock_t):
49808         New typedefs, if HAVE_PTHREAD_T is not defined.
49809         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49810         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49811         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49812         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49813         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49814         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49815         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49816         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49817         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49818         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49819         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49820         New macros.
49821         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49822         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49823         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49824         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49825         (pthread_spin_unlock): New dummy functions.
49826         (pthread_create): Return EAGAIN; don't set errno.
49827         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49828         require AC_C_INLINE.
49829         * modules/pthread (Depends-on): Add sched, time.
49830         (pthread.h): Use AM_V_GEN.
49832 2010-07-13  Bruno Haible  <bruno@clisp.org>
49834         striconveh: Don't malloc memory if the result buffer is sufficient.
49835         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49836         buffer if its size is sufficient.
49837         Reported by Ludovic Courtès <ludo@gnu.org>.
49839 2010-07-13  Bruno Haible  <bruno@clisp.org>
49841         strtod: Add safety check.
49842         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49844 2010-07-12  Bruno Haible  <bruno@clisp.org>
49846         Unify tests that set gl_cv_func_ldexpl_no_libm.
49847         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49848         gl_FUNC_LDEXPL.
49849         (gl_FUNC_LDEXPL): Invoke it.
49850         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49852 2010-07-12  Bruno Haible  <bruno@clisp.org>
49854         Unify tests that set gl_cv_func_ldexp_no_libm.
49855         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49856         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49857         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49858         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49859         * modules/strtod (Files): Add m4/ldexp.m4.
49861 2010-07-12  Bruno Haible  <bruno@clisp.org>
49863         Unify tests that set gl_cv_func_frexpl_no_libm.
49864         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49865         gl_FUNC_FREXPL_NO_LIBM.
49866         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49867         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49869 2010-07-12  Bruno Haible  <bruno@clisp.org>
49871         Unify tests that set gl_cv_func_frexp_no_libm.
49872         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49873         gl_FUNC_FREXP_NO_LIBM.
49874         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49875         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49877 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49879         memcoll: clarify sizes versus lengths, document better, and tweak perf
49880         * lib/memcoll.c (strcoll_loop, memcoll0):
49881         Improve quality of descriptive comments.  Name variables
49882         consistently as to whether they are lengths (which do not include
49883         terminating null) versus sizes (which do).
49884         * lib/xmemcoll.c (xmemcoll0): Likewise.
49885         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49886         returned when s1size == 0; this is easier to compile and saves
49887         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49889 2010-07-12  Bruno Haible  <bruno@clisp.org>
49891         Tests for module '_Exit'.
49892         * modules/_Exit-tests: New file.
49893         * tests/test-_Exit.sh: New file.
49894         * tests/test-_Exit.c: New file.
49896         New module '_Exit'.
49897         * lib/stdlib.in.h (__attribute__): New macro.
49898         (_Exit): New declaration.
49899         * lib/_Exit.c: New file.
49900         * m4/_Exit.m4: New file.
49901         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49902         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49903         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49904         * modules/_Exit: New file.
49905         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49906         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49908 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49910         strtod: make it more-accurate typically, and don't require libm
49911         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49912         Include limits.h.  Don't include string.h.
49913         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49914         (locale_isspace): New function, so that no casts are needed to
49915         check whether *s is a space.
49916         (ldexp): Provide an unused dummy if not available.
49917         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49918         (strtod): Use them.  This implementation prefers to use the
49919         underlying strtod if available, falling back on our own code
49920         only to fix known bugs.  This is more likely to produce an
49921         accurate result.  Also, it avoids the use of libm functions.
49922         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49923         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49924         was absent, but it caused a test failure with coreutils.
49925         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49926         with libm.
49927         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49928         * modules/strtod-tests (Makefile.am): Likewise.
49930 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49931             Bruno Haible  <bruno@clisp.org>
49933         unistr/u8-strchr: Optimize ASCII argument case.
49934         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49936 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49938         (x)memcoll: minor tweaks
49939         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49940         is after the type that it qualifies.
49941         (memcoll0): Likewise.
49942         * lib/memcoll.h (memcoll0): Likewise.
49943         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49944         * lib/xmemcoll.h (xmemcoll0): Likewise.
49945         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49946         differs from memcoll in that the NUL byte is part of the argument.
49947         Omit the abort-checks, as performance is a real issue here.  Plus,
49948         the checks were wrong anyway (an off-by-one error).  Omit local
49949         variable 'diff', as it's a bit clearer that way.
49950         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49951         no longer needed.
49953 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49955         (x)memcoll: speedup when input is known to be NUL delimited
49956         * lib/memcoll.c: Include stdlib.
49957         (memcoll0): New function.
49958         (strcoll_loop): New function, refactored for use in both memcoll
49959         and memcoll0.
49960         * lib/memcoll.h (memcoll0): Add prototype.
49961         * lib/xmemcoll.c (xmemcoll0): New function.
49962         (collate_error): New function, refactored for use in both xmemcoll
49963         and xmemcoll0.
49964         * lib/xmemcoll.h (xmemcoll0): Add prototype.
49965         * m4/memcoll.m4: add inline invocation.
49967 2010-07-06  Pádraig Brady  <P@draigBrady.com>
49969         * build-aux/bootstrap: Remove any local translations
49970         from the translation project synchronization directory,
49971         so that local only translations are not distributed.
49973 2010-07-04  Bruno Haible  <bruno@clisp.org>
49975         fsusage: Clarify which code applies to which platforms.
49976         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
49977         platform.
49978         * lib/fsusage.c (get_fs_usage): Likewise.
49980 2010-07-04  Bruno Haible  <bruno@clisp.org>
49982         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
49983         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
49984         Reported by Martin Lambers <marlam@marlam.de>.
49986 2010-07-04  Jim Meyering  <meyering@redhat.com>
49988         hash: once again explicitly disallow insertion of NULL
49989         * lib/hash.c (hash_insert0): Reinstate just-removed test:
49990         inserting a NULL pointer cannot work with these functions.
49991         Add a comment with details.
49992         This reverts part of the 2010-07-01 commit, 5bef1a35
49993         "hash: extend module to deal with non-pointer keys".
49995 2010-07-01  Bruno Haible  <bruno@clisp.org>
49997         stdbool: Update doc.
49998         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
49999         Info from Christian Weisgerber <naddy@mips.inka.de>.
50001 2010-07-01  Jim Meyering  <meyering@redhat.com>
50003         hash: extend module to deal with non-pointer keys
50004         * lib/hash.c (hash_insert0): New interface, much like hash_insert
50005         but that allows insertion of non-pointer entries.
50006         Do not disallow an ENTRY value of NULL.
50007         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
50008         * lib/hash.h (hash_insert0): Declare.
50010 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
50012         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
50013         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
50014         not present (i.e. with autoconf 2.59 and when using gettextize, not
50015         gnulib), require AC_GNU_SOURCE instead.
50017 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
50019         idpriv-drop: Fix tests.
50020         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
50021         not to the test-idpriv-droptemp program.
50023 2010-06-29  Bruno Haible  <bruno@clisp.org>
50025         string: Fix syntax error with g++ 2.96.
50026         * lib/string.in.h (__pure__): Remove definition.
50027         (_GL_ATTRIBUTE_PURE): New macro.
50028         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
50029         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
50030         Reported by Christian Weisgerber <naddy@mips.inka.de>.
50032 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
50034         unitypes: Fix bug introduced on 2010-05-18.
50035         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
50037 2010-06-22  Eric Blake  <eblake@redhat.com>
50039         memmem: slight optimization
50040         * lib/str-two-way.h (critical_factorization): Update comments.
50041         Reduce work during factorization phase.
50042         Reported by Carlos Bueno <carlos@bueno.org>.
50044 2010-06-21  Bruno Haible  <bruno@clisp.org>
50046         Fix HAVE_CALLOC_POSIX misnomer.
50047         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
50048         !HAVE_CALLOC_POSIX.
50049         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
50050         HAVE_CALLOC_POSIX.
50051         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
50052         instead of HAVE_CALLOC_POSIX.
50053         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
50054         HAVE_CALLOC_POSIX.
50056         Use modern idiom for calloc() replacement.
50057         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
50058         AC_FUNC_CALLOC.
50059         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
50060         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
50061         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50062         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
50063         (gl_REPLACE_CALLOC): New macro.
50065 2010-06-21  Bruno Haible  <bruno@clisp.org>
50067         Fix HAVE_REALLOC_POSIX misnomer.
50068         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
50069         !HAVE_REALLOC_POSIX.
50070         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
50071         HAVE_REALLOC_POSIX.
50072         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
50073         instead of HAVE_REALLOC_POSIX.
50074         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
50075         HAVE_REALLOC_POSIX.
50077         Use modern idiom for realloc() replacement.
50078         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
50079         AC_FUNC_REALLOC.
50080         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
50081         Autoconf's AC_FUNC_REALLOC.
50082         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50083         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
50084         (gl_REPLACE_REALLOC): New macro.
50085         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50087 2010-06-21  Bruno Haible  <bruno@clisp.org>
50089         Fix HAVE_MALLOC_POSIX misnomer.
50090         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
50091         !HAVE_MALLOC_POSIX.
50092         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
50093         HAVE_MALLOC_POSIX.
50094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
50095         instead of HAVE_MALLOC_POSIX.
50096         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
50097         HAVE_MALLOC_POSIX.
50099         Use modern idiom for malloc() replacement.
50100         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
50101         AC_FUNC_MALLOC.
50102         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
50103         Autoconf's AC_FUNC_MALLOC.
50104         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50105         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
50106         (gl_REPLACE_MALLOC): New macro.
50107         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50109 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
50111         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
50112         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
50113         This macro takes 3 arguments, not 4.
50115 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
50117         ipv6: fix detection under mingw
50118         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
50119         in6_addr.
50121 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
50123         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
50124         that strtod() works when cross-compiling to a glibc version known
50125         to work.
50127 2010-06-15  Bruno Haible  <bruno@clisp.org>
50129         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
50131 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
50133         select: Correct timeout.
50134         * lib/select.c (rpl_select): Compute wait_timeout correctly.
50136 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50138         git-version-gen: init shell var to avoid env var influence
50139         * build-aux/git-version-gen (v): Init shell var to empty.
50141 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
50143         priv-set: Don't assume that priv.h exists merely because getppriv does.
50144         See Jan Andersen's bug report about AIX 5L in
50145         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
50146         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
50147         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
50148         * lib/priv-set.h: Likewise.
50149         * tests/test-priv-set.c: Likewise.
50151 2010-06-13  Bruno Haible  <bruno@clisp.org>
50153         relocatable: Make it easier to test whether to install wrappers.
50154         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
50155         RELOCATABLE_VIA_WRAPPER.
50157 2010-06-13  Bruno Haible  <bruno@clisp.org>
50159         gnulib-tool: Display specified modules and dependencies differently.
50160         * gnulib-tool (func_show_module_list): New function.
50161         (func_import, func_create_testdir): Invoke it.
50162         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50164 2010-06-13  Bruno Haible  <bruno@clisp.org>
50166         gnulib-tool: Align code of func_import and func_create_testdir.
50167         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
50168         specified_modules.
50170 2010-06-12  Jim Meyering  <meyering@redhat.com>
50172         test-inttostr: avoid spurious failure on Solaris 9
50173         * tests/test-inttostr.c (main): Skip the test when snprintf fails
50174         to accept "%ju".  Reported by Bruno Haible.
50176 2010-06-11  Jim Meyering  <meyering@redhat.com>
50178         test-sys_socket: mark variables as used more readably
50179         * tests/test-sys_socket.c (main): Mark otherwise unused variables
50180         as "used" explicitly via (void) statement casts.  This is more
50181         readable than using them in an artificial return expression.
50182         Suggestion from Bruno Haible.
50184 2010-06-11  Bruno Haible  <bruno@clisp.org>
50186         Avoid some more warnings from "gcc -Wwrite-strings".
50187         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
50188         to 'const char *'.
50189         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
50190         * tests/test-c-strcasestr.c (main): Likewise.
50191         * tests/test-mbscasestr1.c (main): Likewise.
50192         * tests/test-mbscasestr2.c (main): Likewise.
50193         * tests/test-memmem.c (main): Likewise.
50194         * tests/test-strstr.c (main): Likewise.
50195         * tests/test-strcasestr.c (main): Likewise.
50197 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50199         init.sh: change framework_failure_ to fail with status 99, not 1
50200         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
50201         automake's parallel-tests rule that this is an unexpected failure,
50202         even if the test is listed in XFAIL_TESTS.
50204 2010-06-11  Jim Meyering  <meyering@redhat.com>
50206         test-inttostr: avoid warnings about 4-6KB literal strings
50207         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
50208         Include "macros.h", for its definition of ASSERT.
50209         (CK): s/assert/ASSERT/
50210         * modules/inttostr-tests (Files): Add macros.h.
50212         init.sh: don't use $ME_ or skip_ before they are defined
50213         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
50214         their first uses.  Also hoist their companions: warn_, fail_,
50215         framework_failure_, $stderr_fileno.  Prompted by a patch from
50216         Stefano Lattarini.
50218         test-sys_socket: avoid set-but-not-used warnings from gcc
50219         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
50220         avoid warning about set-but-not-used variables.
50222         test-xvasprintf: avoid 'const' discard warnings
50223         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
50224         "const" when assigning from literal strings.
50225         (test_xasprintf): Add "void" in function argument list to placate
50226         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
50228         tests: avoid compilation warnings in argmatch and exclude tests...
50229         in packages that define ARGMATCH_DIE_DECL, like coreutils.
50230         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
50231         Since it always exits, declare with the "noreturn" attribute.
50232         * tests/test-argmatch.c: Likewise.
50234         tests: avoid 'const' discard warnings in mbsstr tests
50235         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
50236         * tests/test-mbsstr2.c (main): Likewise.
50238         test-verify: avoid warning from gcc's -Wmissing-declarations
50239         * tests/test-verify.c (function): Declare to be static.
50241         test-inttostr.c: include <string.h> for use of strcmp
50242         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
50244         test-linkat: avoid failed assertion on "other" architectures
50245         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
50246         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
50247         sparc: https://bugs.launchpad.net/bugs/591968
50249 2010-06-11  Jim Meyering  <meyering@redhat.com>
50251         printf.m4: avoid autoconf's "Expanded Before Required" warning
50252         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
50253         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
50254         autoconf warning.
50256 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
50258         Replacement header templates are now named with ".in", not "_".
50259         * doc/gnulib-intro.texi: Correct.
50261 2010-06-10  Jim Meyering  <meyering@redhat.com>
50263         inttostr-tests: depend on snprintf, not snprintf-posix
50264         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
50265         snprintf-posix, to avoid this aclocal failure:
50266           missing file gnulib-tests/vasnprintf.c
50267           configure.ac:45: error: expected source file, required through \
50268           AC_LIBSOURCES, not found
50270 2010-06-10  Jim Meyering  <meyering@redhat.com>
50272         inttostr: add a new function, inttostr, and tests
50273         The namesake function was not available.  The existence of the
50274         template file, inttostr.c makes its addition nontrivial.
50275         * lib/anytostr.c: Rename from inttostr.c.
50276         (anytostr): Rename from inttostr.
50277         * lib/inttostr.c: New file.
50278         * modules/inttostr (Files): Add anytostr.c.
50279         (Makefile.am): Set lib_SOURCES instead of ...
50280         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
50281         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
50282         * lib/offtostr.c: Likewise.
50283         * lib/uinttostr.c: Likewise.
50284         * lib/umaxtostr.c: Likewise.
50285         * modules/inttostr-tests: New file.
50286         * tests/test-inttostr.c: New file.  Test these functions.
50288 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
50289             Bruno Haible  <bruno@clisp.org>
50291         Add "Extending Gnulib" chapter to manual.
50292         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
50293         chapter.
50294         (Extending Gnulib): New chapter.
50295         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
50296         chapter.
50298 2010-06-09  Bruno Haible  <bruno@clisp.org>
50300         Avoid relocwrapper link errors due to gnulib replacement functions.
50301         * lib/areadlink.c: Use the system's malloc, realloc functions.
50302         (areadlink): Set errno to ENOMEM explicitly.
50303         * modules/areadlink (Depends-on): Remove malloc-posix.
50304         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50306 2010-06-09  Bruno Haible  <bruno@clisp.org>
50308         Avoid relocwrapper link errors due to gnulib replacement functions.
50309         * lib/canonicalize-lgpl.c: Use the system's malloc function.
50310         * lib/malloca.c: Likewise.
50311         * lib/relocatable.c: Likewise.
50312         * lib/progreloc.c: Use the system's malloc, sprintf functions.
50313         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
50314         * lib/setenv.c: Use the system's malloc, realloc functions.
50315         * lib/strerror.c: Use the system's sprintf function.
50316         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50318 2010-06-04  Bruno Haible  <bruno@clisp.org>
50320         Prefer documented low-level autoconf macro names.
50321         * m4/lib-link.m4: Use m4_translit instead of translit.
50322         * m4/environ.m4: Likewise.
50323         * m4/mathfunc.m4: Likewise.
50324         * m4/onceonly.m4: Likewise.
50325         * m4/stdint.m4: Likewise.
50326         Suggested by Eric Blake.
50328 2010-06-04  Martin Lambers  <marlam@marlam.de>
50329             Bruno Haible  <bruno@clisp.org>
50331         havelib: Allow library names with '+' characters.
50332         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50333         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
50335 2010-06-09  Bruno Haible  <bruno@clisp.org>
50337         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
50338         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
50339         realloc failed.
50341 2010-06-08  Peter Simons  <simons@cryp.to>
50343         maint.mk: make the news-check rule more configurable
50344         * top/maint.mk (news-check-lines-spec): New variable.
50345         (news-check): Use "sed -n 1,10p" in place of "head".
50347 2010-06-07  Jim Meyering  <meyering@redhat.com>
50349         do-release-commit-and-tag: fix typo in --help
50350         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
50352         regex: avoid new dead-code warning with gcc-4.6.0
50353         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
50354         if-block containing a while-loop.  It's been unused for at least
50355         5 years.
50357 2010-06-05  Bruno Haible  <bruno@clisp.org>
50359         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
50360         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
50362 2010-06-04  Bruno Haible  <bruno@clisp.org>
50364         Update to GNU gettext 0.18.1.
50365         * modules/gettext (configure.ac): Require gettext infrastructure from
50366         version 0.18.1.
50368 2010-06-03  Bruno Haible  <bruno@clisp.org>
50370         Don't use AC_LIBOBJ with file names in subdirectories.
50371         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
50372         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
50373         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
50374         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
50375         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
50376         gl_LIBUNISTRING_LIBSOURCE.
50377         (Makefile.am): Augment lib_SOURCES here, conditionally.
50378         * NEWS: Drop requirement for Automake option 'subdir-objects'.
50380 2010-06-03  Bruno Haible  <bruno@clisp.org>
50382         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
50383         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
50384         expansion does not end with a newline.
50385         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
50386         unnecessary newline.
50388 2010-06-03  Bruno Haible  <bruno@clisp.org>
50390         Reduce dependencies.
50391         * tests/test-quotearg.h: New file, extracted from
50392         tests/test-quotearg.c.
50393         * tests/test-quotearg-simple.c: New file, extracted from
50394         tests/test-quotearg.c.
50395         * tests/test-quotearg.c: Don't include <ctype.h>.
50396         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
50397         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
50398         use_quote_double_quotes, use_quotearg_colon): Moved to
50399         tests/test-quotearg.h.
50400         (results_g, flag_results, custom_quotes, custom_results): Moved
50401         to tests/test-quotearg-simple.c.
50402         (main): Moved the part that does not depend on gettext to
50403         tests/test-quotearg-simple.c. Return 77 if the test cannot be
50404         performed.
50405         * modules/quotearg-simple: New file.
50406         * modules/quotearg-simple-tests: New file.
50407         * modules/quotearg (Depends-on): Add quotearg-simple.
50408         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
50409         (Files): Add tests/test-quotearg.h.
50410         Reported by Paolo Bonzini.
50412 2010-06-03  Bruno Haible  <bruno@clisp.org>
50414         Reduce dependencies.
50415         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
50417 2010-06-03  Bruno Haible  <bruno@clisp.org>
50419         time: Undefine more broken macros.
50420         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
50421         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
50422         Reported by Eric Blake.
50424 2010-06-03  Bruno Haible  <bruno@clisp.org>
50426         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
50427         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
50428         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
50429         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
50430         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
50431         Reported by Ludovic Courtès <ludo@gnu.org>.
50433 2010-06-02  Eric Blake  <eblake@redhat.com>
50435         time: work with mingw + pthreads-win32 library
50436         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
50437         if timespec is defined only in pthread.h.
50438         * modules/time (Makefile.am): Substitute it.
50439         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
50440         <pthread.h>, when needed.
50441         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
50442         from the library.
50444 2010-05-31  Bruno Haible  <bruno@clisp.org>
50446         Avoid expanding two macros in the wrong order.
50447         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
50448         gl_LIBUNISTRING if it is defined.
50449         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
50450         autoconf >= 2.64.
50451         Reported by Ludovic Courtès <ludo@gnu.org>.
50453 2010-05-27  Jim Meyering  <meyering@redhat.com>
50455         maint.mk: also prohibit "#undef" of always-defined symbols
50456         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
50457         Allow more than one space before the symbol name.
50458         (sc_prohibit_always-defined_macros): Use grep's -E, now that
50459         the regexp uses alternation.
50461 2010-05-26  Eric Blake  <eblake@redhat.com>
50463         maint.mk: avoid echo -e
50464         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
50465         Convert all uses of echo -* to printf.
50466         Reported by Matthias Bolte.
50468 2010-05-25  Bruno Haible  <bruno@clisp.org>
50470         Update to GNU gettext 0.18, part 2.
50471         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
50472         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
50474 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50476         Add missing include in test-pwrite.c.
50477         * tests/test-pwrite.c: Include string.h, for strcmp.
50479 2010-05-24  Bruno Haible  <bruno@clisp.org>
50481         * NEWS: Mention requirement for Automake option 'subdir-objects'.
50483 2010-05-24  Bruno Haible  <bruno@clisp.org>
50485         Don't use conversion with transliteration in u{8,16,32}_strcoll.
50486         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
50487         iconveh_error argument.
50488         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
50489         U_STRCONV_TO_LOCALE.
50490         * lib/unistr/u16-strcoll.c: Likewise.
50491         * lib/unistr/u32-strcoll.c: Likewise.
50492         * modules/unistr/u8-strcoll (Depends-on): Add
50493         uniconv/u8-strconv-to-enc, localcharset. Remove
50494         uniconv/u8-strconv-to-locale.
50495         (configure.ac): Bump version number.
50496         * modules/unistr/u16-strcoll (Depends-on): Add
50497         uniconv/u16-strconv-to-enc, localcharset. Remove
50498         uniconv/u16-strconv-to-locale.
50499         (configure.ac): Bump version number.
50500         * modules/unistr/u32-strcoll (Depends-on): Add
50501         uniconv/u32-strconv-to-enc, localcharset. Remove
50502         uniconv/u32-strconv-to-locale.
50503         (configure.ac): Bump version number.
50505 2010-05-24  Bruno Haible  <bruno@clisp.org>
50507         Avoid a test failure on NetBSD 5.0.
50508         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
50509         an iconv() bug.
50511 2010-05-24  Bruno Haible  <bruno@clisp.org>
50513         Adjust #include directive style.
50514         * modules/regex (Includes): Recommend to write <regex.h>.
50516 2010-05-24  Bruno Haible  <bruno@clisp.org>
50518         regex: Don't require alloca.
50519         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
50520         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
50521         only inside if (0).
50523 2010-05-23  Jim Meyering  <meyering@redhat.com>
50525         test-renameat.c: include <sys/stat.h>
50526         * tests/test-renameat.c: Include <sys/stat.h>; required for
50527         definition of S_IS* macros.
50529 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
50531         Update maintainer documentation for 'relocatable-prog' module.
50532         * doc/relocatable-maint.texi: Update.
50533         Comments by Bruno Haible.
50535 2010-05-23  Bruno Haible  <bruno@clisp.org>
50537         git-merge-changelog: Enable --split-merged-entry by default.
50538         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
50539         (usage): Don't mention this option any more.
50540         Reported by Ralf Wildenhues.
50542 2010-05-23  Jim Meyering  <meyering@redhat.com>
50544         test-pwrite: do not leave behind a test file named "out"
50545         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
50546         The trivial-looking use of init.sh is really necessary.
50547         It ensures that the temporary file, "out", is created in
50548         a temporary directory, and removed upon termination.
50549         * tests/test-pwrite.sh: Re-add file.
50550         * modules/pwrite-tests: Reference it.
50552 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50554         Fix output redirection buglet in init.sh.
50555         * tests/init.sh: Fix redirection of stderr.
50557 2010-05-20  Simon Josefsson  <simon@josefsson.org>
50559         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
50561 2010-05-17  Simon Josefsson  <simon@josefsson.org>
50563         * modules/valgrind-tests: New file.
50564         * m4/valgrind-tests.m4: New file.
50565         * doc/valgrind-tests.texi: New file.
50566         * doc/gnulib.texi (Running self-tests under valgrind): New
50567         section.
50569 2010-05-19  Bruno Haible  <bruno@clisp.org>
50571         Clean up dead code in recent commit.
50572         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
50573         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
50574         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
50575         Suggested by Paolo Bonzini.
50577 2010-05-19  Bruno Haible  <bruno@clisp.org>
50579         Avoid valgrind error reports from libunistring.
50580         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
50581         * modules/libunistring (Files): Add it.
50582         * modules/libunistring-optional (Files): Likewise.
50584 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
50585             Bruno Haible  <bruno@clisp.org>
50587         New module 'libunistring-optional'.
50588         * modules/libunistring-optional: New file.
50589         * m4/libunistring-base.m4: New file.
50590         * m4/libunistring-optional.m4: New file.
50591         * lib/unicase.in.h: Renamed from lib/unicase.h.
50592         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
50593         * lib/unictype.in.h: Renamed from lib/unictype.h.
50594         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
50595         * lib/uniname.in.h: Renamed from lib/uniname.h.
50596         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
50597         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
50598         * lib/unistr.in.h: Renamed from lib/unistr.h.
50599         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
50600         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
50601         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
50602         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
50603         gl_LIBUNISTRING. If the library was found, determine the installed
50604         version and set LIBUNISTRING_VERSION.
50605         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
50606         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
50607         handle a configuration option --with-included-libunistring.
50608         * modules/libunistring (Files): Add m4/absolute-header.m4.
50609         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
50610         Add m4/libunistring-base.m4.
50611         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50612         (Makefile.am): Build unicase.h from unicase.in.h.
50613         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
50614         Add m4/libunistring-base.m4.
50615         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50616         (Makefile.am): Build uniconv.h from uniconv.in.h.
50617         * modules/unictype/base (Files): Use unictype.in.h instead of
50618         unictype.h. Add m4/libunistring-base.m4.
50619         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50620         (Makefile.am): Build unictype.h from unictype.in.h.
50621         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
50622         Add m4/libunistring-base.m4.
50623         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50624         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
50625         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
50626         Add m4/libunistring-base.m4.
50627         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50628         (Makefile.am): Build uniname.h from uniname.in.h.
50629         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
50630         Add m4/libunistring-base.m4.
50631         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50632         (Makefile.am): Build uninorm.h from uninorm.in.h.
50633         * modules/unistdio/base (Files): Use unistdio.in.h instead of
50634         unistdio.h. Add m4/libunistring-base.m4.
50635         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50636         (Makefile.am): Build unistdio.h from unistdio.in.h.
50637         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
50638         Add m4/libunistring-base.m4.
50639         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50640         (Makefile.am): Build unistr.h from unistr.in.h.
50641         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
50642         Add m4/libunistring-base.m4.
50643         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50644         (Makefile.am): Build unitypes.h from unitypes.in.h.
50645         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
50646         Add m4/libunistring-base.m4.
50647         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50648         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
50649         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
50650         uniwidth.h. Add m4/libunistring-base.m4.
50651         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50652         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
50653         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
50654         instead of augmenting lib_SOURCES.
50655         * modules/unicase/empty-suffix-context: Likewise.
50656         * modules/unicase/locale-language: Likewise.
50657         * modules/unicase/tolower: Likewise.
50658         * modules/unicase/totitle: Likewise.
50659         * modules/unicase/toupper: Likewise.
50660         * modules/unicase/u8-casecmp: Likewise.
50661         * modules/unicase/u8-casecoll: Likewise.
50662         * modules/unicase/u8-casefold: Likewise.
50663         * modules/unicase/u8-casexfrm: Likewise.
50664         * modules/unicase/u8-ct-casefold: Likewise.
50665         * modules/unicase/u8-ct-tolower: Likewise.
50666         * modules/unicase/u8-ct-totitle: Likewise.
50667         * modules/unicase/u8-ct-toupper: Likewise.
50668         * modules/unicase/u8-is-cased: Likewise.
50669         * modules/unicase/u8-is-casefolded: Likewise.
50670         * modules/unicase/u8-is-lowercase: Likewise.
50671         * modules/unicase/u8-is-titlecase: Likewise.
50672         * modules/unicase/u8-is-uppercase: Likewise.
50673         * modules/unicase/u8-prefix-context: Likewise.
50674         * modules/unicase/u8-suffix-context: Likewise.
50675         * modules/unicase/u8-tolower: Likewise.
50676         * modules/unicase/u8-totitle: Likewise.
50677         * modules/unicase/u8-toupper: Likewise.
50678         * modules/unicase/u16-casecmp: Likewise.
50679         * modules/unicase/u16-casecoll: Likewise.
50680         * modules/unicase/u16-casefold: Likewise.
50681         * modules/unicase/u16-casexfrm: Likewise.
50682         * modules/unicase/u16-ct-casefold: Likewise.
50683         * modules/unicase/u16-ct-tolower: Likewise.
50684         * modules/unicase/u16-ct-totitle: Likewise.
50685         * modules/unicase/u16-ct-toupper: Likewise.
50686         * modules/unicase/u16-is-cased: Likewise.
50687         * modules/unicase/u16-is-casefolded: Likewise.
50688         * modules/unicase/u16-is-lowercase: Likewise.
50689         * modules/unicase/u16-is-titlecase: Likewise.
50690         * modules/unicase/u16-is-uppercase: Likewise.
50691         * modules/unicase/u16-prefix-context: Likewise.
50692         * modules/unicase/u16-suffix-context: Likewise.
50693         * modules/unicase/u16-tolower: Likewise.
50694         * modules/unicase/u16-totitle: Likewise.
50695         * modules/unicase/u16-toupper: Likewise.
50696         * modules/unicase/u32-casecmp: Likewise.
50697         * modules/unicase/u32-casecoll: Likewise.
50698         * modules/unicase/u32-casefold: Likewise.
50699         * modules/unicase/u32-casexfrm: Likewise.
50700         * modules/unicase/u32-ct-casefold: Likewise.
50701         * modules/unicase/u32-ct-tolower: Likewise.
50702         * modules/unicase/u32-ct-totitle: Likewise.
50703         * modules/unicase/u32-ct-toupper: Likewise.
50704         * modules/unicase/u32-is-cased: Likewise.
50705         * modules/unicase/u32-is-casefolded: Likewise.
50706         * modules/unicase/u32-is-lowercase: Likewise.
50707         * modules/unicase/u32-is-titlecase: Likewise.
50708         * modules/unicase/u32-is-uppercase: Likewise.
50709         * modules/unicase/u32-prefix-context: Likewise.
50710         * modules/unicase/u32-suffix-context: Likewise.
50711         * modules/unicase/u32-tolower: Likewise.
50712         * modules/unicase/u32-totitle: Likewise.
50713         * modules/unicase/u32-toupper: Likewise.
50714         * modules/unicase/ulc-casecmp: Likewise.
50715         * modules/unicase/ulc-casecoll: Likewise.
50716         * modules/unicase/ulc-casexfrm: Likewise.
50717         * modules/uniconv/u8-conv-from-enc: Likewise.
50718         * modules/uniconv/u8-conv-to-enc: Likewise.
50719         * modules/uniconv/u8-strconv-from-enc: Likewise.
50720         * modules/uniconv/u8-strconv-from-locale: Likewise.
50721         * modules/uniconv/u8-strconv-to-enc: Likewise.
50722         * modules/uniconv/u8-strconv-to-locale: Likewise.
50723         * modules/uniconv/u16-conv-from-enc: Likewise.
50724         * modules/uniconv/u16-conv-to-enc: Likewise.
50725         * modules/uniconv/u16-strconv-from-enc: Likewise.
50726         * modules/uniconv/u16-strconv-from-locale: Likewise.
50727         * modules/uniconv/u16-strconv-to-enc: Likewise.
50728         * modules/uniconv/u16-strconv-to-locale: Likewise.
50729         * modules/uniconv/u32-conv-from-enc: Likewise.
50730         * modules/uniconv/u32-conv-to-enc: Likewise.
50731         * modules/uniconv/u32-strconv-from-enc: Likewise.
50732         * modules/uniconv/u32-strconv-from-locale: Likewise.
50733         * modules/uniconv/u32-strconv-to-enc: Likewise.
50734         * modules/uniconv/u32-strconv-to-locale: Likewise.
50735         * modules/unictype/bidicategory-byname: Likewise.
50736         * modules/unictype/bidicategory-name: Likewise.
50737         * modules/unictype/bidicategory-of: Likewise.
50738         * modules/unictype/bidicategory-test: Likewise.
50739         * modules/unictype/block-list: Likewise.
50740         * modules/unictype/block-test: Likewise.
50741         * modules/unictype/category-C: Likewise.
50742         * modules/unictype/category-Cc: Likewise.
50743         * modules/unictype/category-Cf: Likewise.
50744         * modules/unictype/category-Cn: Likewise.
50745         * modules/unictype/category-Co: Likewise.
50746         * modules/unictype/category-Cs: Likewise.
50747         * modules/unictype/category-L: Likewise.
50748         * modules/unictype/category-Ll: Likewise.
50749         * modules/unictype/category-Lm: Likewise.
50750         * modules/unictype/category-Lo: Likewise.
50751         * modules/unictype/category-Lt: Likewise.
50752         * modules/unictype/category-Lu: Likewise.
50753         * modules/unictype/category-M: Likewise.
50754         * modules/unictype/category-Mc: Likewise.
50755         * modules/unictype/category-Me: Likewise.
50756         * modules/unictype/category-Mn: Likewise.
50757         * modules/unictype/category-N: Likewise.
50758         * modules/unictype/category-Nd: Likewise.
50759         * modules/unictype/category-Nl: Likewise.
50760         * modules/unictype/category-No: Likewise.
50761         * modules/unictype/category-P: Likewise.
50762         * modules/unictype/category-Pc: Likewise.
50763         * modules/unictype/category-Pd: Likewise.
50764         * modules/unictype/category-Pe: Likewise.
50765         * modules/unictype/category-Pf: Likewise.
50766         * modules/unictype/category-Pi: Likewise.
50767         * modules/unictype/category-Po: Likewise.
50768         * modules/unictype/category-Ps: Likewise.
50769         * modules/unictype/category-S: Likewise.
50770         * modules/unictype/category-Sc: Likewise.
50771         * modules/unictype/category-Sk: Likewise.
50772         * modules/unictype/category-Sm: Likewise.
50773         * modules/unictype/category-So: Likewise.
50774         * modules/unictype/category-Z: Likewise.
50775         * modules/unictype/category-Zl: Likewise.
50776         * modules/unictype/category-Zp: Likewise.
50777         * modules/unictype/category-Zs: Likewise.
50778         * modules/unictype/category-and: Likewise.
50779         * modules/unictype/category-and-not: Likewise.
50780         * modules/unictype/category-byname: Likewise.
50781         * modules/unictype/category-name: Likewise.
50782         * modules/unictype/category-none: Likewise.
50783         * modules/unictype/category-of: Likewise.
50784         * modules/unictype/category-or: Likewise.
50785         * modules/unictype/category-test: Likewise.
50786         * modules/unictype/combining-class: Likewise.
50787         * modules/unictype/ctype-alnum: Likewise.
50788         * modules/unictype/ctype-alpha: Likewise.
50789         * modules/unictype/ctype-blank: Likewise.
50790         * modules/unictype/ctype-cntrl: Likewise.
50791         * modules/unictype/ctype-digit: Likewise.
50792         * modules/unictype/ctype-graph: Likewise.
50793         * modules/unictype/ctype-lower: Likewise.
50794         * modules/unictype/ctype-print: Likewise.
50795         * modules/unictype/ctype-punct: Likewise.
50796         * modules/unictype/ctype-space: Likewise.
50797         * modules/unictype/ctype-upper: Likewise.
50798         * modules/unictype/ctype-xdigit: Likewise.
50799         * modules/unictype/decimal-digit: Likewise.
50800         * modules/unictype/digit: Likewise.
50801         * modules/unictype/mirror: Likewise.
50802         * modules/unictype/numeric: Likewise.
50803         * modules/unictype/property-alphabetic: Likewise.
50804         * modules/unictype/property-ascii-hex-digit: Likewise.
50805         * modules/unictype/property-bidi-arabic-digit: Likewise.
50806         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50807         * modules/unictype/property-bidi-block-separator: Likewise.
50808         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50809         * modules/unictype/property-bidi-common-separator: Likewise.
50810         * modules/unictype/property-bidi-control: Likewise.
50811         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50812         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50813         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50814         * modules/unictype/property-bidi-european-digit: Likewise.
50815         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50816         * modules/unictype/property-bidi-left-to-right: Likewise.
50817         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50818         * modules/unictype/property-bidi-other-neutral: Likewise.
50819         * modules/unictype/property-bidi-pdf: Likewise.
50820         * modules/unictype/property-bidi-segment-separator: Likewise.
50821         * modules/unictype/property-bidi-whitespace: Likewise.
50822         * modules/unictype/property-byname: Likewise.
50823         * modules/unictype/property-combining: Likewise.
50824         * modules/unictype/property-composite: Likewise.
50825         * modules/unictype/property-currency-symbol: Likewise.
50826         * modules/unictype/property-dash: Likewise.
50827         * modules/unictype/property-decimal-digit: Likewise.
50828         * modules/unictype/property-default-ignorable-code-point: Likewise.
50829         * modules/unictype/property-deprecated: Likewise.
50830         * modules/unictype/property-diacritic: Likewise.
50831         * modules/unictype/property-extender: Likewise.
50832         * modules/unictype/property-format-control: Likewise.
50833         * modules/unictype/property-grapheme-base: Likewise.
50834         * modules/unictype/property-grapheme-extend: Likewise.
50835         * modules/unictype/property-grapheme-link: Likewise.
50836         * modules/unictype/property-hex-digit: Likewise.
50837         * modules/unictype/property-hyphen: Likewise.
50838         * modules/unictype/property-id-continue: Likewise.
50839         * modules/unictype/property-id-start: Likewise.
50840         * modules/unictype/property-ideographic: Likewise.
50841         * modules/unictype/property-ids-binary-operator: Likewise.
50842         * modules/unictype/property-ids-trinary-operator: Likewise.
50843         * modules/unictype/property-ignorable-control: Likewise.
50844         * modules/unictype/property-iso-control: Likewise.
50845         * modules/unictype/property-join-control: Likewise.
50846         * modules/unictype/property-left-of-pair: Likewise.
50847         * modules/unictype/property-line-separator: Likewise.
50848         * modules/unictype/property-logical-order-exception: Likewise.
50849         * modules/unictype/property-lowercase: Likewise.
50850         * modules/unictype/property-math: Likewise.
50851         * modules/unictype/property-non-break: Likewise.
50852         * modules/unictype/property-not-a-character: Likewise.
50853         * modules/unictype/property-numeric: Likewise.
50854         * modules/unictype/property-other-alphabetic: Likewise.
50855         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50856         * modules/unictype/property-other-grapheme-extend: Likewise.
50857         * modules/unictype/property-other-id-continue: Likewise.
50858         * modules/unictype/property-other-id-start: Likewise.
50859         * modules/unictype/property-other-lowercase: Likewise.
50860         * modules/unictype/property-other-math: Likewise.
50861         * modules/unictype/property-other-uppercase: Likewise.
50862         * modules/unictype/property-paired-punctuation: Likewise.
50863         * modules/unictype/property-paragraph-separator: Likewise.
50864         * modules/unictype/property-pattern-syntax: Likewise.
50865         * modules/unictype/property-pattern-white-space: Likewise.
50866         * modules/unictype/property-private-use: Likewise.
50867         * modules/unictype/property-punctuation: Likewise.
50868         * modules/unictype/property-quotation-mark: Likewise.
50869         * modules/unictype/property-radical: Likewise.
50870         * modules/unictype/property-sentence-terminal: Likewise.
50871         * modules/unictype/property-soft-dotted: Likewise.
50872         * modules/unictype/property-space: Likewise.
50873         * modules/unictype/property-terminal-punctuation: Likewise.
50874         * modules/unictype/property-test: Likewise.
50875         * modules/unictype/property-titlecase: Likewise.
50876         * modules/unictype/property-unassigned-code-value: Likewise.
50877         * modules/unictype/property-unified-ideograph: Likewise.
50878         * modules/unictype/property-uppercase: Likewise.
50879         * modules/unictype/property-variation-selector: Likewise.
50880         * modules/unictype/property-white-space: Likewise.
50881         * modules/unictype/property-xid-continue: Likewise.
50882         * modules/unictype/property-xid-start: Likewise.
50883         * modules/unictype/property-zero-width: Likewise.
50884         * modules/unictype/scripts: Likewise.
50885         * modules/unictype/syntax-c-ident: Likewise.
50886         * modules/unictype/syntax-c-whitespace: Likewise.
50887         * modules/unictype/syntax-java-ident: Likewise.
50888         * modules/unictype/syntax-java-whitespace: Likewise.
50889         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50890         * modules/unilbrk/u8-width-linebreaks: Likewise.
50891         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50892         * modules/unilbrk/u16-width-linebreaks: Likewise.
50893         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50894         * modules/unilbrk/u32-width-linebreaks: Likewise.
50895         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50896         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50897         * modules/uniname/uniname: Likewise.
50898         * modules/uninorm/canonical-decomposition: Likewise.
50899         * modules/uninorm/composition: Likewise.
50900         * modules/uninorm/decomposing-form: Likewise.
50901         * modules/uninorm/decomposition: Likewise.
50902         * modules/uninorm/filter: Likewise.
50903         * modules/uninorm/nfc: Likewise.
50904         * modules/uninorm/nfd: Likewise.
50905         * modules/uninorm/nfkc: Likewise.
50906         * modules/uninorm/nfkd: Likewise.
50907         * modules/uninorm/u8-normalize: Likewise.
50908         * modules/uninorm/u8-normcmp: Likewise.
50909         * modules/uninorm/u8-normcoll: Likewise.
50910         * modules/uninorm/u8-normxfrm: Likewise.
50911         * modules/uninorm/u16-normalize: Likewise.
50912         * modules/uninorm/u16-normcmp: Likewise.
50913         * modules/uninorm/u16-normcoll: Likewise.
50914         * modules/uninorm/u16-normxfrm: Likewise.
50915         * modules/uninorm/u32-normalize: Likewise.
50916         * modules/uninorm/u32-normcmp: Likewise.
50917         * modules/uninorm/u32-normcoll: Likewise.
50918         * modules/uninorm/u32-normxfrm: Likewise.
50919         * modules/unistdio/u8-asnprintf: Likewise.
50920         * modules/unistdio/u8-asprintf: Likewise.
50921         * modules/unistdio/u8-snprintf: Likewise.
50922         * modules/unistdio/u8-sprintf: Likewise.
50923         * modules/unistdio/u8-u8-asnprintf: Likewise.
50924         * modules/unistdio/u8-u8-asprintf: Likewise.
50925         * modules/unistdio/u8-u8-snprintf: Likewise.
50926         * modules/unistdio/u8-u8-sprintf: Likewise.
50927         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50928         * modules/unistdio/u8-u8-vasprintf: Likewise.
50929         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50930         * modules/unistdio/u8-u8-vsprintf: Likewise.
50931         * modules/unistdio/u8-vasnprintf: Likewise.
50932         * modules/unistdio/u8-vasprintf: Likewise.
50933         * modules/unistdio/u8-vsnprintf: Likewise.
50934         * modules/unistdio/u8-vsprintf: Likewise.
50935         * modules/unistdio/u16-asnprintf: Likewise.
50936         * modules/unistdio/u16-asprintf: Likewise.
50937         * modules/unistdio/u16-snprintf: Likewise.
50938         * modules/unistdio/u16-sprintf: Likewise.
50939         * modules/unistdio/u16-u16-asnprintf: Likewise.
50940         * modules/unistdio/u16-u16-asprintf: Likewise.
50941         * modules/unistdio/u16-u16-snprintf: Likewise.
50942         * modules/unistdio/u16-u16-sprintf: Likewise.
50943         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50944         * modules/unistdio/u16-u16-vasprintf: Likewise.
50945         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50946         * modules/unistdio/u16-u16-vsprintf: Likewise.
50947         * modules/unistdio/u16-vasnprintf: Likewise.
50948         * modules/unistdio/u16-vasprintf: Likewise.
50949         * modules/unistdio/u16-vsnprintf: Likewise.
50950         * modules/unistdio/u16-vsprintf: Likewise.
50951         * modules/unistdio/u32-asnprintf: Likewise.
50952         * modules/unistdio/u32-asprintf: Likewise.
50953         * modules/unistdio/u32-snprintf: Likewise.
50954         * modules/unistdio/u32-sprintf: Likewise.
50955         * modules/unistdio/u32-u32-asnprintf: Likewise.
50956         * modules/unistdio/u32-u32-asprintf: Likewise.
50957         * modules/unistdio/u32-u32-snprintf: Likewise.
50958         * modules/unistdio/u32-u32-sprintf: Likewise.
50959         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50960         * modules/unistdio/u32-u32-vasprintf: Likewise.
50961         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50962         * modules/unistdio/u32-u32-vsprintf: Likewise.
50963         * modules/unistdio/u32-vasnprintf: Likewise.
50964         * modules/unistdio/u32-vasprintf: Likewise.
50965         * modules/unistdio/u32-vsnprintf: Likewise.
50966         * modules/unistdio/u32-vsprintf: Likewise.
50967         * modules/unistdio/ulc-asnprintf: Likewise.
50968         * modules/unistdio/ulc-asprintf: Likewise.
50969         * modules/unistdio/ulc-fprintf: Likewise.
50970         * modules/unistdio/ulc-snprintf: Likewise.
50971         * modules/unistdio/ulc-sprintf: Likewise.
50972         * modules/unistdio/ulc-vasnprintf: Likewise.
50973         * modules/unistdio/ulc-vasprintf: Likewise.
50974         * modules/unistdio/ulc-vfprintf: Likewise.
50975         * modules/unistdio/ulc-vsnprintf: Likewise.
50976         * modules/unistdio/ulc-vsprintf: Likewise.
50977         * modules/unistr/u8-check: Likewise.
50978         * modules/unistr/u8-chr: Likewise.
50979         * modules/unistr/u8-cmp: Likewise.
50980         * modules/unistr/u8-cmp2: Likewise.
50981         * modules/unistr/u8-cpy: Likewise.
50982         * modules/unistr/u8-cpy-alloc: Likewise.
50983         * modules/unistr/u8-endswith: Likewise.
50984         * modules/unistr/u8-mblen: Likewise.
50985         * modules/unistr/u8-mbsnlen: Likewise.
50986         * modules/unistr/u8-mbtouc: Likewise.
50987         * modules/unistr/u8-mbtouc-unsafe: Likewise.
50988         * modules/unistr/u8-mbtoucr: Likewise.
50989         * modules/unistr/u8-move: Likewise.
50990         * modules/unistr/u8-next: Likewise.
50991         * modules/unistr/u8-prev: Likewise.
50992         * modules/unistr/u8-set: Likewise.
50993         * modules/unistr/u8-startswith: Likewise.
50994         * modules/unistr/u8-stpcpy: Likewise.
50995         * modules/unistr/u8-stpncpy: Likewise.
50996         * modules/unistr/u8-strcat: Likewise.
50997         * modules/unistr/u8-strchr: Likewise.
50998         * modules/unistr/u8-strcmp: Likewise.
50999         * modules/unistr/u8-strcoll: Likewise.
51000         * modules/unistr/u8-strcpy: Likewise.
51001         * modules/unistr/u8-strcspn: Likewise.
51002         * modules/unistr/u8-strdup: Likewise.
51003         * modules/unistr/u8-strlen: Likewise.
51004         * modules/unistr/u8-strmblen: Likewise.
51005         * modules/unistr/u8-strmbtouc: Likewise.
51006         * modules/unistr/u8-strncat: Likewise.
51007         * modules/unistr/u8-strncmp: Likewise.
51008         * modules/unistr/u8-strncpy: Likewise.
51009         * modules/unistr/u8-strnlen: Likewise.
51010         * modules/unistr/u8-strpbrk: Likewise.
51011         * modules/unistr/u8-strrchr: Likewise.
51012         * modules/unistr/u8-strspn: Likewise.
51013         * modules/unistr/u8-strstr: Likewise.
51014         * modules/unistr/u8-strtok: Likewise.
51015         * modules/unistr/u8-to-u16: Likewise.
51016         * modules/unistr/u8-to-u32: Likewise.
51017         * modules/unistr/u8-uctomb: Likewise.
51018         * modules/unistr/u16-check: Likewise.
51019         * modules/unistr/u16-chr: Likewise.
51020         * modules/unistr/u16-cmp: Likewise.
51021         * modules/unistr/u16-cmp2: Likewise.
51022         * modules/unistr/u16-cpy: Likewise.
51023         * modules/unistr/u16-cpy-alloc: Likewise.
51024         * modules/unistr/u16-endswith: Likewise.
51025         * modules/unistr/u16-mblen: Likewise.
51026         * modules/unistr/u16-mbsnlen: Likewise.
51027         * modules/unistr/u16-mbtouc: Likewise.
51028         * modules/unistr/u16-mbtouc-unsafe: Likewise.
51029         * modules/unistr/u16-mbtoucr: Likewise.
51030         * modules/unistr/u16-move: Likewise.
51031         * modules/unistr/u16-next: Likewise.
51032         * modules/unistr/u16-prev: Likewise.
51033         * modules/unistr/u16-set: Likewise.
51034         * modules/unistr/u16-startswith: Likewise.
51035         * modules/unistr/u16-stpcpy: Likewise.
51036         * modules/unistr/u16-stpncpy: Likewise.
51037         * modules/unistr/u16-strcat: Likewise.
51038         * modules/unistr/u16-strchr: Likewise.
51039         * modules/unistr/u16-strcmp: Likewise.
51040         * modules/unistr/u16-strcoll: Likewise.
51041         * modules/unistr/u16-strcpy: Likewise.
51042         * modules/unistr/u16-strcspn: Likewise.
51043         * modules/unistr/u16-strdup: Likewise.
51044         * modules/unistr/u16-strlen: Likewise.
51045         * modules/unistr/u16-strmblen: Likewise.
51046         * modules/unistr/u16-strmbtouc: Likewise.
51047         * modules/unistr/u16-strncat: Likewise.
51048         * modules/unistr/u16-strncmp: Likewise.
51049         * modules/unistr/u16-strncpy: Likewise.
51050         * modules/unistr/u16-strnlen: Likewise.
51051         * modules/unistr/u16-strpbrk: Likewise.
51052         * modules/unistr/u16-strrchr: Likewise.
51053         * modules/unistr/u16-strspn: Likewise.
51054         * modules/unistr/u16-strstr: Likewise.
51055         * modules/unistr/u16-strtok: Likewise.
51056         * modules/unistr/u16-to-u32: Likewise.
51057         * modules/unistr/u16-to-u8: Likewise.
51058         * modules/unistr/u16-uctomb: Likewise.
51059         * modules/unistr/u32-check: Likewise.
51060         * modules/unistr/u32-chr: Likewise.
51061         * modules/unistr/u32-cmp: Likewise.
51062         * modules/unistr/u32-cmp2: Likewise.
51063         * modules/unistr/u32-cpy: Likewise.
51064         * modules/unistr/u32-cpy-alloc: Likewise.
51065         * modules/unistr/u32-endswith: Likewise.
51066         * modules/unistr/u32-mblen: Likewise.
51067         * modules/unistr/u32-mbsnlen: Likewise.
51068         * modules/unistr/u32-mbtouc: Likewise.
51069         * modules/unistr/u32-mbtouc-unsafe: Likewise.
51070         * modules/unistr/u32-mbtoucr: Likewise.
51071         * modules/unistr/u32-move: Likewise.
51072         * modules/unistr/u32-next: Likewise.
51073         * modules/unistr/u32-prev: Likewise.
51074         * modules/unistr/u32-set: Likewise.
51075         * modules/unistr/u32-startswith: Likewise.
51076         * modules/unistr/u32-stpcpy: Likewise.
51077         * modules/unistr/u32-stpncpy: Likewise.
51078         * modules/unistr/u32-strcat: Likewise.
51079         * modules/unistr/u32-strchr: Likewise.
51080         * modules/unistr/u32-strcmp: Likewise.
51081         * modules/unistr/u32-strcoll: Likewise.
51082         * modules/unistr/u32-strcpy: Likewise.
51083         * modules/unistr/u32-strcspn: Likewise.
51084         * modules/unistr/u32-strdup: Likewise.
51085         * modules/unistr/u32-strlen: Likewise.
51086         * modules/unistr/u32-strmblen: Likewise.
51087         * modules/unistr/u32-strmbtouc: Likewise.
51088         * modules/unistr/u32-strncat: Likewise.
51089         * modules/unistr/u32-strncmp: Likewise.
51090         * modules/unistr/u32-strncpy: Likewise.
51091         * modules/unistr/u32-strnlen: Likewise.
51092         * modules/unistr/u32-strpbrk: Likewise.
51093         * modules/unistr/u32-strrchr: Likewise.
51094         * modules/unistr/u32-strspn: Likewise.
51095         * modules/unistr/u32-strstr: Likewise.
51096         * modules/unistr/u32-strtok: Likewise.
51097         * modules/unistr/u32-to-u16: Likewise.
51098         * modules/unistr/u32-to-u8: Likewise.
51099         * modules/unistr/u32-uctomb: Likewise.
51100         * modules/uniwbrk/u8-wordbreaks: Likewise.
51101         * modules/uniwbrk/u16-wordbreaks: Likewise.
51102         * modules/uniwbrk/u32-wordbreaks: Likewise.
51103         * modules/uniwbrk/ulc-wordbreaks: Likewise.
51104         * modules/uniwbrk/wordbreak-property: Likewise.
51105         * modules/uniwidth/u8-strwidth: Likewise.
51106         * modules/uniwidth/u8-width: Likewise.
51107         * modules/uniwidth/u16-strwidth: Likewise.
51108         * modules/uniwidth/u16-width: Likewise.
51109         * modules/uniwidth/u32-strwidth: Likewise.
51110         * modules/uniwidth/u32-width: Likewise.
51111         * modules/uniwidth/width: Likewise.
51112         * modules/unicase/cased-tests (Makefile.am): Link all test programs
51113         with $(LIBUNISTRING).
51114         * modules/unicase/ignorable-tests: Likewise.
51115         * modules/unicase/locale-language-tests: Likewise.
51116         * modules/unicase/tolower-tests: Likewise.
51117         * modules/unicase/totitle-tests: Likewise.
51118         * modules/unicase/toupper-tests: Likewise.
51119         * modules/unicase/u8-casecmp-tests: Likewise.
51120         * modules/unicase/u8-casecoll-tests: Likewise.
51121         * modules/unicase/u8-casefold-tests: Likewise.
51122         * modules/unicase/u8-is-cased-tests: Likewise.
51123         * modules/unicase/u8-is-casefolded-tests: Likewise.
51124         * modules/unicase/u8-is-lowercase-tests: Likewise.
51125         * modules/unicase/u8-is-titlecase-tests: Likewise.
51126         * modules/unicase/u8-is-uppercase-tests: Likewise.
51127         * modules/unicase/u8-tolower-tests: Likewise.
51128         * modules/unicase/u8-totitle-tests: Likewise.
51129         * modules/unicase/u8-toupper-tests: Likewise.
51130         * modules/unicase/u16-casecmp-tests: Likewise.
51131         * modules/unicase/u16-casecoll-tests: Likewise.
51132         * modules/unicase/u16-casefold-tests: Likewise.
51133         * modules/unicase/u16-is-cased-tests: Likewise.
51134         * modules/unicase/u16-is-casefolded-tests: Likewise.
51135         * modules/unicase/u16-is-lowercase-tests: Likewise.
51136         * modules/unicase/u16-is-titlecase-tests: Likewise.
51137         * modules/unicase/u16-is-uppercase-tests: Likewise.
51138         * modules/unicase/u16-tolower-tests: Likewise.
51139         * modules/unicase/u16-totitle-tests: Likewise.
51140         * modules/unicase/u16-toupper-tests: Likewise.
51141         * modules/unicase/u32-casecmp-tests: Likewise.
51142         * modules/unicase/u32-casecoll-tests: Likewise.
51143         * modules/unicase/u32-casefold-tests: Likewise.
51144         * modules/unicase/u32-is-cased-tests: Likewise.
51145         * modules/unicase/u32-is-casefolded-tests: Likewise.
51146         * modules/unicase/u32-is-lowercase-tests: Likewise.
51147         * modules/unicase/u32-is-titlecase-tests: Likewise.
51148         * modules/unicase/u32-is-uppercase-tests: Likewise.
51149         * modules/unicase/u32-tolower-tests: Likewise.
51150         * modules/unicase/u32-totitle-tests: Likewise.
51151         * modules/unicase/u32-toupper-tests: Likewise.
51152         * modules/unicase/ulc-casecmp-tests: Likewise.
51153         * modules/unicase/ulc-casecoll-tests: Likewise.
51154         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
51155         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
51156         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
51157         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
51158         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
51159         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
51160         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
51161         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
51162         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
51163         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
51164         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
51165         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
51166         * modules/unictype/bidicategory-byname-tests: Likewise.
51167         * modules/unictype/bidicategory-name-tests: Likewise.
51168         * modules/unictype/bidicategory-of-tests: Likewise.
51169         * modules/unictype/bidicategory-test-tests: Likewise.
51170         * modules/unictype/block-list-tests: Likewise.
51171         * modules/unictype/block-of-tests: Likewise.
51172         * modules/unictype/block-test-tests: Likewise.
51173         * modules/unictype/category-C-tests: Likewise.
51174         * modules/unictype/category-Cc-tests: Likewise.
51175         * modules/unictype/category-Cf-tests: Likewise.
51176         * modules/unictype/category-Cn-tests: Likewise.
51177         * modules/unictype/category-Co-tests: Likewise.
51178         * modules/unictype/category-Cs-tests: Likewise.
51179         * modules/unictype/category-L-tests: Likewise.
51180         * modules/unictype/category-Ll-tests: Likewise.
51181         * modules/unictype/category-Lm-tests: Likewise.
51182         * modules/unictype/category-Lo-tests: Likewise.
51183         * modules/unictype/category-Lt-tests: Likewise.
51184         * modules/unictype/category-Lu-tests: Likewise.
51185         * modules/unictype/category-M-tests: Likewise.
51186         * modules/unictype/category-Mc-tests: Likewise.
51187         * modules/unictype/category-Me-tests: Likewise.
51188         * modules/unictype/category-Mn-tests: Likewise.
51189         * modules/unictype/category-N-tests: Likewise.
51190         * modules/unictype/category-Nd-tests: Likewise.
51191         * modules/unictype/category-Nl-tests: Likewise.
51192         * modules/unictype/category-No-tests: Likewise.
51193         * modules/unictype/category-P-tests: Likewise.
51194         * modules/unictype/category-Pc-tests: Likewise.
51195         * modules/unictype/category-Pd-tests: Likewise.
51196         * modules/unictype/category-Pe-tests: Likewise.
51197         * modules/unictype/category-Pf-tests: Likewise.
51198         * modules/unictype/category-Pi-tests: Likewise.
51199         * modules/unictype/category-Po-tests: Likewise.
51200         * modules/unictype/category-Ps-tests: Likewise.
51201         * modules/unictype/category-S-tests: Likewise.
51202         * modules/unictype/category-Sc-tests: Likewise.
51203         * modules/unictype/category-Sk-tests: Likewise.
51204         * modules/unictype/category-Sm-tests: Likewise.
51205         * modules/unictype/category-So-tests: Likewise.
51206         * modules/unictype/category-Z-tests: Likewise.
51207         * modules/unictype/category-Zl-tests: Likewise.
51208         * modules/unictype/category-Zp-tests: Likewise.
51209         * modules/unictype/category-Zs-tests: Likewise.
51210         * modules/unictype/category-and-not-tests: Likewise.
51211         * modules/unictype/category-and-tests: Likewise.
51212         * modules/unictype/category-byname-tests: Likewise.
51213         * modules/unictype/category-name-tests: Likewise.
51214         * modules/unictype/category-none-tests: Likewise.
51215         * modules/unictype/category-of-tests: Likewise.
51216         * modules/unictype/category-or-tests: Likewise.
51217         * modules/unictype/category-test-withtable-tests: Likewise.
51218         * modules/unictype/combining-class-tests: Likewise.
51219         * modules/unictype/ctype-alnum-tests: Likewise.
51220         * modules/unictype/ctype-alpha-tests: Likewise.
51221         * modules/unictype/ctype-blank-tests: Likewise.
51222         * modules/unictype/ctype-cntrl-tests: Likewise.
51223         * modules/unictype/ctype-digit-tests: Likewise.
51224         * modules/unictype/ctype-graph-tests: Likewise.
51225         * modules/unictype/ctype-lower-tests: Likewise.
51226         * modules/unictype/ctype-print-tests: Likewise.
51227         * modules/unictype/ctype-punct-tests: Likewise.
51228         * modules/unictype/ctype-space-tests: Likewise.
51229         * modules/unictype/ctype-upper-tests: Likewise.
51230         * modules/unictype/ctype-xdigit-tests: Likewise.
51231         * modules/unictype/decimal-digit-tests: Likewise.
51232         * modules/unictype/digit-tests: Likewise.
51233         * modules/unictype/mirror-tests: Likewise.
51234         * modules/unictype/numeric-tests: Likewise.
51235         * modules/unictype/property-alphabetic-tests: Likewise.
51236         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
51237         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
51238         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
51239         * modules/unictype/property-bidi-block-separator-tests: Likewise.
51240         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
51241         * modules/unictype/property-bidi-common-separator-tests: Likewise.
51242         * modules/unictype/property-bidi-control-tests: Likewise.
51243         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
51244         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
51245         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
51246         * modules/unictype/property-bidi-european-digit-tests: Likewise.
51247         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
51248         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
51249         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
51250         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
51251         * modules/unictype/property-bidi-pdf-tests: Likewise.
51252         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
51253         * modules/unictype/property-bidi-whitespace-tests: Likewise.
51254         * modules/unictype/property-byname-tests: Likewise.
51255         * modules/unictype/property-combining-tests: Likewise.
51256         * modules/unictype/property-composite-tests: Likewise.
51257         * modules/unictype/property-currency-symbol-tests: Likewise.
51258         * modules/unictype/property-dash-tests: Likewise.
51259         * modules/unictype/property-decimal-digit-tests: Likewise.
51260         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
51261         * modules/unictype/property-deprecated-tests: Likewise.
51262         * modules/unictype/property-diacritic-tests: Likewise.
51263         * modules/unictype/property-extender-tests: Likewise.
51264         * modules/unictype/property-format-control-tests: Likewise.
51265         * modules/unictype/property-grapheme-base-tests: Likewise.
51266         * modules/unictype/property-grapheme-extend-tests: Likewise.
51267         * modules/unictype/property-grapheme-link-tests: Likewise.
51268         * modules/unictype/property-hex-digit-tests: Likewise.
51269         * modules/unictype/property-hyphen-tests: Likewise.
51270         * modules/unictype/property-id-continue-tests: Likewise.
51271         * modules/unictype/property-id-start-tests: Likewise.
51272         * modules/unictype/property-ideographic-tests: Likewise.
51273         * modules/unictype/property-ids-binary-operator-tests: Likewise.
51274         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
51275         * modules/unictype/property-ignorable-control-tests: Likewise.
51276         * modules/unictype/property-iso-control-tests: Likewise.
51277         * modules/unictype/property-join-control-tests: Likewise.
51278         * modules/unictype/property-left-of-pair-tests: Likewise.
51279         * modules/unictype/property-line-separator-tests: Likewise.
51280         * modules/unictype/property-logical-order-exception-tests: Likewise.
51281         * modules/unictype/property-lowercase-tests: Likewise.
51282         * modules/unictype/property-math-tests: Likewise.
51283         * modules/unictype/property-non-break-tests: Likewise.
51284         * modules/unictype/property-not-a-character-tests: Likewise.
51285         * modules/unictype/property-numeric-tests: Likewise.
51286         * modules/unictype/property-other-alphabetic-tests: Likewise.
51287         * modules/unictype/property-other-default-ignorable-code-point-tests:
51288         Likewise.
51289         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
51290         * modules/unictype/property-other-id-continue-tests: Likewise.
51291         * modules/unictype/property-other-id-start-tests: Likewise.
51292         * modules/unictype/property-other-lowercase-tests: Likewise.
51293         * modules/unictype/property-other-math-tests: Likewise.
51294         * modules/unictype/property-other-uppercase-tests: Likewise.
51295         * modules/unictype/property-paired-punctuation-tests: Likewise.
51296         * modules/unictype/property-paragraph-separator-tests: Likewise.
51297         * modules/unictype/property-pattern-syntax-tests: Likewise.
51298         * modules/unictype/property-pattern-white-space-tests: Likewise.
51299         * modules/unictype/property-private-use-tests: Likewise.
51300         * modules/unictype/property-punctuation-tests: Likewise.
51301         * modules/unictype/property-quotation-mark-tests: Likewise.
51302         * modules/unictype/property-radical-tests: Likewise.
51303         * modules/unictype/property-sentence-terminal-tests: Likewise.
51304         * modules/unictype/property-soft-dotted-tests: Likewise.
51305         * modules/unictype/property-space-tests: Likewise.
51306         * modules/unictype/property-terminal-punctuation-tests: Likewise.
51307         * modules/unictype/property-test-tests: Likewise.
51308         * modules/unictype/property-titlecase-tests: Likewise.
51309         * modules/unictype/property-unassigned-code-value-tests: Likewise.
51310         * modules/unictype/property-unified-ideograph-tests: Likewise.
51311         * modules/unictype/property-uppercase-tests: Likewise.
51312         * modules/unictype/property-variation-selector-tests: Likewise.
51313         * modules/unictype/property-white-space-tests: Likewise.
51314         * modules/unictype/property-xid-continue-tests: Likewise.
51315         * modules/unictype/property-xid-start-tests: Likewise.
51316         * modules/unictype/property-zero-width-tests: Likewise.
51317         * modules/unictype/scripts-tests: Likewise.
51318         * modules/unictype/syntax-c-ident-tests: Likewise.
51319         * modules/unictype/syntax-c-whitespace-tests: Likewise.
51320         * modules/unictype/syntax-java-ident-tests: Likewise.
51321         * modules/unictype/syntax-java-whitespace-tests: Likewise.
51322         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
51323         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
51324         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
51325         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
51326         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
51327         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
51328         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
51329         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
51330         * modules/uniname/uniname-tests: Likewise.
51331         * modules/uninorm/canonical-decomposition-tests: Likewise.
51332         * modules/uninorm/compat-decomposition-tests: Likewise.
51333         * modules/uninorm/composition-tests: Likewise.
51334         * modules/uninorm/decomposing-form-tests: Likewise.
51335         * modules/uninorm/decomposition-tests: Likewise.
51336         * modules/uninorm/filter-tests: Likewise.
51337         * modules/uninorm/nfc-tests: Likewise.
51338         * modules/uninorm/nfd-tests: Likewise.
51339         * modules/uninorm/nfkc-tests: Likewise.
51340         * modules/uninorm/nfkd-tests: Likewise.
51341         * modules/uninorm/u8-normcmp-tests: Likewise.
51342         * modules/uninorm/u8-normcoll-tests: Likewise.
51343         * modules/uninorm/u16-normcmp-tests: Likewise.
51344         * modules/uninorm/u16-normcoll-tests: Likewise.
51345         * modules/uninorm/u32-normcmp-tests: Likewise.
51346         * modules/uninorm/u32-normcoll-tests: Likewise.
51347         * modules/unistdio/u8-asnprintf-tests: Likewise.
51348         * modules/unistdio/u8-vasnprintf-tests: Likewise.
51349         * modules/unistdio/u8-vasprintf-tests: Likewise.
51350         * modules/unistdio/u8-vsnprintf-tests: Likewise.
51351         * modules/unistdio/u8-vsprintf-tests: Likewise.
51352         * modules/unistdio/u16-asnprintf-tests: Likewise.
51353         * modules/unistdio/u16-vasnprintf-tests: Likewise.
51354         * modules/unistdio/u16-vasprintf-tests: Likewise.
51355         * modules/unistdio/u16-vsnprintf-tests: Likewise.
51356         * modules/unistdio/u16-vsprintf-tests: Likewise.
51357         * modules/unistdio/u32-asnprintf-tests: Likewise.
51358         * modules/unistdio/u32-vasnprintf-tests: Likewise.
51359         * modules/unistdio/u32-vasprintf-tests: Likewise.
51360         * modules/unistdio/u32-vsnprintf-tests: Likewise.
51361         * modules/unistdio/u32-vsprintf-tests: Likewise.
51362         * modules/unistdio/ulc-asnprintf-tests: Likewise.
51363         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
51364         * modules/unistdio/ulc-vasprintf-tests: Likewise.
51365         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
51366         * modules/unistdio/ulc-vsprintf-tests: Likewise.
51367         * modules/unistr/u8-check-tests: Likewise.
51368         * modules/unistr/u8-chr-tests: Likewise.
51369         * modules/unistr/u8-cmp-tests: Likewise.
51370         * modules/unistr/u8-cmp2-tests: Likewise.
51371         * modules/unistr/u8-cpy-alloc-tests: Likewise.
51372         * modules/unistr/u8-cpy-tests: Likewise.
51373         * modules/unistr/u8-mblen-tests: Likewise.
51374         * modules/unistr/u8-mbsnlen-tests: Likewise.
51375         * modules/unistr/u8-mbtouc-tests: Likewise.
51376         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
51377         * modules/unistr/u8-mbtoucr-tests: Likewise.
51378         * modules/unistr/u8-move-tests: Likewise.
51379         * modules/unistr/u8-next-tests: Likewise.
51380         * modules/unistr/u8-prev-tests: Likewise.
51381         * modules/unistr/u8-set-tests: Likewise.
51382         * modules/unistr/u8-stpcpy-tests: Likewise.
51383         * modules/unistr/u8-stpncpy-tests: Likewise.
51384         * modules/unistr/u8-strcat-tests: Likewise.
51385         * modules/unistr/u8-strcmp-tests: Likewise.
51386         * modules/unistr/u8-strcoll-tests: Likewise.
51387         * modules/unistr/u8-strcpy-tests: Likewise.
51388         * modules/unistr/u8-strdup-tests: Likewise.
51389         * modules/unistr/u8-strlen-tests: Likewise.
51390         * modules/unistr/u8-strmblen-tests: Likewise.
51391         * modules/unistr/u8-strmbtouc-tests: Likewise.
51392         * modules/unistr/u8-strncat-tests: Likewise.
51393         * modules/unistr/u8-strncmp-tests: Likewise.
51394         * modules/unistr/u8-strncpy-tests: Likewise.
51395         * modules/unistr/u8-strnlen-tests: Likewise.
51396         * modules/unistr/u8-to-u16-tests: Likewise.
51397         * modules/unistr/u8-to-u32-tests: Likewise.
51398         * modules/unistr/u8-uctomb-tests: Likewise.
51399         * modules/unistr/u16-check-tests: Likewise.
51400         * modules/unistr/u16-chr-tests: Likewise.
51401         * modules/unistr/u16-cmp-tests: Likewise.
51402         * modules/unistr/u16-cmp2-tests: Likewise.
51403         * modules/unistr/u16-cpy-alloc-tests: Likewise.
51404         * modules/unistr/u16-cpy-tests: Likewise.
51405         * modules/unistr/u16-mblen-tests: Likewise.
51406         * modules/unistr/u16-mbsnlen-tests: Likewise.
51407         * modules/unistr/u16-mbtouc-tests: Likewise.
51408         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
51409         * modules/unistr/u16-mbtoucr-tests: Likewise.
51410         * modules/unistr/u16-move-tests: Likewise.
51411         * modules/unistr/u16-next-tests: Likewise.
51412         * modules/unistr/u16-prev-tests: Likewise.
51413         * modules/unistr/u16-set-tests: Likewise.
51414         * modules/unistr/u16-stpcpy-tests: Likewise.
51415         * modules/unistr/u16-stpncpy-tests: Likewise.
51416         * modules/unistr/u16-strcat-tests: Likewise.
51417         * modules/unistr/u16-strcmp-tests: Likewise.
51418         * modules/unistr/u16-strcoll-tests: Likewise.
51419         * modules/unistr/u16-strcpy-tests: Likewise.
51420         * modules/unistr/u16-strdup-tests: Likewise.
51421         * modules/unistr/u16-strlen-tests: Likewise.
51422         * modules/unistr/u16-strmblen-tests: Likewise.
51423         * modules/unistr/u16-strmbtouc-tests: Likewise.
51424         * modules/unistr/u16-strncat-tests: Likewise.
51425         * modules/unistr/u16-strncmp-tests: Likewise.
51426         * modules/unistr/u16-strncpy-tests: Likewise.
51427         * modules/unistr/u16-strnlen-tests: Likewise.
51428         * modules/unistr/u16-to-u32-tests: Likewise.
51429         * modules/unistr/u16-to-u8-tests: Likewise.
51430         * modules/unistr/u16-uctomb-tests: Likewise.
51431         * modules/unistr/u32-check-tests: Likewise.
51432         * modules/unistr/u32-chr-tests: Likewise.
51433         * modules/unistr/u32-cmp-tests: Likewise.
51434         * modules/unistr/u32-cmp2-tests: Likewise.
51435         * modules/unistr/u32-cpy-alloc-tests: Likewise.
51436         * modules/unistr/u32-cpy-tests: Likewise.
51437         * modules/unistr/u32-mblen-tests: Likewise.
51438         * modules/unistr/u32-mbsnlen-tests: Likewise.
51439         * modules/unistr/u32-mbtouc-tests: Likewise.
51440         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
51441         * modules/unistr/u32-mbtoucr-tests: Likewise.
51442         * modules/unistr/u32-move-tests: Likewise.
51443         * modules/unistr/u32-next-tests: Likewise.
51444         * modules/unistr/u32-prev-tests: Likewise.
51445         * modules/unistr/u32-set-tests: Likewise.
51446         * modules/unistr/u32-stpcpy-tests: Likewise.
51447         * modules/unistr/u32-stpncpy-tests: Likewise.
51448         * modules/unistr/u32-strcat-tests: Likewise.
51449         * modules/unistr/u32-strcmp-tests: Likewise.
51450         * modules/unistr/u32-strcoll-tests: Likewise.
51451         * modules/unistr/u32-strcpy-tests: Likewise.
51452         * modules/unistr/u32-strdup-tests: Likewise.
51453         * modules/unistr/u32-strlen-tests: Likewise.
51454         * modules/unistr/u32-strmblen-tests: Likewise.
51455         * modules/unistr/u32-strmbtouc-tests: Likewise.
51456         * modules/unistr/u32-strncat-tests: Likewise.
51457         * modules/unistr/u32-strncmp-tests: Likewise.
51458         * modules/unistr/u32-strncpy-tests: Likewise.
51459         * modules/unistr/u32-strnlen-tests: Likewise.
51460         * modules/unistr/u32-to-u16-tests: Likewise.
51461         * modules/unistr/u32-to-u8-tests: Likewise.
51462         * modules/unistr/u32-uctomb-tests: Likewise.
51463         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
51464         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
51465         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
51466         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
51467         * modules/uniwidth/u8-strwidth-tests: Likewise.
51468         * modules/uniwidth/u8-width-tests: Likewise.
51469         * modules/uniwidth/u16-strwidth-tests: Likewise.
51470         * modules/uniwidth/u16-width-tests: Likewise.
51471         * modules/uniwidth/u32-strwidth-tests: Likewise.
51472         * modules/uniwidth/u32-width-tests: Likewise.
51473         * modules/uniwidth/width-tests: Likewise.
51475 2010-05-18  Richard Jones  <rjones@redhat.com>
51477         doc: users.txt: list hivex
51478         * users.txt: Add hivex.
51480 2010-05-18  Richard Jones  <rjones@redhat.com>
51482         doc: users.txt: list febootstrap
51483         * users.txt: Add febootstrap.
51485 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
51487         bootstrap: fix an error when gnulib is not used as a git submodule
51488         * build-aux/bootstrap (gnulib_path): If its length is zero then
51489         assign "gnulib" to it.
51490         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
51492 2010-05-16  Bruno Haible  <bruno@clisp.org>
51494         Avoid autoconf warnings about AM_ICONV.
51495         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
51496         2.64.
51498 2010-05-16  Bruno Haible  <bruno@clisp.org>
51500         absolute-header: Make the macro usable in more situations.
51501         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
51502         from gl_ABSOLUTE_HEADER.
51503         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
51505 2010-05-16  James Youngman  <jay@gnu.org>
51507         doc: update users.txt
51508         * users.txt: Add CSSC.
51510 2010-05-16  Jim Meyering  <meyering@redhat.com>
51512         init.sh: fix an error in the previous change; add more comments
51513         * tests/init.sh: Compare exit code in loop against 9, not 2.
51514         Patch by Bruno Haible.
51515         Make the two tests more similar by adding an empty "then" clause.
51516         Add comments.
51518         init.sh: avoid unnecessary shell re-exec
51519         * tests/init.sh: Improve the re-exec-required check to first test the
51520         current shell.  If it passes the test, do not search for a shell that
51521         does pass, and do not re-exec.  This test is particularly contorted to
51522         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
51523         of $(...) evokes a syntax error and causes immediate shell exit with
51524         status 2.  Bruno Haible reported that the re-exec made it impossible
51525         to single-step through any init.sh-using script.
51527 2010-05-16  Bruno Haible  <bruno@clisp.org>
51529         Fix collision between gnulib's and libintl's printf replacements.
51530         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
51531         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
51532         (printf): When using GNU C, map the __printf__ function to rpl_printf
51533         via __asm__. When not using GNU C, define rpl_printf instead of
51534         __printf__.
51535         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
51536         commit.
51537         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
51538         commit.
51539         * m4/asm-underscore.m4: New file.
51540         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
51541         * modules/stdio (Files): Add m4/asm-underscore.m4.
51542         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
51543         Reported by Ben Pfaff.
51545 2010-05-16  Bruno Haible  <bruno@clisp.org>
51547         verify: Avoid skipping the test on openSUSE 11.0.
51548         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
51550 2010-05-13  Bruno Haible  <bruno@clisp.org>
51552         Avoid useless warnings from G++.
51553         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
51554         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
51555         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51557 2010-05-11  Jim Meyering  <meyering@redhat.com>
51559         maint.mk: tweak preceding change
51560         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
51561         regexps tighter by anchoring at EOL, and make the new group "shy"
51562         for slightly decreased overhead.
51564 2010-05-11  Eric Blake  <eblake@redhat.com>
51566         maint.mk: gnulib doesn't guarantee NSIG
51567         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
51569 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51571         test-pwrite.c: Remove unused variable declaration.
51572         * tests/test-pwrite.c (main): Remove read_buf declaration.
51574         Remove useless test-pwrite.sh file.
51575         * tests/test-pwrite.sh: Delete file.
51576         * modules/pwrite-tests: Remove references.
51577         Reported by Bruno Haible.
51579 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51581         init.sh: fix a typo
51582         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
51584 2010-05-10  Jim Meyering  <meyering@redhat.com>
51586         maint.mk: avoid using a temporary file in the always-defined-macros check
51587         * top/maint.mk (.re-defmac): Remove rule.
51588         (gl_trap_): Remove definition.
51589         (sc_prohibit_always-defined_macros): Rewrite not to create and
51590         depend on a temporary file.  Instead, depend on GNU grep's ability
51591         to read a list of regular expressions from stdin when given "-f -".
51593 2010-05-09  Bruno Haible  <bruno@clisp.org>
51595         Update to GNU gettext 0.18, part 1.
51596         * m4/gettext.m4: Update to GNU gettext 0.18.
51597         * m4/intl.m4: Likewise.
51598         * m4/po.m4: Likewise.
51599         * modules/gettext (Files): Add m4/fcntl-o.m4.
51600         (configure.ac): Require gettext infrastructure from version 0.18.
51602 2010-05-09  Jim Meyering  <meyering@redhat.com>
51604         init.sh: enable MALLOC_PERTURB_
51605         * tests/init.sh: Enable glibc's malloc-perturbing option.
51607         maint.mk: improve sc_cross_check_PATH_usage_in_tests
51608         With my recent change in init.sh from the two-line form:
51609             -#   : ${srcdir=.}
51610             -#   . "$srcdir/init.sh"; path_prepend_ .
51611             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
51612         I noticed that using the one-line form would cause this test
51613         to fail with a false-positive, or to stop working altogether,
51614         depending on whether help-version changed or all the tests did.
51615         * top/maint.mk (_hv_regex): Remove this definition.
51616         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
51617         (_hv_regex_strong): Use a stronger regex to check for conformance.
51618         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51619         Give a separate diagnostic for lack of conforming use.
51621         maint.mk: prohibit definition of symbols defined by gnulib
51622         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
51623         definition of symbols defined by gnulib.
51625 2010-05-09  Bruno Haible  <bruno@clisp.org>
51627         acl: Avoid test failure on Cygwin-hosted mingw.
51628         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
51630 2010-05-09  Bruno Haible  <bruno@clisp.org>
51632         error: Use system's fcntl function.
51633         * lib/error.c (fcntl): Undefine.
51635 2010-05-09  Jim Meyering  <meyering@redhat.com>
51637         verify: adjust formatting to be more consistent
51638         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
51639         argument-list '('s, and after one comma.
51641 2010-05-09  Bruno Haible  <bruno@clisp.org>
51643         error: More reliable output on mingw.
51644         * lib/error.c: Include <windows.h>.
51645         (is_open): New function.
51646         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
51647         defined.
51649 2010-05-09  Bruno Haible  <bruno@clisp.org>
51651         vasnprintf: Fix syntax errors in libintl build on mingw.
51652         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
51653         pad_ourselves and prec_ourselves after use.
51655 2010-05-08  Bruno Haible  <bruno@clisp.org>
51657         * lib/config.charset: Update comments for Cygwin 1.7.
51658         * lib/localcharset.c: Likewise.
51660 2010-05-07  Jim Meyering  <meyering@redhat.com>
51662         init.sh: improve comments
51663         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
51664         . "${srcdir=.}/init.sh"; path_prepend_ .
51665         Add a note about path_prepend_ and the alternative of using
51666         TESTS_ENVIRONMENT.
51668 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
51670         exclude: Unescape hashed patterns in wildcard mode.
51671         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
51672         to the hash list.
51673         * tests/test-exclude8.sh: New test case.
51674         * modules/exclude-tests: Add new test.
51676 2010-05-05  Eric Blake  <eblake@redhat.com>
51678         verify: automate tests
51679         * modules/verify-tests: New module.
51680         * tests/test-verify.sh: New file.
51681         * tests/test-verify.c: Guard each negative test with a unique id.
51682         Also avoid warning about unused left hand of comma expressions.
51684 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
51686         Further improvements to verify.h, suggested by Eric Blake.
51687         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
51688         the GL_* versions, to avoid collision with OpenGL.
51689         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
51690         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
51691         than testing merely whether it's defined.
51693         Modify verify.h to pacify gcc -Wredundant_decls.
51694         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
51695         These use the prefix "GL_" since they're likely to be useful elsewhere.
51696         We may need to break them out into a different .h file.
51697         (__COUNTER__): Define to 0 if the compiler doesn't support it.
51698         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
51699         of verify_function__.
51701 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51703         Tests for module pwrite.
51704         * modules/pwrite-tests: New file.
51705         * tests/test-pwrite.sh: New file.
51706         * tests/test-pwrite.c: New file.
51708         New module pwrite.
51709         * lib/unistd.in.h (pwrite): New declaration.
51710         * lib/pwrite.c: New file, from glibc with modifications.
51711         * m4/pwrite.m4: New file.
51712         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
51713         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
51714         REPLACE_PWRITE.
51715         * modules/pwrite: New file.
51716         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
51717         REPLACE_PWRITE.
51718         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
51719         * doc/posix-functions/pwrite.texi: Mention the new module.
51721 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51723         pread: Update documentation.
51724         * doc/posix-functions/pread.texi: Mention the 'pread' module.
51726 2010-05-04  Eric Blake  <eblake@redhat.com>
51728         docs: update cygwin progress
51729         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
51730         this bug.
51731         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
51732         Added in cygwin 1.7.2.
51733         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
51734         Likewise.
51735         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
51736         Likewise.
51737         * doc/glibc-functions/dup3.texi (dup3): Likewise.
51738         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51739         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51740         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51741         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51742         Mention nproc module.
51743         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51744         bug in cygwin 1.7.5 addition.
51745         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51746         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51747         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51748         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51749         1.7.5.
51750         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51751         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51752         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51753         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51754         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51755         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51756         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51757         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51758         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51759         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51760         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51761         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51762         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51763         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51764         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51765         Likewise.
51766         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51767         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51768         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51769         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51770         Likewise.
51771         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51772         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51773         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51774         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51775         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51776         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51777         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51778         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51779         Likewise.
51780         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51781         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51782         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51783         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51784         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51785         Likewise.
51786         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51787         Likewise.
51788         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51789         Likewise.
51790         * doc/glibc-functions/xdrrec_endofrecord.texi
51791         (xdrrec_endofrecord): Likewise.
51792         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51793         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51794         Likewise.
51795         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51796         Likewise.
51798 2010-05-04  Jim Meyering  <meyering@redhat.com>
51800         gendocs.sh: make its "-s FILE" option more useful
51801         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51802         $PACKAGE to reflect the probably-different basename of "FILE".
51804 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51806         bootstrap: don't ignore download_po_files failure
51807         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51808         failure.
51810 2010-05-03  Jim Meyering  <meyering@redhat.com>
51812         maint.mk: allow to pass options to gendocs.sh
51813         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51814         (gendocs_options_): New overridable variable.
51816         gnu-web-doc-update: don't ignore configure or build failure
51817         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51819         announce-gen: backslash-escape '@'s in --help output
51820         * build-aux/announce-gen: Fix syntax errors.
51822         maint.mk, announce-gen: allow project-specific announcement mail headers
51823         * top/maint.mk (translation_project_): Define default.
51824         (announcement_Cc_, announcement_mail_headers_): Likewise.
51825         (announcement): Invoke announce-gen with new --mail-headers option.
51826         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51828         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51829         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51830         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51831         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51832         line in the "err2" output file when running "make check" in verbose
51833         mode (i.e., with set -x enabled).
51835 2010-05-03  Bruno Haible  <bruno@clisp.org>
51837         wctob: Fix for weird platforms.
51838         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51839         argument value.
51841 2010-05-03  Jim Meyering  <meyering@redhat.com>
51843         maint.mk: prohibit unwarranted use of <strings.h>
51844         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51845         strings.h in a file that does not also use strcasecmp, strncasecmp,
51846         ffs or ffsll.
51848         maint.mk: remove obsolete comments
51849         * top/maint.mk: Remove stale, commented-out rules.
51851 2010-05-02  Bruno Haible  <bruno@clisp.org>
51853         wcwidth: Declare also when it's aliased.
51854         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51855         macro.
51857 2010-05-02  Bruno Haible  <bruno@clisp.org>
51859         Fix regression from 2010-04-25.
51860         * gnulib-tool (func_modules_transitive_closure): Check the status of
51861         all modules, not only of the tests that are of the form foo-tests where
51862         foo is a module.
51864 2010-05-02  Bruno Haible  <bruno@clisp.org>
51866         wctob: Work around nasty Cygwin 1.7.2 bug.
51867         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51868         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51870 2010-05-01  Bruno Haible  <bruno@clisp.org>
51872         fpurge: Sharper test.
51873         * tests/test-fpurge.c (main): Add one more ftell check.
51874         * modules/fpurge-tests (Depends-on): Add ftell.
51875         Suggested by Eric Blake.
51877 2010-05-01  Bruno Haible  <bruno@clisp.org>
51879         ftello: Another test.
51880         * tests/test-ftello3.c: New file.
51881         * modules/ftello-tests (Files): Add it.
51882         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51883         MOSTLYCLEANFILES.
51885         ftell: Another test.
51886         * tests/test-ftell3.c: New file.
51887         * modules/ftell-tests (Files): Add it.
51888         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51889         MOSTLYCLEANFILES.
51891 2010-05-01  Bruno Haible  <bruno@clisp.org>
51893         ftell, ftello: Work around Solaris bug.
51894         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51895         * lib/ftello.c: Include stdio-impl.h.
51896         (ftello): On Solaris, when _IOWRT is set, compute the result without
51897         looking at _IOREAD.
51898         * modules/ftello (Files): Add lib/stdio-impl.h.
51899         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51900         * doc/posix-functions/ftello.texi: Likewise.
51901         Reported by Eric Blake.
51903 2010-05-01  Bruno Haible  <bruno@clisp.org>
51905         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51906         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51907         the _IOWRT flag is also set.
51909 2010-05-01  Bruno Haible  <bruno@clisp.org>
51911         Fix doc about a HP-UX stdio bug.
51912         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51913         * doc/posix-functions/ftello.texi: Likewise.
51915 2010-05-01  Bruno Haible  <bruno@clisp.org>
51917         lseek test: Fix failure on Solaris.
51918         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51919         output.
51921 2010-04-30  Jim Meyering  <meyering@redhat.com>
51923         bootstrap: don't ignore failure to generate po*/Makevars
51924         * build-aux/bootstrap (with_gettext): Don't ignore failure
51925         to create po/Makevars or runtime-po/Makevars.
51927 2010-04-29  Eric Blake  <eblake@redhat.com>
51929         headers: relax license to LGPLv2+
51930         * modules/fcntl-h (License): Relax license.
51931         * modules/getopt-posix (License): Likewise.
51932         * modules/locale (License): Likewise.
51933         * modules/math (License): Likewise.
51934         * modules/pty (License): Likewise.
51935         * modules/sched (License): Likewise.
51936         * modules/search (License): Likewise.
51937         * modules/spawn (License): Likewise.
51938         * modules/stdarg (License): Likewise.
51939         * modules/sysexits (License): Likewise.
51941 2010-04-29  Jim Meyering  <meyering@redhat.com>
51943         inttypes: relax license to LGPLv2+
51944         * modules/inttypes (License): Relax license.
51946 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51948         * top/maint.mk (indent): Run twice to produce idempotent results.
51950 2010-04-28  Bruno Haible  <bruno@clisp.org>
51952         getdate: Generate getdate.c in the source directory.
51953         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51954         MOSTLYCLEANFILES.
51955         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51957 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51959         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51960         is not declared as a const *; avoid warnings in that case.
51962 2010-04-28  Eric Blake  <eblake@redhat.com>
51964         canonicalize-lgpl: avoid compiler warning
51965         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
51966         declaration' / 'extraneous semicolon' warning with some compilers.
51967         Reported by Andreas Gruenbacher.
51969 2010-04-28  Jim Meyering  <meyering@redhat.com>
51971         init.sh: ensure a more reliable exit status when exiting via trap
51972         * tests/init.sh (setup_): Don't rely on $? in signal handler.
51973         Inspired by patches from Dmitry V. Levin.
51974         Also trap on signal 3 (SIGQUIT).
51976 2010-04-27  Bruno Haible  <bruno@clisp.org>
51978         Update doc about utimes().
51979         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
51980         'utimens' module.
51981         Reported by Andreas Gruenbacher <agruen@suse.de>.
51983 2010-04-27  Eric Blake  <eblake@redhat.com>
51985         full-read, full-write: relax license
51986         * modules/full-read (License): Drop to LGPLv2+.
51987         * modules/full-write (License): Likewise.
51988         * modules/safe-read (License): Likewise.
51989         * modules/safe-write (License): Likewise.
51991         pthread: mention library for linking
51992         * modules/pthread (Link): Mention $(LIB_PTHREAD).
51994 2010-04-27  Jim Meyering  <meyering@redhat.com>
51996         maint.mk: fix a bug introduced in last change
51997         * top/maint.mk (gl_assured_headers_): Now that all names are on
51998         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
51999         is not anchored to end of word, it should be adequate.
52001         maint.mk: avoid side-effect in latest syntax-check
52002         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
52003         to run commands via $(shell...), and hence to incur cost only when
52004         the new rule is actually run.
52006         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
52007         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
52008         and use that to create a regexp used to detect all #if HAVE_..._H uses.
52009         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
52010         (gl_assured_headers_, az_, AZ_): Define.
52011         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
52013 2010-04-26  Jim Meyering  <jim@meyering.net>
52014             Bruno Haible  <bruno@clisp.org>
52016         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
52017         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
52018         Prompted by an exchange with Gilles Espinasse.
52020 2010-04-26  Jim Meyering  <meyering@redhat.com>
52022         git-version-gen: aesthetic tweak
52023         * build-aux/git-version-gen: Use "$nl" rather than a literal,
52024         so that the command remains on a single line.
52026 2010-04-26  Eric Blake  <eblake@redhat.com>
52028         git-version-gen: allow use on EBCDIC hosts
52029         * build-aux/git-version-gen (dirty): Use literal rather than tying
52030         ourselves to ascii.
52031         Reported by Steve Goetze.
52033 2010-04-25  Bruno Haible  <bruno@clisp.org>
52035         netdb: Add support for GNULIB_POSIXCHECK.
52036         * lib/netdb.in.h: Include warn-on-use.h.
52037         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
52038         functions are used when GNULIB_POSIXCHECK is defined and the
52039         getaddrinfo module is not in use.
52040         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
52041         freeaddrinfo, gai_strerror, getnameinfo are declared.
52042         * modules/netdb (Depends-on): Add warn-on-use.
52043         (Makefile.am): Include warn-on-use.h in netdb.h.
52045 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
52047         build: avoid "make check" failure without .git/ directory
52048         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
52049         there is no .git/ directory.
52051 2010-04-25  Bruno Haible  <bruno@clisp.org>
52053         ptsname: Fix misuse of ttyname_r.
52054         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
52055         of errno.
52057 2010-04-25  Bruno Haible  <bruno@clisp.org>
52059         ttyname_r: Make it work on Solaris 10.
52060         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
52061         if the system function has the POSIX declaration. Test whether the
52062         function fails if the buffer is less than 128 bytes large.
52063         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
52064         system's ttyname_r function. Provide a reasonably large buffer.
52065         * modules/ttyname_r (Depends-on): Add extensions.
52066         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
52068 2010-04-25  Bruno Haible  <bruno@clisp.org>
52070         Use the 'extensions' module for some more functions on Solaris.
52071         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
52072         module.
52073         * doc/posix-functions/ctime_r.texi: Likewise.
52074         * doc/posix-functions/getgrgid_r.texi: Likewise.
52075         * doc/posix-functions/getgrnam_r.texi: Likewise.
52076         * doc/posix-functions/getpwnam_r.texi: Likewise.
52077         * doc/posix-functions/getpwuid_r.texi: Likewise.
52078         * doc/posix-functions/readdir_r.texi: Likewise.
52079         * doc/posix-functions/sigwait.texi: Likewise.
52080         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
52081         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
52083 2010-04-25  Bruno Haible  <bruno@clisp.org>
52085         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
52086         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
52087         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
52088         * lib/ttyname_r.c: Include <limits.h>.
52089         (ttyname_r): Define using the system's ttyname_r function, if it exists
52090         and not on Solaris.
52091         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
52092         set.
52093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
52094         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
52095         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
52096         Reported by Simon Josefsson.
52098 2010-04-25  Bruno Haible  <bruno@clisp.org>
52100         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
52101         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
52102         * doc/posix-functions/ctime_r.texi: Likewise.
52103         * doc/posix-functions/getgrgid_r.texi: Likewise.
52104         * doc/posix-functions/getgrnam_r.texi: Likewise.
52105         * doc/posix-functions/getlogin_r.texi: Likewise.
52106         * doc/posix-functions/getpwnam_r.texi: Likewise.
52107         * doc/posix-functions/getpwuid_r.texi: Likewise.
52108         * doc/posix-functions/readdir_r.texi: Likewise.
52109         * doc/posix-functions/sigwait.texi: Likewise.
52110         * doc/posix-functions/ttyname_r.texi: Likewise.
52111         Reported by Simon Josefsson.
52113 2010-04-25  Bruno Haible  <bruno@clisp.org>
52115         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
52116         * gnulib-tool (func_usage): Document that --with-*-tests options apply
52117         also to --create-testdir.
52118         (func_acceptable): Don't consider the status of *-tests modules here.
52119         (func_modules_transitive_closure): Consider it here, before including a
52120         test module.
52121         (func_import, func_create_testdir): Set inc_all_direct_tests,
52122         inc_all_indirect_tests.
52123         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
52124         --create-testdir and --create-megatestdir.
52126 2010-04-25  Bruno Haible  <bruno@clisp.org>
52128         gnulib-tool: Add --without-*-tests options.
52129         * gnulib-tool (func_usage): Document the --without-*-tests options.
52130         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
52131         excl_unportable_tests): New variables.
52132         Fail if they are specified with --import or --update.
52133         (func_acceptable): Respect the excl_*_tests variables.
52134         (func_import): Set the excl_*_tests variables to empty.
52136 2010-04-25  Simon Josefsson  <simon@josefsson.org>
52137             Bruno Haible  <bruno@clisp.org>
52139         Work around a MacOS X 10.4 bug with openpty.
52140         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
52141         * tests/test-openpty.c (main): Close the master side explicitly.
52143 2010-04-25  Bruno Haible  <bruno@clisp.org>
52145         strnlen: Fix a C++ test error on MacOS X and Solaris.
52146         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
52147         the function is not declared.
52148         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
52149         Simon Josefsson.
52151 2010-04-24  Bruno Haible  <bruno@clisp.org>
52153         Avoid a gcc warning.
52154         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
52155         of correct type for %08lx directive.
52156         Reported by Eric Blake.
52158 2010-04-24  Bruno Haible  <bruno@clisp.org>
52160         vasnprintf: Correct errno value in case of out-of-memory.
52161         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
52162         or sprintf. Use the errno value from SNPRINTF or sprintf.
52163         Reported by Ian Beckwith <ianb@erislabs.net>.
52165 2010-04-24  Bruno Haible  <bruno@clisp.org>
52167         ansi-c++-opt: Find correct compiler when cross-compiling.
52168         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
52169         AC_CHECK_PROGS.
52170         Reported by Simon Josefsson.
52172 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
52174         vc-list-files: Add support for subversion
52175         * build-aux/vc-list-files: Use "svn list" to generate the list of
52176         files controlled by subversion.
52178 2010-04-23  Jim Meyering  <meyering@redhat.com>
52180         vc-list-files tests: convert to use init.sh
52181         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
52182         path_prepend_.
52183         Use Exit, not exit.
52184         Use skip_ rather than open coding it.
52185         Remove trap set-up and compare definitions.
52186         * tests/test-vc-list-files-git.sh: Likewise.
52187         * modules/vc-list-files-tests (Files): Add tests/init.sh.
52189 2010-04-22  Simon Josefsson  <simon@josefsson.org>
52191         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
52192         backup files.
52194 2010-04-21  Simon Josefsson  <simon@josefsson.org>
52196         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
52198 2010-04-20  Eric Blake  <eblake@redhat.com>
52200         tests: be robust to ignored SIGPIPE
52201         * tests/test-select-in.sh: Consume all output.
52202         * tests/test-lseek.sh: Check correct exit status, while avoiding
52203         EPIPE.
52205 2010-04-20  Simon Josefsson  <simon@josefsson.org>
52206             Bruno Haible  <bruno@clisp.org>
52208         visibility: Don't use -fvisibility if it leads to a warning.
52209         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
52210         yes, don't pretend that visibility works if it leads to a warning.
52211         Reported by Mike Gran <spk121@yahoo.com>.
52213 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
52215         * build-aux/bootstrap: Use "git -h" for testing for supported options
52216         instead of "git --help".  The short-form option only shows a summary,
52217         and doesn't layout the full man page.  Grep for the full option name
52218         in the summary, too.
52220 2010-04-19  Bruno Haible  <bruno@clisp.org>
52222         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
52223         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
52224         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
52225         mention of RELOCATABLE_STRIP.
52226         Reported by Sylvain Beucler <beuc@beuc.net>.
52228 2010-04-19  Bruno Haible  <bruno@clisp.org>
52230         * lib/diffseq.h: Fix typo in comment.
52231         Reported by Eric Blake.
52233 2010-04-19  Bruno Haible  <bruno@clisp.org>
52235         ioctl: Move autoconf macro to a .m4 file.
52236         * m4/ioctl.m4: New file, extracted from modules/ioctl.
52237         * modules/ioctl (Files): Add it.
52238         (configure.ac): Simply invoke gl_FUNC_IOCTL.
52239         Reported by Ian Beckwith <ianb@erislabs.net>.
52241 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
52242             Bruno Haible  <bruno@clisp.org>
52244         diffseq: Accommodate use-case with abstract arrays.
52245         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
52246         is not defined.
52247         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
52248         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
52250 2010-04-18  Bruno Haible  <bruno@clisp.org>
52252         * doc/posix-headers/stdbool.texi: More precise wording.
52254 2010-04-17  Jim Meyering  <meyering@redhat.com>
52256         maint.mk: use gnu-style indentation in an embedded perl script
52257         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
52258         Rename variable: s/two/last_two_bytes/
52260 2010-04-16  Eric Blake  <eblake@redhat.com>
52262         test-stdbool: skip test that fails with Solaris CC
52263         * tests/test-stdbool.c (f): Skip test that causes compilation
52264         error under buggy C++ compiler.
52265         * lib/stdbool.in.h: Document the limitation.
52266         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
52268         setenv: allow compilation with C++
52269         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
52270         register keyword.
52272         stdint: allow test to pass with C++
52273         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
52275         getopt: allow compilation with C++
52276         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
52277         struct.
52278         * lib/getopt.c (_getopt_internal_r): Use correct type.
52279         Reported by Dagobert Michelson, via Joel E. Denny.
52281 2010-04-16  Bruno Haible  <bruno@clisp.org>
52283         Override netdb.h always.
52284         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
52285         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
52286         Reported by Ludovic Courtès <ludo@gnu.org>.
52288 2010-04-15  Bruno Haible  <bruno@clisp.org>
52290         openpty: Fix mistake from 2010-03-21.
52291         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
52292         Reported by Simon Josefsson.
52294 2010-04-15  Eric Blake  <eblake@redhat.com>
52296         test-forkpty: fix expected signature
52297         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
52298         Reported by Simon Josefsson.
52300 2010-04-15  Jim Meyering  <meyering@redhat.com>
52302         maint.mk: texinfo_suffix_re_: correct the default regexp
52303         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
52305         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
52306         make it configurable via texinfo_suffix_re_.
52308 2010-04-14  Eric Blake  <eblake@redhat.com>
52310         strtok_r: relax license to LGPLv2+
52311         * modules/strtok_r (License): Relax license.
52312         Reported by Matthias Bolte.
52314 2010-04-14  Simon Josefsson  <simon@josefsson.org>
52316         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
52317         version 1.4.4 by default instead of requiring the libgcrypt
52318         version used during build.  This makes it possible to use the
52319         application with older but still binary compatible libgcrypt
52320         versions.
52322 2010-04-13  Eric Blake  <eblake@redhat.com>
52324         getopt-gnu: match recent glibc fixes and posix ruling
52325         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
52326         '+' handling, when requesting extensions.
52327         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
52328         'W;' handling.
52329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
52330         * doc/posix-functions/getopt.texi (getopt): Document this.
52331         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52332         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52333         Likewise.
52335         getopt: merge bug fixes from glibc
52336         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
52337         diagnostics.  Honor '+:' correctly.  Reject ';'.
52339         getopt-posix: detect MacOS bug
52340         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
52341         optind when missing a required argument.
52342         * doc/posix-functions/getopt.texi (getopt): Document the bug.
52343         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52344         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52345         Likewise.
52347         getopt-posix: avoid spurious failure on Solaris
52348         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
52349         an indicator that setting optind=1 is sufficient for reset.
52351         getopt-posix: avoid spurious failure on FreeBSD
52352         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
52353         in POSIX mode, since the m4 test uses it.
52355         gnulib-tool: silence warning on BSD sh
52356         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
52358 2010-04-13  Jim Meyering  <meyering@redhat.com>
52360         doc: users.txt: GNU patch now uses gnulib
52361         * users.txt: Add patch.
52363 2010-04-12  Jim Meyering  <meyering@redhat.com>
52365         maint.mk: generate more concise timing data for syntax-check rules
52366         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
52367         " done" from each line that reports a syntax-check test duration.
52369 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
52371         git-version-gen: use "git update-index..." rather than "git status"
52372         * build-aux/git-version-gen: Use git update-index --refresh, not
52373         "git status".  With some versions of git, "git status" would fail
52374         to update the index and result in an unwarranted "-dirty" suffix.
52376 2010-04-11  Jim Meyering  <meyering@redhat.com>
52378         openat: correct formatting (no semantic change)
52379         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
52380         Suggested by Bruno Haible.
52382 2010-04-11  Bruno Haible  <bruno@clisp.org>
52384         Stricter declaration checking in testdirs.
52385         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52386         If for_tests is true, augment AM_CPPFLAGS to define
52387         GNULIB_STRICT_CHECKING.
52388         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
52389         GNULIB_STRICT_CHECKING is defined, verify that the function is
52390         declared.
52392 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
52393             Bruno Haible  <bruno@clisp.org>
52395         libunistring: Improve configure output.
52396         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
52397         Don't say "consider installing GNU libunistring" when checking again
52398         with libiconv.
52400 2010-04-11  Bruno Haible  <bruno@clisp.org>
52402         libunistring: Correct value of $LTLIBUNISTRING.
52403         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
52404         correct the value of $LTLIBUNISTRING.
52406 2010-04-11  Bruno Haible  <bruno@clisp.org>
52408         havelib: Add static libraries to LIBS in the right order.
52409         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
52410         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
52412 2010-04-11  Bruno Haible  <bruno@clisp.org>
52414         libunistring: Detect libunistring also when it depends on libiconv.
52415         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
52416         the second AC_LIB_HAVE_LINKFLAGS invocation.
52418 2010-04-11  James Youngman  <jay@gnu.org>
52420         close-stream: declare local scalars to be "const"
52421         * lib/close-stream.c (close_stream): Make boolean variables const
52422         to document the fact that we set but do not change them.
52424 2010-04-11  Bruno Haible  <bruno@clisp.org>
52426         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
52428 2010-04-11  Jim Meyering  <meyering@redhat.com>
52430         maint.mk: don't include dist-check.mk
52431         * top/maint.mk: Remove bogus include directive.
52433         maint.mk: improve empty-line-at-EOF check
52434         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
52435         solution, rather than tail+Perl-based one.  The latter would read
52436         a few kilobytes from the end of each file, and did not handle empty
52437         files properly.
52439         maint.mk: print the elapsed time for each syntax-check rule
52440         * top/maint.mk (sc_m_rules_): Save start time in a file.
52441         (sc_z_rules_): New rules: remove temp file and print elapsed time.
52442         (local-check): Interpose the .z rules
52444 2010-04-11  Jim Meyering  <meyering@redhat.com>
52446         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
52447         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
52448         empty file with one that ends in an empty line.
52450 2010-04-10  Bruno Haible  <bruno@clisp.org>
52452         mkdir: Make it work on mingw64.
52453         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
52454         * lib/mkdir.c: Update comment.
52455         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
52457 2010-04-10  Bruno Haible  <bruno@clisp.org>
52459         Don't override improved macro from newer autoconf.
52460         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
52461         autoconf >= 2.62.
52462         Reported by Joel E. Denny <jdenny@clemson.edu>.
52464 2010-04-10  Jim Meyering  <meyering@redhat.com>
52466         maint.mk: new syntax-check rule: prohibit empty lines at end of file
52467         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
52469         maint.mk: correct a diagnostic
52470         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
52471         in diagnostic; now use $prohibit.
52473 2010-04-10  Bruno Haible  <address@hidden>
52475         fchownat: Fix a C++ test error on Solaris 8.
52476         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
52477         the function does not exist.
52479 2010-04-10  Bruno Haible  <bruno@clisp.org>
52481         vasnprintf: Add more tests.
52482         * tests/test-vasnprintf-posix.c: Include <errno.h>.
52483         (test_function): Test converting an invalid wide string.
52485         vasnprintf: Correct handling of unconvertible wide string arguments.
52486         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
52487         VASNPRINTF.
52488         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
52489         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
52490         smaller than the expected maximum need for the directive. Set errno to
52491         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
52492         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
52493         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
52494         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
52495         * modules/vasnprintf (Files): Add m4/printf.m4.
52496         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52498 2010-04-10  Bruno Haible  <bruno@clisp.org>
52500         vasnprintf: Fix crash in %ls directive.
52501         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
52502         string is passed as argument to %ls, with no precision and no width.
52503         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52505 2010-04-10  Bruno Haible  <bruno@clisp.org>
52507         vasnprintf: Fix multiple test failures on mingw.
52508         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
52509         _snprintf, or snwprintf, not _snwprintf.
52511 2010-04-10  Bruno Haible  <bruno@clisp.org>
52513         write: Fix a C++ test error on mingw.
52514         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
52516 2010-04-10  Bruno Haible  <bruno@clisp.org>
52518         vasnprintf test: Reduce code duplication.
52519         * tests/test-vasnprintf.c (test_function): New function, extracted from
52520         test_vasnprintf.
52521         (test_vasnprintf, test_asnprintf): Invoke it.
52523 2010-04-10  Bruno Haible  <bruno@clisp.org>
52525         strnlen: Fix warning in C++ mode on MacOS X.
52526         * lib/string.in.h (strnlen): Use the modern idiom.
52527         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
52528         defining strnlen as a macro already in <config.h>.
52529         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52530         REPLACE_STRNLEN.
52531         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
52532         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52534 2010-04-08  James Youngman  <jay@gnu.org>
52536         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
52537         the example.
52539 2010-04-09  Jim Meyering  <meyering@redhat.com>
52541         maint.mk: print better diagnostic when there is no $(_hv_file)
52542         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
52543         announce that when $(_hv_file) (aka help-version) does not exist.
52545         init.sh: run tr in the "C" locale to avoid multibyte interpretation
52546         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
52547         not try to interpret its random input bytes.  Jarno Rajahalme reported
52548         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
52549         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
52550         (mktempd_): Likewise, just in case.
52552         ftruncate: add two years to projected module removal date: 2012
52553         * m4/ftruncate.m4: Adjust comments.
52555         ftruncate: mark module as obsolete; even MinGW provides it, now
52556         * modules/ftruncate (Status): Obsolete.
52557         (Notice): Say that.
52558         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
52559         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
52561 2010-04-08  Bruno Haible  <bruno@clisp.org>
52563         Fix side effects from tests-related modules.
52564         * modules/dprintf-posix (Comment): New section.
52565         * modules/fprintf-posix (Comment): Likewise.
52566         * modules/obstack-printf-posix (Comment): Likewise.
52567         * modules/printf-posix (Comment): Likewise.
52568         * modules/snprintf-posix (Comment): Likewise.
52569         * modules/sprintf-posix (Comment): Likewise.
52570         * modules/vasnprintf-posix (Comment): Likewise.
52571         * modules/vasprintf-posix (Comment): Likewise.
52572         * modules/vdprintf-posix (Comment): Likewise.
52573         * modules/vfprintf-posix (Comment): Likewise.
52574         * modules/vprintf-posix (Comment): Likewise.
52575         * modules/vsnprintf-posix (Comment): Likewise.
52576         * modules/vsprintf-posix (Comment): Likewise.
52577         * modules/xprintf-posix (Comment): Likewise.
52578         * modules/xvasprintf-posix (Comment): Likewise.
52579         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
52580         * modules/floorf-tests (Depends-on): Likewise.
52581         * modules/round-tests (Depends-on): Likewise.
52582         * modules/roundf-tests (Depends-on): Likewise.
52583         * modules/trunc-tests (Depends-on): Likewise.
52584         * modules/truncf-tests (Depends-on): Likewise.
52585         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
52586         'fprintf-posix' module is not present.
52587         * tests/test-floorf2.c (check): Likewise.
52588         * tests/test-trunc2.c (check): Likewise.
52589         * tests/test-truncf2.c (check): Likewise.
52590         * tests/test-round2.c (equal): Likewise.
52591         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52593 2010-04-07  Karl Berry  <karl@gnu.org>
52595         * config/srclist.txt,
52596         * config/srclistvars.sh,
52597         * config/srclist-update: doc fixes.
52599 2010-04-07  Jim Meyering  <meyering@redhat.com>
52601         maint.mk: add a PATH crosschecking syntax-check rule
52602         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
52603         Useful if you use a test like the one in help-version (coreutils,
52604         diffutils, grep, gzip) that ensures $(VERSION) matches what is
52605         printed by prog --version.
52607 2010-04-06  Bruno Haible  <bruno@clisp.org>
52609         Fix link error on mingw.
52610         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
52611         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
52613 2010-04-06  Bruno Haible  <bruno@clisp.org>
52615         Assume rmdir exists.
52616         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
52618 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
52620         doc: update users.txt
52621         * users.txt: Add gcal.
52623 2010-04-06  Jim Meyering  <meyering@redhat.com>
52625         init.sh: simply unset TMPDIR rather than risking env -i
52626         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
52627         although it probably works fine on all Unix-based systems, some
52628         systems (Cygwin?) cannot tolerate a totally cleared environment.
52629         Suggestion from Eric Blake.
52631 2010-04-06  Jim Meyering  <meyering@redhat.com>
52633         init.sh: portability fix: use env's POSIX-specified -i option not -u
52634         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
52635         than unportable env -u.  Solaris 5.11's env lacks support for -u.
52637 2010-04-05  Bruno Haible  <bruno@clisp.org>
52639         btowc: Work around Cygwin 1.7.2 bug.
52640         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
52641         does not map NUL to 0.
52642         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
52644 2010-04-05  Bruno Haible  <bruno@clisp.org>
52646         Make the multithread modules work on Cygwin 1.7.2.
52647         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
52648         imported symbols can be declared weak, so that it returns "no" on
52649         Cygwin 1.7.2.
52651 2010-04-05  Bruno Haible  <bruno@clisp.org>
52653         Use the module 'strncat'.
52654         * modules/unistr/u8-strncat (Depends-on): Add strncat.
52656         Tests for module 'strncat'.
52657         * modules/strncat-tests: New file.
52658         * tests/test-strncat.c: New file.
52660         New module 'strncat'.
52661         * lib/string.in.h (strncat): New declaration.
52662         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
52663         * m4/strncat.m4: New file, based on m4/memchr.m4.
52664         * modules/strncat: New file.
52665         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
52666         is declared.
52667         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
52668         REPLACE_STRNCAT.
52669         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
52670         REPLACE_STRNCAT.
52671         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
52672         module.
52673         * tests/test-string-c++.cc: Check signature of strncat.
52675 2010-04-05  Jim Meyering  <meyering@redhat.com>
52677         xstrtoumax-tests: convert to use init.sh
52678         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
52679         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52680         Use Exit, not exit.
52681         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52683         xstrtoimax-tests: convert to use init.sh
52684         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
52685         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52686         Use Exit, not exit.
52687         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52689 2010-04-05  Bruno Haible  <bruno@clisp.org>
52691         sys_socket: Avoid #define replacements in C++ mode.
52692         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
52693         warning to the function if possible, rather than #defining the symbol
52694         to a dysfunctional alias.
52696 2010-04-05  Bruno Haible  <bruno@clisp.org>
52698         fseeko: Fix C++ test error on mingw.
52699         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
52700         gl_FUNC_FSEEKO.
52701         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
52702         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
52703         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
52704         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
52706 2010-04-05  Bruno Haible  <bruno@clisp.org>
52708         duplocale: Improve test output.
52709         * tests/test-duplocale.c (main): Print reason for skipped test.
52711 2010-04-05  Bruno Haible  <bruno@clisp.org>
52713         Assume rmdir exists.
52714         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
52715         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
52717 2010-04-05  Bruno Haible  <bruno@clisp.org>
52719         Fix link error on Solaris 8 with cc.
52720         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
52722 2010-04-05  Bruno Haible  <bruno@clisp.org>
52724         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52725         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
52727 2010-04-05  Bruno Haible  <bruno@clisp.org>
52729         vasprintf: Update documentation.
52730         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
52732 2010-04-05  Bruno Haible  <bruno@clisp.org>
52734         ptsname: Improve test.
52735         * tests/test-ptsname.c (main): Also try the various master names of BSD
52736         systems.
52738 2010-04-05  Bruno Haible  <bruno@clisp.org>
52740         memchr: Avoid a possible C++ test error.
52741         * lib/string.in.h (memchr): Provide declaration if function is missing.
52742         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52743         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52744         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52745         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52747 2010-04-05  Bruno Haible  <bruno@clisp.org>
52749         strtok_r: Improve idiom.
52750         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52751         AC_LIBOBJ is used.
52753 2010-04-05  Bruno Haible  <bruno@clisp.org>
52755         strdup: Improve idiom.
52756         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52757         AC_LIBOBJ is used.
52758         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52759         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52760         when AC_LIBOBJ is used.
52762 2010-04-05  Bruno Haible  <bruno@clisp.org>
52764         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52765         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52766         don't set REPLACE_MBSINIT to 1.
52767         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52768         don't set REPLACE_MBRTOWC to 1.
52769         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52770         exist, don't set REPLACE_MBSRTOWCS to 1.
52771         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52772         exist, don't set REPLACE_MBSNRTOWCS to 1.
52773         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52774         don't set REPLACE_WCRTOMB to 1.
52775         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52776         exist, don't set REPLACE_WCSRTOMBS to 1.
52777         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52778         exist, don't set REPLACE_WCSNRTOMBS to 1.
52780 2010-04-05  Bruno Haible  <bruno@clisp.org>
52782         ldexpl: Improve idiom.
52783         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52784         make sure to set HAVE_DECL_LDEXPL to 0.
52786 2010-04-05  Jim Meyering  <meyering@redhat.com>
52788         xstrtol-tests: convert to use init.sh
52789         * modules/xstrtol-tests (Files): Add tests/init.sh.
52790         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52791         Use Exit, not exit.
52792         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52794         atexit-tests: convert to use init.sh
52795         * modules/atexit-tests (Files): Add tests/init.sh.
52796         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52797         Use Exit, not exit.
52798         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52800         init.sh: fix typo
52801         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52803         init.sh: make it easier for a test script to write to the tty, ...
52804         when using automake's parallel-tests mode.
52805         * tests/init.sh (stderr_fileno_): Define overridable variable.
52806         (warn_): New function, to use it.
52807         (fail_, skip_, framework_failure_): Use warn_.
52809 2010-04-04  Bruno Haible  <bruno@clisp.org>
52811         btowc: Avoid warning.
52812         * lib/btowc.c: Include <stdlib.h>.
52813         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52815 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52816             Bruno Haible  <bruno@clisp.org>
52818         wchar: Port to NetBSD 1.5.
52819         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52820         * lib/wctype.in.h (WEOF): Likewise.
52822 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52823             Bruno Haible  <bruno@clisp.org>
52825         Port extended stdio to NetBSD 1.5.
52826         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52827         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52828         older.
52830 2010-04-04  Bruno Haible  <bruno@clisp.org>
52832         string: Remove unused substitution.
52833         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52834         HAVE_DECL_STRERROR.
52835         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52837 2010-04-04  Bruno Haible  <bruno@clisp.org>
52839         strtod: Avoid a possible C++ test error.
52840         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52841         set REPLACE_STRTOD.
52843 2010-04-04  Bruno Haible  <bruno@clisp.org>
52845         strerror: Update documentation.
52846         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52848 2010-04-04  Bruno Haible  <bruno@clisp.org>
52850         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52851         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52852         _GL_CXXALIAS_SYS_CAST.
52854 2010-04-04  Bruno Haible  <bruno@clisp.org>
52856         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52857         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52858         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52859         REPLACE_FREXPL to 1.
52860         * doc/posix-functions/frexpl.texi: Update documentation.
52862 2010-04-04  Bruno Haible  <bruno@clisp.org>
52864         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52865         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52867 2010-04-04  Bruno Haible  <bruno@clisp.org>
52869         Implement nanosleep for native Windows.
52870         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52872 2010-04-04  Bruno Haible  <bruno@clisp.org>
52874         math: Fix some C++ test errors on Solaris 8.
52875         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52877 2010-04-04  Bruno Haible  <bruno@clisp.org>
52879         math: Fix some C++ test errors on Cygwin.
52880         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52881         truncl): Provide declaration if the system does not have it.
52882         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52883         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52884         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52885         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52886         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52887         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52888         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52889         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52890         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52891         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52892         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52893         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52894         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52895         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52896         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52897         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52898         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52899         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52900         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52901         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52902         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52903         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52905 2010-04-04  Bruno Haible  <bruno@clisp.org>
52907         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52908         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52909         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52910         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52911         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52912         * m4/isinf.m4 (gl_ISINF): Likewise.
52913         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52915 2010-04-04  Bruno Haible  <bruno@clisp.org>
52917         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52918         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52920 2010-04-04  Bruno Haible  <bruno@clisp.org>
52922         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52923         * modules/tmpfile (configure.ac): Update.
52925         tmpfile: Fix C++ test error on mingw.
52926         * lib/stdio.in.h (tmpfile): New declaration.
52927         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52928         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52929         * modules/tmpfile (Depends-on): Add stdio.
52930         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52931         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52932         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52933         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52934         REPLACE_TMPFILE.
52935         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52937 2010-04-04  Bruno Haible  <bruno@clisp.org>
52939         ioctl: Fix C++ test error on mingw.
52940         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52941         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52942         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52944 2010-04-03  Bruno Haible  <bruno@clisp.org>
52946         wcwidth: Fix C++ test error on mingw.
52947         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52948         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52949         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52951 2010-04-03  Bruno Haible  <bruno@clisp.org>
52953         nanosleep: Fix C++ test error on mingw.
52954         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52955         * lib/time.in.h (nanosleep): Use modern idiom.
52956         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52957         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52958         REPLACE_NANOSLEEP to 1.
52959         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52960         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52962 2010-04-03  Bruno Haible  <bruno@clisp.org>
52964         strptime: Fix C++ test error on mingw.
52965         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
52966         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
52967         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
52968         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
52969         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
52970         not REPLACE_STRPTIME.
52971         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
52972         REPLACE_STRPTIME.
52974 2010-04-03  Bruno Haible  <bruno@clisp.org>
52976         timegm: Fix C++ test error on mingw.
52977         * lib/time.in.h (timegm): Use modern idiom.
52978         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
52979         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
52980         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
52981         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
52983 2010-04-03  Bruno Haible  <bruno@clisp.org>
52985         timegm: Assume declaration if function exists.
52986         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
52987         if it exists. Don't clobber ac_cv_func_timegm.
52989 2010-04-03  Bruno Haible  <bruno@clisp.org>
52991         time_r: Fix C++ test error on mingw.
52992         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
52993         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
52994         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
52995         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
52996         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
52998 2010-04-03  Bruno Haible  <bruno@clisp.org>
53000         time_r: Minor updates.
53001         * modules/time_r (Description): Mention the provided functions.
53002         * lib/time_r.c: Don't include <string.h>.
53003         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
53004         * doc/posix-functions/localtime_r.texi: Likewise.
53006 2010-04-03  Bruno Haible  <bruno@clisp.org>
53008         time: Fix regression introduced on 2010-03-08.
53009         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
53010         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
53012 2010-04-03  Jim Meyering  <meyering@redhat.com>
53014         maint.mk: don't silently disable project-specific syntax-check rules
53015         * top/maint.mk (_prohibit_regexp): Define, to help people realize
53016         that they need to convert their project-specific syntax-check rules
53017         to use the new _sc_search_regexp.
53019 2010-04-03  Bruno Haible  <bruno@clisp.org>
53021         fchdir: Fix regression introduced on 2010-03-08.
53022         * lib/unistd.in.h (fchdir): Fix declaration.
53023         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
53024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
53025         REPLACE_FCHDIR.
53026         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
53027         REPLACE_FCHDIR.
53029 2010-04-03  Bruno Haible  <bruno@clisp.org>
53031         getpagesize: Fix C++ test error on mingw.
53032         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
53033         system does not declare the function.
53034         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
53035         declared.
53036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53037         HAVE_DECL_GETPAGESIZE.
53038         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
53040 2010-04-03  Bruno Haible  <bruno@clisp.org>
53042         stdio: Make C++ tests work on mingw.
53043         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
53044         does not declare the function.
53046 2010-04-03  Bruno Haible  <bruno@clisp.org>
53048         ftello: Fix C++ test error on mingw.
53049         * lib/stdio.in.h (ftello): Use modern idiom.
53050         * lib/ftello.c (ftello): Renamed from rpl_ftello.
53051         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
53052         is missing and that it needs to be replaced.
53053         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
53054         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
53055         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
53057 2010-04-03  Bruno Haible  <bruno@clisp.org>
53059         fseeko: Fix C++ test error on mingw.
53060         * lib/stdio.in.h (fseeko): Use modern idiom.
53061         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
53062         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
53063         is missing and that it needs to be replaced.
53064         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
53065         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
53066         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
53068 2010-04-03  Bruno Haible  <bruno@clisp.org>
53070         mkstemp: Fix C++ test error on mingw.
53071         * lib/stdlib.in.h (mkstemp): Use modern idiom.
53072         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
53073         function is missing and that it needs to be replaced.
53074         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
53075         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
53077 2010-04-03  Bruno Haible  <bruno@clisp.org>
53079         stpncpy: Fix C++ test error on mingw.
53080         * lib/string.in.h (stpncpy): Use modern idiom.
53081         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
53082         function is missing and that it needs to be replaced.
53083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53084         REPLACE_STPNCPY.
53085         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
53087 2010-04-03  Bruno Haible  <bruno@clisp.org>
53089         sys_stat: Fix C++ test error on mingw.
53090         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
53091         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
53093 2010-04-03  Bruno Haible  <bruno@clisp.org>
53095         pty: Update doc.
53096         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
53098 2010-04-03  Bruno Haible  <bruno@clisp.org>
53100         unistd: Fix C++ test error on mingw.
53101         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
53103 2010-04-03  Bruno Haible  <bruno@clisp.org>
53105         Update doc regarding mingw.
53106         * doc/glibc-functions/openpty.texi: Update regarding mingw.
53107         * doc/glibc-functions/login_tty.texi: Likewise.
53108         * doc/glibc-functions/forkpty.texi: Likewise.
53110 2010-04-03  Bruno Haible  <bruno@clisp.org>
53112         stdlib: Avoid compilation failure of c-strtold on mingw.
53113         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
53115 2010-04-03  Bruno Haible  <bruno@clisp.org>
53117         locale: Make C++ tests work on Cygwin and mingw.
53118         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
53119         cannot provide the function.
53120         Reported by Simon Josefsson.
53122 2010-04-03  Bruno Haible  <bruno@clisp.org>
53124         localename: Port to MacOS X 10.6.
53125         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
53126         memory layout of the locales in MacOS X 10.6 as well.
53127         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
53129 2010-04-02  Bruno Haible  <bruno@clisp.org>
53131         gnulib-tool: Ensure that long-running tests are executed last.
53132         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
53133         running tests after the one for the other tests.
53135 2010-04-02  Bruno Haible  <bruno@clisp.org>
53137         gnulib-tool: Ensure the tests in the main directory are executed first.
53138         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
53139         start with the current directory.
53141 2010-04-02  Bruno Haible  <bruno@clisp.org>
53143         Tests for module 'havelib', moved here from GNU gettext.
53144         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
53145         modifications.
53146         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
53147         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
53148         with modifications.
53149         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
53150         modifications.
53151         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
53152         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
53153         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
53154         with modifications.
53155         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
53156         with modifications.
53157         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
53158         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
53159         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
53160         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
53161         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
53162         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
53163         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
53164         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
53165         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
53166         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
53167         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
53168         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
53169         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
53170         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
53171         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
53172         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
53173         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
53174         with modifications.
53175         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
53176         with modifications.
53177         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
53178         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
53179         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
53180         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
53181         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
53182         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
53183         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
53184         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
53185         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
53186         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
53187         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
53188         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
53189         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
53190         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
53191         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
53192         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
53193         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
53194         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
53195         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
53196         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
53197         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
53198         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
53199         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
53200         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
53201         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
53202         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
53203         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
53204         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
53205         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
53206         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
53207         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
53208         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
53209         * tests/havelib/rpathx/rpathx.c: New file, from
53210         gettext/autoconf-lib-link.
53211         * tests/havelib/rpathx/Makefile.am: New file, from
53212         gettext/autoconf-lib-link.
53213         * tests/havelib/rpathx/configure.ac: New file, from
53214         gettext/autoconf-lib-link with modifications.
53215         * tests/havelib/rpathy/rpathy.c: New file, from
53216         gettext/autoconf-lib-link.
53217         * tests/havelib/rpathy/Makefile.am: New file, from
53218         gettext/autoconf-lib-link.
53219         * tests/havelib/rpathy/configure.ac: New file, from
53220         gettext/autoconf-lib-link with modifications.
53221         * tests/havelib/rpathz/rpathz.c: New file, from
53222         gettext/autoconf-lib-link.
53223         * tests/havelib/rpathz/Makefile.am: New file, from
53224         gettext/autoconf-lib-link.
53225         * tests/havelib/rpathz/configure.ac: New file, from
53226         gettext/autoconf-lib-link with modifications.
53227         * tests/havelib/rpathlx/usex.c: New file, from
53228         gettext/autoconf-lib-link.
53229         * tests/havelib/rpathlx/Makefile.am: New file, from
53230         gettext/autoconf-lib-link.
53231         * tests/havelib/rpathlx/configure.ac: New file, from
53232         gettext/autoconf-lib-link with modifications.
53233         * tests/havelib/rpathly/usey.c: New file, from
53234         gettext/autoconf-lib-link.
53235         * tests/havelib/rpathly/Makefile.am: New file, from
53236         gettext/autoconf-lib-link.
53237         * tests/havelib/rpathly/configure.ac: New file, from
53238         gettext/autoconf-lib-link with modifications.
53239         * tests/havelib/rpathlz/usez.c: New file, from
53240         gettext/autoconf-lib-link.
53241         * tests/havelib/rpathlz/Makefile.am: New file, from
53242         gettext/autoconf-lib-link.
53243         * tests/havelib/rpathlz/configure.ac: New file, from
53244         gettext/autoconf-lib-link with modifications.
53245         * tests/havelib/rpathlyx/usey.c: New file, from
53246         gettext/autoconf-lib-link.
53247         * tests/havelib/rpathlyx/Makefile.am: New file, from
53248         gettext/autoconf-lib-link.
53249         * tests/havelib/rpathlyx/configure.ac: New file, from
53250         gettext/autoconf-lib-link with modifications.
53251         * tests/havelib/rpathlzyx/usez.c: New file, from
53252         gettext/autoconf-lib-link.
53253         * tests/havelib/rpathlzyx/Makefile.am: New file, from
53254         gettext/autoconf-lib-link.
53255         * tests/havelib/rpathlzyx/configure.ac: New file, from
53256         gettext/autoconf-lib-link with modifications.
53257         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
53258         with modifications.
53260 2010-04-02  Bruno Haible  <bruno@clisp.org>
53262         gnulib-tool: Create distributed built sources also for the tests.
53263         * gnulib-tool (func_create_testdir): Also generate distributed built
53264         sources in the tests directory.
53266 2010-04-02  Bruno Haible  <bruno@clisp.org>
53268         gnulib-tool: Obey user's environment variables.
53269         * gnulib-tool (func_create_testdir): When creating built sources,
53270         respect the environment variables for autoconf, automake, etc. given by
53271         the user.
53273 2010-04-02  Bruno Haible  <bruno@clisp.org>
53275         gnulib-tool: Provide the value of --m4-base to modules.
53276         * gnulib-tool (func_import, func_create_testdir): Emit a definition
53277         of gl_m4_base.
53279 2010-04-02  Eric Blake  <eblake@redhat.com>
53281         maint.mk: fix some fallout
53282         * NEWS: Document the incompatible change, and its effect on cfg.mk.
53283         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
53285 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53287         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
53288         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
53289         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
53290         (sc_cast_of_x_alloc_return_value): Likewise.
53291         (sc_cast_of_alloca_return_value): Likewise.
53292         (sc_space_tab): Likewise.
53293         (sc_prohibit_atoi_atof): Likewise.
53294         (sc_prohibit_magic_number_exit): Likewise.
53295         (sc_error_exit_success): Likewise.
53296         (sc_file_system): Likewise.
53297         (sc_prohibit_have_config_h): Likewise.
53298         (sc_require_config_h): Likewise.
53299         (sc_prohibit_HAVE_MBRTOWC): Likewise.
53300         (sc_obsolete_symbols): Likewise.
53301         (sc_changelog): Likewise.
53302         (sc_program_name): Likewise.
53303         (sc_the_the): Likewise.
53304         (sc_trailing_blank): Likewise.
53305         (sc_two_space_separator_in_usage): Likewise.
53306         (sc_useless_cpp_parens): Likewise.
53307         (sc_GPL_version): Likewise.
53308         (sc_GFDL_version): Likewise.
53309         (sc_texinfo_acronym): Likewise.
53310         (sc_prohibit_cvs_keyword): Likewise.
53311         (sc_prohibit_stat_st_blocks): Likewise.
53312         (sc_prohibit_S_IS_definition): Likewise.
53313         (sc_redundant_const): Likewise.
53314         (sc_makefile_TAB_only_indentation): Likewise.
53315         (sc_m4_quote_check): Likewise.
53316         (sc_makefile_path_separator_check): Likewise.
53317         (sc_copyright_check): Likewise.
53318         (sc_Wundef_boolean): Likewise.
53319         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
53321         maint.mk: match 0 or more whitespace-before-function-call '('
53322         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
53323         that have zero or two-and-more spaces between the function name
53324         and the open parenthesis.
53325         (sc_error_message_warn_fatal): Likewise.
53326         (sc_error_message_uppercase): Likewise.
53327         (sc_error_message_period): Likewise.
53329 2010-03-31  Eric Blake  <eblake@redhat.com>
53331         maint.mk: check for [ as well as test
53332         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
53333         Based on a libvirt report by Matthias Bolte.
53335         gnumakefile: don't squelch _version output
53336         * top/GNUmakefile (_version): Create one-shot dependency rather
53337         than using $(shell) when version must be regenerated.
53338         (_autoreconf): Run verbosely, by default.
53340         sys_time: avoid compiler warnings
53341         * lib/sys_time.in.h (includes): Ensure gcc pragma is
53342         unconditional, fixing regression from 2010-03-29.
53343         Reported by Simon Josefsson.
53345 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53347         maint.mk: s/_header_without_use/_sc_header_without_use/
53348         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
53349         (sc_prohibit_assert_without_use): Use the new name.
53350         (sc_prohibit_close_stream_without_use): Likewise.
53351         (sc_prohibit_getopt_without_use): Likewise.
53352         (sc_prohibit_quotearg_without_use): Likewise.
53353         (sc_prohibit_quote_without_use): Likewise.
53354         (sc_prohibit_long_options_without_use): Likewise.
53355         (sc_prohibit_inttostr_without_use): Likewise.
53356         (sc_prohibit_ignore_value_without_use): Likewise.
53357         (sc_prohibit_error_without_use): Likewise.
53358         (sc_prohibit_xalloc_without_use): Likewise.
53359         (sc_prohibit_hash_without_use): Likewise.
53360         (sc_prohibit_hash_pjw_without_use): Likewise.
53361         (sc_prohibit_safe_read_without_use): Likewise.
53362         (sc_prohibit_argmatch_without_use): Likewise.
53363         (sc_prohibit_canonicalize_without_use): Likewise.
53364         (sc_prohibit_root_dev_ino_without_use): Likewise.
53365         (sc_prohibit_openat_without_use): Likewise.
53366         (sc_prohibit_c_ctype_without_use): Likewise.
53367         (sc_prohibit_signal_without_use): Likewise.
53368         (sc_prohibit_intprops_without_use): Likewise.
53370 2010-03-30  Eric Blake  <eblake@redhat.com>
53372         maint: improve module indicators
53373         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
53374         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
53375         columns, and avoid extra macro expansion.
53377         fdopendir: work around FreeBSD bug
53378         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
53379         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
53380         * modules/dirent (Makefile.am): Substitute it.
53381         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
53382         declaration.
53383         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
53384         fix.
53385         Reported by Christian Weisgerber <naddy@mips.inka.de>.
53387 2010-03-29  Bruno Haible  <bruno@clisp.org>
53389         Emit #pragma system_header after the inclusion guard, not before.
53390         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
53391         guard that spans the entire file, not before. This enables an
53392         optimization in GCC's preprocessor.
53393         * lib/ctype.in.h: Likewise.
53394         * lib/dirent.in.h: Likewise.
53395         * lib/errno.in.h: Likewise.
53396         * lib/float.in.h: Likewise.
53397         * lib/getopt.in.h: Likewise.
53398         * lib/iconv.in.h: Likewise.
53399         * lib/langinfo.in.h: Likewise.
53400         * lib/locale.in.h: Likewise.
53401         * lib/math.in.h: Likewise.
53402         * lib/netdb.in.h: Likewise.
53403         * lib/netinet_in.in.h: Likewise.
53404         * lib/pty.in.h: Likewise.
53405         * lib/sched.in.h: Likewise.
53406         * lib/se-selinux.in.h: Likewise.
53407         * lib/search.in.h: Likewise.
53408         * lib/spawn.in.h: Likewise.
53409         * lib/stdarg.in.h: Likewise.
53410         * lib/stdint.in.h: Likewise.
53411         * lib/string.in.h: Likewise.
53412         * lib/strings.in.h: Likewise.
53413         * lib/sys_file.in.h: Likewise.
53414         * lib/sys_ioctl.in.h: Likewise.
53415         * lib/sys_time.in.h: Likewise.
53416         * lib/sys_times.in.h: Likewise.
53417         * lib/sys_utsname.in.h: Likewise.
53418         * lib/sys_wait.in.h: Likewise.
53419         * lib/sysexits.in.h: Likewise.
53420         * lib/wctype.in.h: Likewise.
53422 2010-03-28  James Youngman  <jay@gnu.org>
53424         save-cwd: don't leak a file descriptor when the caller execs.
53425         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
53426         saved file descriptor.
53427         * modules/save-cwd (Depends-on): Depend on cloexec.
53429 2010-03-29  Bruno Haible  <bruno@clisp.org>
53431         Remove vestiges of fts-lgpl module.
53432         * lib/fts_.h: Assume GNULIB_FTS is 1.
53433         * lib/fts.c: Likewise.
53434         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53436 2010-03-28  Bruno Haible  <bruno@clisp.org>
53438         Fix definition of tests witness macro.
53439         * gnulib-tool (func_import): Fix definition of witness macro.
53441 2010-03-28  Bruno Haible  <bruno@clisp.org>
53443         Fix ioctl's protoype on glibc systems.
53444         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
53445         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
53446         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
53447         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
53448         signature. If not, arrange to replace the ioctl function.
53449         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
53450         REPLACE_IOCTL.
53451         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
53452         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
53453         Reported by Ludovic Courtès <ludo@gnu.org>.
53455 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
53457         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
53458         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
53459         made it so grep -r --include=GLOB* ... did not work.
53461 2010-03-26  Jim Meyering  <meyering@redhat.com>
53462             Eric Blake  <eblake@redhat.com>
53464         maint.mk: prohibit use of test's -o and -a operators
53465         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
53467 2010-03-28  Bruno Haible  <bruno@clisp.org>
53469         Remove unused GNULIB_XYZ macro definitions.
53470         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
53471         invocation.
53473 2010-03-28  Bruno Haible  <bruno@clisp.org>
53475         Mark privileged tests modules.
53476         * modules/idpriv-drop-tests (Status): New section.
53477         * modules/idpriv-droptemp-tests (Status): New section.
53479 2010-03-28  Bruno Haible  <bruno@clisp.org>
53481         Split C++ tests into separate tests modules.
53482         * modules/dirent-c++-tests: New file, extracted from
53483         modules/dirent-tests.
53484         * modules/dirent-tests: Depend on it.
53485         * modules/fcntl-h-c++-tests: New file, extracted from
53486         modules/fcntl-h-tests.
53487         * modules/fcntl-h-tests: Depend on it.
53488         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
53489         * modules/glob-tests: Depend on it.
53490         * modules/iconv-h-c++-tests: New file, extracted from
53491         modules/iconv-h-tests.
53492         * modules/iconv-h-tests: Depend on it.
53493         * modules/langinfo-c++-tests: New file, extracted from
53494         modules/langinfo-tests.
53495         * modules/langinfo-tests: Depend on it.
53496         * modules/locale-c++-tests: New file, extracted from
53497         modules/locale-tests.
53498         * modules/locale-tests: Depend on it.
53499         * modules/math-c++-tests: New file, extracted from modules/math-tests.
53500         * modules/math-tests: Depend on it.
53501         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
53502         * modules/pty-tests: Depend on it.
53503         * modules/search-c++-tests: New file, extracted from
53504         modules/search-tests.
53505         * modules/search-tests: Depend on it.
53506         * modules/signal-c++-tests: New file, extracted from
53507         modules/signal-tests.
53508         * modules/signal-tests: Depend on it.
53509         * modules/spawn-c++-tests: New file, extracted from
53510         modules/spawn-tests.
53511         * modules/spawn-tests: Depend on it.
53512         * modules/stdio-c++-tests: New file, extracted from
53513         modules/stdio-tests.
53514         * modules/stdio-tests: Depend on it.
53515         * modules/stdlib-c++-tests: New file, extracted from
53516         modules/stdlib-tests.
53517         * modules/stdlib-tests: Depend on it.
53518         * modules/string-c++-tests: New file, extracted from
53519         modules/string-tests.
53520         * modules/string-tests: Depend on it.
53521         * modules/sys_ioctl-c++-tests: New file, extracted from
53522         modules/sys_ioctl-tests.
53523         * modules/sys_ioctl-tests: Depend on it.
53524         * modules/sys_select-c++-tests: New file, extracted from
53525         modules/sys_select-tests.
53526         * modules/sys_select-tests: Depend on it.
53527         * modules/sys_socket-c++-tests: New file, extracted from
53528         modules/sys_socket-tests.
53529         * modules/sys_socket-tests: Depend on it.
53530         * modules/sys_stat-c++-tests: New file, extracted from
53531         modules/sys_stat-tests.
53532         * modules/sys_stat-tests: Depend on it.
53533         * modules/sys_time-c++-tests: New file, extracted from
53534         modules/sys_time-tests.
53535         * modules/sys_time-tests: Depend on it.
53536         * modules/time-c++-tests: New file, extracted from modules/time-tests.
53537         * modules/time-tests: Depend on it.
53538         * modules/unistd-c++-tests: New file, extracted from
53539         modules/unistd-tests.
53540         * modules/unistd-tests: Depend on it.
53541         * modules/wchar-c++-tests: New file, extracted from
53542         modules/wchar-tests.
53543         * modules/wchar-tests: Depend on it.
53544         * modules/wctype-c++-tests: New file, extracted from
53545         modules/wctype-tests.
53546         * modules/wctype-tests: Depend on it.
53547         Reported by Simon Josefsson.
53549 2010-03-28  Bruno Haible  <bruno@clisp.org>
53551         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
53552         * gnulib-tool (func_exists_module): New function, extracted from
53553         func_verify_module.
53554         (func_verify_module): Use it.
53555         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
53556         'foo' only if 'foo' exists.
53557         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
53558         module.
53560 2010-03-28  Bruno Haible  <bruno@clisp.org>
53562         gnulib-tool: Add support for special categories of tests.
53563         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
53564         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
53565         (func_usage): Document them.
53566         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
53567         inc_unportable_tests, inc_all_tests): New variables.
53568         (func_acceptable): Consider these variables.
53569         (func_modules_transitive_closure): Make it work when the 'Status' field
53570         consists of multiple words.
53571         (func_import): Store and restore the values of inc_cxx_tests,
53572         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
53573         inc_all_tests in gnulib-comp.m4.
53574         (func_create_testdir): Set inc_all_tests to true.
53575         * doc/gnulib.texi (Extra tests modules): New section.
53576         Suggested by Jim Meyering.
53578 2010-03-28  Bruno Haible  <bruno@clisp.org>
53580         ansi-c++-opt: Allow turning off the C++ build by default.
53581         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
53582         gl_CXX_CHOICE_DEFAULT_NO is defined.
53583         Requested by Eric Blake.
53585 2010-03-28  Bruno Haible  <bruno@clisp.org>
53587         unistd: Avoid #define replacements in C++ mode.
53588         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
53589         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
53590         setsockopt, shutdown, select): In C++, attach a warning to the function
53591         if possible, rather than #defining the symbol to a dysfunctional alias.
53592         Reported by John W. Eaton <jwe@gnu.org>.
53594 2010-03-28  Bruno Haible  <bruno@clisp.org>
53596         Fix link errors on mingw.
53597         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
53598         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
53599         $(LIBSOCKET).
53600         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
53601         $(LIBSOCKET).
53603 2010-03-28  Bruno Haible  <bruno@clisp.org>
53604             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53606         lib-ignore: Determine different options for different compilers.
53607         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
53608         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
53609         Add comments.
53610         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
53611         * NEWS: Mention the change.
53613 2010-03-27  Bruno Haible  <bruno@clisp.org>
53615         Remove unused GNULIB_XYZ macro definitions.
53616         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53617         * modules/fseek (configure.ac): Likewise.
53618         * modules/ioctl (configure.ac): Likewise.
53619         * modules/open (configure.ac): Likewise.
53620         * modules/stdlib-safer (configure.ac): Likewise.
53622 2010-03-27  Bruno Haible  <bruno@clisp.org>
53624         Add a remark about certain modules.
53625         * modules/malloc (Comment): New section.
53626         * modules/realloc (Comment): Likewise.
53627         * modules/sigpipe (Comment): Likewise.
53629 2010-03-27  Bruno Haible  <bruno@clisp.org>
53631         Resolve conflict between the two kinds of module indicators.
53632         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
53633         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
53634         * modules/canonicalize (configure.ac): Invoke
53635         gl_MODULE_INDICATOR_FOR_TESTS.
53636         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
53637         GNULIB_XYZ.
53638         * tests/test-dirent-c++.cc: Likewise.
53639         * tests/test-dirent-safer.c: Likewise.
53640         * tests/test-dup2.c: Likewise.
53641         * tests/test-fchdir.c: Likewise.
53642         * tests/test-fcntl-h-c++.cc: Likewise.
53643         * tests/test-getopt.c: Likewise.
53644         * tests/test-getopt.h: Likewise.
53645         * tests/test-langinfo-c++.cc: Likewise.
53646         * tests/test-locale-c++.cc: Likewise.
53647         * tests/test-math-c++.cc: Likewise.
53648         * tests/test-pty-c++.cc: Likewise.
53649         * tests/test-search-c++.cc: Likewise.
53650         * tests/test-signal-c++.cc: Likewise.
53651         * tests/test-spawn-c++.cc: Likewise.
53652         * tests/test-stdio-c++.cc: Likewise.
53653         * tests/test-stdlib-c++.cc: Likewise.
53654         * tests/test-string-c++.cc: Likewise.
53655         * tests/test-sys_ioctl-c++.cc: Likewise.
53656         * tests/test-sys_select-c++.cc: Likewise.
53657         * tests/test-sys_socket-c++.cc: Likewise.
53658         * tests/test-sys_stat-c++.cc: Likewise.
53659         * tests/test-sys_time-c++.cc: Likewise.
53660         * tests/test-time-c++.cc: Likewise.
53661         * tests/test-unistd-c++.cc: Likewise.
53662         * tests/test-wchar-c++.cc: Likewise.
53663         * tests/uninorm/test-u8-nfc.c: Likewise.
53664         * tests/uninorm/test-u8-nfd.c: Likewise.
53665         * tests/uninorm/test-u8-nfkc.c: Likewise.
53666         * tests/uninorm/test-u8-nfkd.c: Likewise.
53667         * tests/uninorm/test-u16-nfc.c: Likewise.
53668         * tests/uninorm/test-u16-nfd.c: Likewise.
53669         * tests/uninorm/test-u16-nfkc.c: Likewise.
53670         * tests/uninorm/test-u16-nfkd.c: Likewise.
53671         * tests/uninorm/test-u32-nfc.c: Likewise.
53672         * tests/uninorm/test-u32-nfc-big.c: Likewise.
53673         * tests/uninorm/test-u32-nfd.c: Likewise.
53674         * tests/uninorm/test-u32-nfd-big.c: Likewise.
53675         * tests/uninorm/test-u32-nfkc.c: Likewise.
53676         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
53677         * tests/uninorm/test-u32-nfkd.c: Likewise.
53678         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
53679         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53681 2010-03-27  Bruno Haible  <bruno@clisp.org>
53683         Distinguish two kinds of module indicators.
53684         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
53685         gl_MODULE_INDICATOR.
53686         (gl_MODULE_INDICATOR): New macro.
53687         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53688         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
53689         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53690         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53691         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53692         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53693         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53694         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53695         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53696         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53697         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53698         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53699         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53700         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53701         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53702         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53703         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53704         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53705         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53706         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53707         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53708         * modules/cloexec (configure.ac): Likewise.
53709         * modules/getopt-gnu (configure.ac): Likewise.
53710         * modules/uninorm/u8-normalize (configure.ac): Likewise.
53711         * modules/uninorm/u16-normalize (configure.ac): Likewise.
53712         * modules/uninorm/u32-normalize (configure.ac): Likewise.
53713         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
53715 2010-03-27  Bruno Haible  <bruno@clisp.org>
53717         New module description field 'Comment'.
53718         * gnulib-tool: New option --extract-comment.
53719         (func_usage): Document it.
53720         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
53721         (func_get_comment): New function.
53722         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
53724 2010-03-27  Bruno Haible  <bruno@clisp.org>
53726         Addendum to 2010-02-07 commit.
53727         * gnulib-tool (func_usage): Document --extract-applicability option.
53729 2010-03-27  Bruno Haible  <bruno@clisp.org>
53731         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
53732         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
53733         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
53734         rather than link errors.
53736 2010-03-27  Bruno Haible  <bruno@clisp.org>
53738         Avoid side effects from tests-related modules on the compilation of lib.
53739         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53740         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53741         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53742         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53743         macro.
53744         (func_import): Define a witness macro. Assign it a value that depends
53745         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53746         tests-related modules.
53747         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53748         Reported by Jim Meyering.
53750 2010-03-27  Bruno Haible  <bruno@clisp.org>
53752         Factorize common .m4 code.
53753         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53754         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53755         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53756         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53757         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53758         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53759         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53760         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53761         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53762         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53763         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53764         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53765         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53766         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53767         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53768         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53769         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53770         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53771         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53772         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53773         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53774         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53775         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53776         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53777         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53778         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53779         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53780         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53781         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53782         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53783         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53784         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53786 2010-03-27  Bruno Haible  <bruno@clisp.org>
53788         Fix a compilation error on Cygwin with g++ >= 4.3.
53789         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53790         if it is undefined or if we alias it to chmod.
53791         (lstat): Don't warn about the use of this function if it is undefined
53792         or if we alias it to stat.
53793         Reported by Simon Josefsson.
53795 2010-03-27  Bruno Haible  <bruno@clisp.org>
53797         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53798         * modules/getlogin (configure.ac): Update.
53800         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53801         * modules/getlogin_r (configure.ac): Update.
53803         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53804         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53805         * modules/inet_ntop (configure.ac): Update.
53807         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53808         * modules/inet_pton (configure.ac): Update.
53810         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53811         * modules/mbslen (configure.ac): Update.
53813         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53814         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53815         * modules/forkpty (configure.ac): Update.
53816         * modules/openpty (configure.ac): Update.
53818 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53820         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53821         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53823 2010-03-25  Eric Blake  <eblake@redhat.com>
53825         maint: use pragma consistently across replacement headers
53826         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53827         * lib/dirent.in.h (system_header): Likewise.
53828         * lib/errno.in.h (system_header): Likewise.
53829         * lib/float.in.h (system_header): Likewise.
53830         * lib/getopt.in.h (system_header): Likewise.
53831         * lib/iconv.in.h (system_header): Likewise.
53832         * lib/inttypes.in.h (system_header): Likewise.
53833         * lib/langinfo.in.h (system_header): Likewise.
53834         * lib/locale.in.h (system_header): Likewise.
53835         * lib/math.in.h (system_header): Likewise.
53836         * lib/netdb.in.h (system_header): Likewise.
53837         * lib/netinet_in.in.h (system_header): Likewise.
53838         * lib/pty.in.h (system_header): Likewise.
53839         * lib/sched.in.h (system_header): Likewise.
53840         * lib/se-selinux.in.h (system_header): Likewise.
53841         * lib/search.in.h (system_header): Likewise.
53842         * lib/spawn.in.h (system_header): Likewise.
53843         * lib/stdarg.in.h (system_header): Likewise.
53844         * lib/stdint.in.h (system_header): Likewise.
53845         * lib/string.in.h (system_header): Likewise.
53846         * lib/strings.in.h (system_header): Likewise.
53847         * lib/sys_file.in.h (system_header): Likewise.
53848         * lib/sys_ioctl.in.h (system_header): Likewise.
53849         * lib/sys_socket.in.h (system_header): Likewise.
53850         * lib/sys_times.in.h (system_header): Likewise.
53851         * lib/sys_utsname.in.h (system_header): Likewise.
53852         * lib/sys_wait.in.h (system_header): Likewise.
53853         * lib/sysexits.in.h (system_header): Likewise.
53854         * lib/unistd.in.h (system_header): Likewise.
53855         * lib/wctype.in.h (system_header): Likewise.
53857         arpa/inet: fix mingw compilation warning
53858         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53859         Reported by Matthew Bolte.
53861 2010-03-25  Bruno Haible  <bruno@clisp.org>
53863         Avoid collision between gnulib wrapper and libintl wrapper.
53864         * lib/printf.c (printf): Don't define if a printf wrapper is already
53865         defined in intl/printf.c.
53866         Reported by Michel Boaventura <michel@michelboaventura.com>.
53868 2010-03-25  Bruno Haible  <bruno@clisp.org>
53870         Use ANSI C.
53871         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53873 2010-03-25  Bruno Haible  <bruno@clisp.org>
53875         Minor formatting changes.
53876         * lib/acosl.c: Insert space before function argument list.
53877         * lib/argz.c: Likewise.
53878         * lib/asinl.c: Likewise.
53879         * lib/expl.c: Likewise.
53880         * lib/gen-uni-tables.c: Likewise.
53881         * lib/gettext.h: Likewise.
53882         * lib/glthread/lock.h: Likewise.
53883         * lib/tanl.c: Likewise.
53884         * lib/uniname/uniname.c: Likewise.
53885         * tests/test-idpriv-drop.c: Likewise.
53886         * tests/test-idpriv-droptemp.c: Likewise.
53887         * tests/test-lock.c: Likewise.
53888         * tests/test-tls.c: Likewise.
53889         * lib/argp-help.c: Insert space before function-like macro argument
53890         list.
53891         * lib/memcmp.c: Likewise.
53892         * tests/test-base64.c: Likewise.
53893         * lib/localename.c: Insert space before sizeof's argument list.
53894         * lib/safe-alloc.h: Likewise.
53895         * lib/file-set.h: Insert space before macro argument list.
53896         * tests/test-argp.c: Likewise.
53897         * lib/argp-namefrob.h: Insert space before function parameter list.
53898         * lib/getaddrinfo.c: Likewise.
53899         * lib/netdb.in.h: Likewise.
53900         * lib/parse-duration.h: Likewise.
53901         * lib/parse-duration.c: Likewise.
53902         * lib/poll.c: Likewise.
53903         * lib/select.c: Likewise.
53904         * lib/trim.h: Likewise.
53905         * tests/test-usleep.c: Likewise.
53906         * lib/ldexpl.c: Insert space before function parameter list and before
53907         function argument list.
53908         * lib/logl.c: Likewise.
53909         * lib/sqrtl.c: Likewise.
53910         * lib/trim.c: Likewise.
53911         * lib/cosl.c: Use GNU style indentation. Insert space before function
53912         argument list.
53913         * lib/sinl.c: Likewise.
53914         * lib/tsearch.c: Insert space after 'for'.
53915         Reported by Jim Meyering.
53917 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53919         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53920         config header before grepping, as it's not present before
53921         autoreconf/configure are run.  Reported by Simon Josefsson.
53923 2010-03-23  Bruno Haible  <bruno@clisp.org>
53925         pt_chown: Make it work with automake < 1.11.
53926         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53927         Reported by Simon Josefsson.
53929 2010-03-23  Bruno Haible  <bruno@clisp.org>
53931         pt_chown: Don't depend on GPLed modules.
53932         * lib/pt_chown.c: Don't include idpriv.h.
53933         (main): Don't drop privileges.
53934         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53935         Reported by Simon Josefsson.
53937 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53939         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53940         suggestions from karl@freefriends.org (Karl Berry).
53942 2010-03-22  Eric Blake  <eblake@redhat.com>
53944         gethostname: further tweaks
53945         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53946         are overriding gethostname.
53947         Suggested by Bruno Haible.
53949 2010-03-21  Bruno Haible  <bruno@clisp.org>
53951         Fix comments.
53952         * lib/forkpty.c (rpl_forkpty): Fix comment.
53953         * lib/openpty.c (rpl_openpty): Likewise.
53954         Reported by Eric Blake.
53956 2010-03-22  Eric Blake  <eblake@redhat.com>
53958         gethostname: fix build on mingw
53959         * lib/unistd.in.h (includes): Work around fact that mingw
53960         <winsock2.h> re-includes <unistd.h>, by avoiding any
53961         redeclarations if we are being included by <winsock2.h>.
53962         Reported by Matthias Bolte.
53964 2010-03-21  Bruno Haible  <bruno@clisp.org>
53966         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53967         * lib/forkpty.c (forkpty): New replacement function, from glibc with
53968         modifications.
53969         * lib/pty.in.h (forkpty): Update declaration. Add comments.
53970         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
53971         provide the replacement.
53972         * modules/forkpty (Depends-on): Add openpty, login_tty.
53973         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
53974         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
53975         * doc/glibc-functions/forkpty.texi: More supported platforms.
53976         * config/srclist.txt: Add forkpty.c (commented).
53978 2010-03-21  Bruno Haible  <bruno@clisp.org>
53980         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
53981         (Makefile.am): Verify that PTY_LIB is defined.
53983         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
53985 2010-03-21  Bruno Haible  <bruno@clisp.org>
53987         Tests for module 'login_tty'.
53988         * modules/login_tty-tests: New file.
53989         * tests/test-login_tty.c: New file.
53991         New module 'login_tty'.
53992         * lib/login_tty.c: New file.
53993         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
53994         * modules/login_tty: New file.
53995         * doc/glibc-functions/login_tty.texi: Mention the new module.
53997 2010-03-21  Bruno Haible  <bruno@clisp.org>
53999         login_tty: Documentation.
54000         * doc/glibc-functions/login_tty.texi: New file.
54001         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
54003 2010-03-21  Bruno Haible  <bruno@clisp.org>
54005         pty: Consistent macro naming.
54006         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
54007         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
54008         * modules/pty (configure.ac): Update.
54010 2010-03-21  Bruno Haible  <bruno@clisp.org>
54012         Tests for openpty: Make stricter.
54013         * tests/test-openpty.c (main): Add test of canonical processing and
54014         erase.
54015         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
54017         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
54018         * lib/openpty.c (openpty): New replacement function.
54019         * lib/pty.in.h: Include <termios.h>.
54020         (openpty): Update declaration. Add comments.
54021         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
54022         is not declared, arrange to provide the replacement. Check for _getpty
54023         and posix_openpt.
54024         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
54025         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
54026         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
54027         * modules/pty-tests (test_pty_c___LDADD): New variable.
54028         * doc/glibc-functions/openpty.texi: More supported platforms.
54030 2010-03-21  Bruno Haible  <bruno@clisp.org>
54032         setenv: Tweaks.
54033         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
54034         the test program.
54035         * doc/posix-functions/setenv.texi: Update platforms list.
54037 2010-03-21  Bruno Haible  <bruno@clisp.org>
54039         New module 'unlockpt'.
54040         * lib/unlockpt.c: New file, from glibc with modifications.
54041         * m4/unlockpt.m4: New file.
54042         * modules/unlockpt: New file.
54043         * lib/stdlib.in.h (unlockpt): New declaration.
54044         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
54045         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
54046         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
54047         HAVE_UNLOCKPT.
54048         * doc/posix-functions/unlockpt.texi: Mention the new module.
54049         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
54050         * config/srclist.txt: Add unlockpt.c (commented).
54052 2010-03-21  Jim Meyering  <meyering@redhat.com>
54054         maint.mk: prohibit inclusion of "intprops.h" without use
54055         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
54057 2010-03-21  Bruno Haible  <bruno@clisp.org>
54059         New module 'grantpt'.
54060         * lib/grantpt.c: New file, from glibc with modifications.
54061         * m4/grantpt.m4: New file.
54062         * modules/grantpt: New file.
54063         * lib/stdlib.in.h (grantpt): New declaration.
54064         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
54065         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
54066         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
54067         HAVE_GRANTPT.
54068         * doc/posix-functions/grantpt.texi: Mention the new module.
54069         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
54070         * config/srclist.txt: Add grantpt.c (commented).
54072 2010-03-21  Bruno Haible  <bruno@clisp.org>
54074         New module 'pt_chown'.
54075         * lib/pt_chown.c: New file, from glibc with modifications.
54076         * lib/pty-private.h: New file, from glibc with modifications.
54077         * modules/pt_chown: New file.
54078         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
54080 2010-03-21  Bruno Haible  <bruno@clisp.org>
54082         Tests for module 'ptsname'.
54083         * modules/ptsname-tests: New file.
54084         * tests/test-ptsname.c: New file.
54086         New module 'ptsname'.
54087         * lib/ptsname.c: New file, from glibc with modifications.
54088         * m4/ptsname.m4: New file.
54089         * modules/ptsname: New file.
54090         * lib/stdlib.in.h (ptsname): New declaration.
54091         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
54092         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
54093         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
54094         HAVE_PTSNAME.
54095         * doc/posix-functions/ptsname.texi: Mention the new module.
54096         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
54097         * config/srclist.txt: Add ptsname.c (commented).
54099 2010-03-21  Bruno Haible  <bruno@clisp.org>
54101         Tests for module 'ttyname_r'.
54102         * modules/ttyname_r-tests: New file.
54103         * tests/test-ttyname_r.c: New file.
54105         New module 'ttyname_r'.
54106         * lib/ttyname_r.c: New file.
54107         * m4/ttyname_r.m4: New file.
54108         * modules/ttyname_r: New file.
54109         * lib/unistd.in.h (ttyname_r): New declaration.
54110         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
54111         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
54112         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
54113         HAVE_TTYNAME_R.
54114         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
54115         * doc/posix-functions/ttyname_r.texi: Mention the new module.
54117 2010-03-20  Bruno Haible  <bruno@clisp.org>
54119         signal: Undefine macro definitions in C++ mode.
54120         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
54121         sigfillset): Undefine macro definitions from the system header in C++
54122         mode.
54123         Reported by John W. Eaton <jwe@gnu.org>.
54125 2010-03-20  Bruno Haible  <bruno@clisp.org>
54127         Ensure no #include statements inside extern "C" { ... }.
54128         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
54129         contain #include statements.
54130         * lib/time.in.h: Likewise.
54132 2010-03-20  Bruno Haible  <bruno@clisp.org>
54134         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
54135         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
54136         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
54137         Reported by John W. Eaton <jwe@gnu.org>.
54139 2010-03-20  Bruno Haible  <bruno@clisp.org>
54141         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
54142         Reported by Jim Meyering.
54144 2010-03-20  Bruno Haible  <bruno@clisp.org>
54146         pipe: Set errno upon failure.
54147         * lib/pipe.h: Specify that when -1 is returned, errno is set.
54148         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
54149         errno value in error message.
54151 2010-03-20  Bruno Haible  <bruno@clisp.org>
54152             Jim Meyering  <meyering@redhat.com>
54154         lchown: Avoid "unused variable" warning.
54155         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
54157 2010-03-20  Bruno Haible  <bruno@clisp.org>
54159         Work around unlink() bug on MacOS X 10.5.6.
54160         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
54161         attempting to unlink a parent directory.
54162         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
54163         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
54164         activate for the replacement function.
54165         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
54167 2010-03-20  Bruno Haible  <bruno@clisp.org>
54169         Fix link errors on Solaris 8.
54170         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
54171         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
54173 2010-03-19  Jim Meyering  <meyering@redhat.com>
54175         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
54176         The _LIBC implementation of build_range_exp correctly honors the
54177         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
54178         However, the non-_LIBC implementation would ignore that syntax-bit
54179         flag and return REG_ERANGE unconditionally.
54180         This change makes it honor that flag.
54181         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
54182         Make two pointer parameters "const".
54183         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
54184         (parse_bracket_exp): Update caller.
54186         regex.m4: correct the reversed range endpoint ([b-a]) test
54187         * m4/regex.m4: When requiring that [b-a] evoke failure,
54188         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
54189         test pass once again for x86-based systems.
54191 2010-03-19  Bruno Haible  <bruno@clisp.org>
54193         scandir: Fix link error on Solaris 8.
54194         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
54195         macros.
54197 2010-03-19  Bruno Haible  <bruno@clisp.org>
54199         getusershell: Fix documentation.
54200         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
54201         module.
54202         * doc/glibc-functions/setusershell.texi: Likewise.
54204         getusershell: Provide declaration, missing on Solaris 9.
54205         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
54206         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
54207         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
54208         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
54209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54210         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
54211         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
54212         HAVE_GETUSERSHELL.
54213         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
54215 2010-03-19  Bruno Haible  <bruno@clisp.org>
54217         wctype: Provide iswblank function.
54218         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
54219         exists and is fine.
54220         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
54221         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
54222         * tests/test-wctype.c (main): Re-enable the iswblank tests.
54223         * doc/posix-functions/iswblank.texi: Update.
54225 2010-03-19  Bruno Haible  <bruno@clisp.org>
54227         Tests of module 'pty' in C++ mode.
54228         * modules/pty-tests: New file.
54229         * tests/test-pty-c++.cc: New file.
54230         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54232 2010-03-19  Eric Blake  <eblake@redhat.com>
54234         logb: fix documentation
54235         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
54236         1.5 declaration bug.
54238         forkpty, openpty: prefer glibc's const-safe prototype
54239         * lib/forkpty.c (rpl_forkpty): New file.
54240         * lib/openpty.c (rpl_openpty): Likewise.
54241         * modules/forkpty (Files): Distribute it.
54242         * modules/openpty (Files): Likewise.
54243         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
54244         check...
54245         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
54246         replacement for non-const BSD signature.
54247         * modules/pty (Makefile.am): Substitute witnesses.
54248         * lib/pty.in.h (forkpty, openpty): Declare replacements.
54249         * tests/test-forkpty.c: Update signature check.
54250         * tests/test-openpty.c: Likewise.
54251         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
54252         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54254         forkpty, openpty: split functions into new modules
54255         * modules/pty (Makefile.am): Substitute new witnesses.
54256         (Libraries): Move library detection...
54257         * modules/forkpty: ...into new module.
54258         * modules/openpty: Another new module.
54259         * modules/pty-tests: Rename and split...
54260         * modules/forkpty-tests: ...to this...
54261         * modules/openpty-tests: ...and this.
54262         * tests/test-pty.c: Rename and split...
54263         * tests/test-forkpty.c: ...to this...
54264         * tests/test-openpty.c: ...and this.
54265         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
54266         (gl_PTY): Split library searching...
54267         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
54268         (gl_FORKPTY, gl_OPENPTY): New macros.
54269         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
54270         * NEWS: Mention the split.
54271         * MODULES.html.sh (Misc): Document the modules.
54272         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
54273         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54275         pty: improve replacement header
54276         * lib/pty.in.h: New file.
54277         * modules/pty (Files): Ship it.
54278         (Makefile.am): Always build replacement.
54279         * m4/pty.m4: Rename...
54280         * m4/pty_h.m4: ...to this.
54281         (gl_PTY): Modernize setting of witness macros; update check of
54282         forkpty to take proper advantage of cache.
54283         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
54285         getopt: avoid compiler warning
54286         * lib/getopt.c (attribute_hidden): Remove unused macro.
54288 2010-03-18  Bruno Haible  <bruno@clisp.org>
54290         Fix link errors on Solaris 8.
54291         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
54292         * modules/search-tests (test_search_c___LDADD): Likewise.
54293         * modules/signal-tests (test_signal_c___LDADD): Likewise.
54294         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
54295         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
54296         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
54297         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
54298         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
54299         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
54301 2010-03-18  Bruno Haible  <bruno@clisp.org>
54303         Fix bug introduced on 2010-03-14.
54304         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
54305         (gl_SPAWN_H): Require it.
54306         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
54307         Reported by Simon Josefsson.
54309 2010-03-18  Bruno Haible  <bruno@clisp.org>
54311         Fix typo introduced on 2009-12-31.
54312         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
54313         posix_spawn_file_actions_adddup2.
54315 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
54316         and Eric Blake  <eblake@redhat.com>
54318         test-vc-list-files-git: make more robust
54319         * tests/test-vc-list-files-git.sh: Unset problematic environment
54320         variables.  Chain commands together.
54322 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
54324         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
54325         `AC_CHECK_DECL' invocation.
54327 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
54329         * lib/inttostr.c (inttostr): Make sure the invocation of verify
54330         appears before executable statements. Suggested by Petr Sumbera
54331         <Petr.Sumbera@Sun.COM>.
54333 2010-03-14  Bruno Haible  <bruno@clisp.org>
54335         * tests/test-flock.c (test_exclusive): Comment out a test that causes
54336         portability problems. Instead use a simpler test.
54337         (main): Check that invalid arguments are rejected only on Linux.
54339 2010-03-14  Bruno Haible  <bruno@clisp.org>
54341         Fix bug introduced on 2009-12-31.
54342         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
54343         gl_PREREQ_SYS_H_WINSOCK2 always.
54344         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
54345         SYS_SOCKET_H variable.
54346         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
54347         Update comments.
54348         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
54349         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
54350         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
54351         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
54352         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
54354 2010-03-14  Bruno Haible  <bruno@clisp.org>
54356         Fix values returned by sinl, cosl.
54357         * lib/trigl.h: Add specification comments.
54358         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
54359         that combines the values from the precomputed table with the values of
54360         the Chebyshev polynomials.
54362 2010-03-14  Bruno Haible  <bruno@clisp.org>
54364         Fix compilation error when modules 'posix_spawn[p]' are not used.
54365         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
54366         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
54368 2010-03-14  Bruno Haible  <bruno@clisp.org>
54370         Fix compilation error on mingw when module 'time_r' is not used.
54371         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
54372         is 1.
54373         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
54374         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54375         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
54376         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
54378 2010-03-14  Bruno Haible  <bruno@clisp.org>
54380         Fix compilation error with Sun C.
54381         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
54382         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
54383         instead of GCC specific ULONG_LONG_MAX.
54384         * lib/xstrtoll.c: Likewise.
54385         * lib/xstrtoull.c: Likewise.
54387 2010-03-13  Bruno Haible  <bruno@clisp.org>
54389         Allow the user to disable C++ code and tests.
54390         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
54391         (gl_PROG_ANSI_CXX): Require it.
54393 2010-03-13  Bruno Haible  <bruno@clisp.org>
54395         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
54396         cases.
54398 2010-03-13  Bruno Haible  <bruno@clisp.org>
54400         Test that gnulib does not break the standard C++ headers.
54401         * tests/test-locale-c++2.cc: New file.
54402         * modules/locale-tests (Files): Add it.
54403         (Makefile.am): Compile it for test-locale-c++.
54404         * tests/test-math-c++2.cc: New file.
54405         * modules/math-tests (Files): Add it.
54406         (Makefile.am): Compile it for test-math-c++.
54407         * tests/test-signal-c++2.cc: New file.
54408         * modules/signal-tests (Files): Add it.
54409         (Makefile.am): Compile it for test-signal-c++.
54410         * tests/test-stdio-c++2.cc: New file.
54411         * modules/stdio-tests (Files): Add it.
54412         (Makefile.am): Compile it for test-stdio-c++.
54413         * tests/test-stdlib-c++2.cc: New file.
54414         * modules/stdlib-tests (Files): Add it.
54415         (Makefile.am): Compile it for test-stdlib-c++.
54416         * tests/test-string-c++2.cc: New file.
54417         * modules/string-tests (Files): Add it.
54418         (Makefile.am): Compile it for test-string-c++.
54419         * tests/test-time-c++2.cc: New file.
54420         * modules/time-tests (Files): Add it.
54421         (Makefile.am): Compile it for test-time-c++.
54422         Reported by John W. Eaton <jwe@gnu.org>.
54424 2010-03-13  Bruno Haible  <bruno@clisp.org>
54426         * gnulib-tool (func_usage): Clarify which options are available for
54427         --create-testdir and --create-megatestdir.
54429 2010-03-13  Bruno Haible  <bruno@clisp.org>
54431         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
54432         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
54433         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
54434         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
54435         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
54436         when appropriate.
54437         Reported by Jim Meyering.
54439 2010-03-12  Simon Josefsson  <simon@josefsson.org>
54441         * gnulib-tool (func_import): Explain origin of code.
54443 2010-03-12  Bruno Haible  <bruno@clisp.org>
54445         Fix problem with automake's definition of CXXLINK.
54446         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
54447         Reported by Simon Josefsson and Ludovic Courtès.
54449 2010-03-12  Bruno Haible  <bruno@clisp.org>
54451         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
54452         stable releases.
54454 2010-03-11  Bruno Haible  <bruno@clisp.org>
54456         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
54457         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
54458         whether the system provides one variant or multiple variants of the
54459         function.
54460         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
54461         C++ compilers.
54462         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
54463         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
54464         Reported by Jim Meyering.
54466 2010-03-09  Simon Josefsson  <simon@josefsson.org>
54468         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
54470 2010-03-08  Bruno Haible  <bruno@clisp.org>
54472         gnulib-tool: Add support for --libtool in --create-testdir.
54473         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
54474         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
54476 2010-03-08  Eric Blake  <eblake@redhat.com>
54478         gnulib-tool.texi: mention possibility of git submodule
54479         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
54480         submodules.
54481         * doc/.gitignore: Ignore another generated file.
54483 2010-03-08  Karl Berry  <karl@gnu.org>
54485         * doc/gnulib-tool.texi (VCS Issues): Mention third option
54486         of committing gnulib files while skipping others.
54488 2010-03-07  Bruno Haible  <bruno@clisp.org>
54490         Tests of module 'wctype' in C++ mode.
54491         * tests/test-wctype-c++.cc: New file.
54492         * modules/wctype-tests (Files): Add it and tests/signature.h.
54493         (Depends-on): Add ansi-c++-opt.
54494         (Makefile.am): Arrange to compile and run test-wctype-c++.
54496         Tests of module 'wchar' in C++ mode.
54497         * tests/test-wchar-c++.cc: New file.
54498         * modules/wchar-tests (Files): Add it and tests/signature.h.
54499         (Depends-on): Add ansi-c++-opt.
54500         (Makefile.am): Arrange to compile and run test-wchar-c++.
54501         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
54502         gl_MODULE_INDICATOR.
54504         Tests of module 'unistd' in C++ mode.
54505         * tests/test-unistd-c++.cc: New file.
54506         * modules/unistd-tests (Files): Add it and tests/signature.h.
54507         (Depends-on): Add ansi-c++-opt.
54508         (Makefile.am): Arrange to compile and run test-unistd-c++.
54509         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
54510         gl_MODULE_INDICATOR.
54512         Tests of module 'time' in C++ mode.
54513         * tests/test-time-c++.cc: New file.
54514         * modules/time-tests (Files): Add it and tests/signature.h.
54515         (Depends-on): Add ansi-c++-opt.
54516         (Makefile.am): Arrange to compile and run test-time-c++.
54517         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54519         Tests of module 'sys_time' in C++ mode.
54520         * tests/test-sys_time-c++.cc: New file.
54521         * modules/sys_time-tests (Files): Add it and tests/signature.h.
54522         (Depends-on): Add ansi-c++-opt.
54523         (Makefile.am): Arrange to compile and run test-sys_time-c++.
54524         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
54525         gl_MODULE_INDICATOR.
54527         Tests of module 'sys_stat' in C++ mode.
54528         * tests/test-sys_stat-c++.cc: New file.
54529         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
54530         (Depends-on): Add ansi-c++-opt.
54531         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
54532         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
54533         gl_MODULE_INDICATOR.
54535         Tests of module 'sys_socket' in C++ mode.
54536         * tests/test-sys_socket-c++.cc: New file.
54537         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
54538         (Depends-on): Add ansi-c++-opt.
54539         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
54540         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
54541         gl_MODULE_INDICATOR.
54543         Tests of module 'sys_select' in C++ mode.
54544         * tests/test-sys_select-c++.cc: New file.
54545         * modules/sys_select-tests (Files): Add it and tests/signature.h.
54546         (Depends-on): Add ansi-c++-opt.
54547         (Makefile.am): Arrange to compile and run test-sys_select-c++.
54548         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
54549         gl_MODULE_INDICATOR.
54551         Tests of module 'sys_ioctl' in C++ mode.
54552         * tests/test-sys_ioctl-c++.cc: New file.
54553         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
54554         (Depends-on): Add ansi-c++-opt.
54555         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
54556         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
54557         gl_MODULE_INDICATOR.
54559         Tests of module 'string' in C++ mode.
54560         * tests/test-string-c++.cc: New file.
54561         * modules/string-tests (Files): Add it and tests/signature.h.
54562         (Depends-on): Add ansi-c++-opt.
54563         (Makefile.am): Arrange to compile and run test-string-c++.
54564         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
54565         gl_MODULE_INDICATOR.
54567         Tests of module 'stdlib' in C++ mode.
54568         * tests/test-stdlib-c++.cc: New file.
54569         * modules/stdlib-tests (Files): Add it and tests/signature.h.
54570         (Depends-on): Add ansi-c++-opt.
54571         (Makefile.am): Arrange to compile and run test-stdlib-c++.
54572         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
54573         gl_MODULE_INDICATOR.
54575         Tests of module 'stdio' in C++ mode.
54576         * tests/test-stdio-c++.cc: New file.
54577         * modules/stdio-tests (Files): Add it and tests/signature.h.
54578         (Depends-on): Add ansi-c++-opt.
54579         (Makefile.am): Arrange to compile and run test-stdio-c++.
54580         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
54581         gl_MODULE_INDICATOR.
54583         Tests of module 'spawn' in C++ mode.
54584         * tests/test-spawn-c++.cc: New file.
54585         * modules/spawn-tests (Files): Add it and tests/signature.h.
54586         (Depends-on): Add ansi-c++-opt.
54587         (Makefile.am): Arrange to compile and run test-spawn-c++.
54588         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
54589         gl_MODULE_INDICATOR.
54591         Tests of module 'signal' in C++ mode.
54592         * tests/test-signal-c++.cc: New file.
54593         * modules/signal-tests (Files): Add it and tests/signature.h.
54594         (Depends-on): Add ansi-c++-opt.
54595         (Makefile.am): Arrange to compile and run test-signal-c++.
54596         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
54597         gl_MODULE_INDICATOR.
54599         Tests of module 'search' in C++ mode.
54600         * tests/test-search-c++.cc: New file.
54601         * modules/search-tests (Files): Add it and tests/signature.h.
54602         (Depends-on): Add ansi-c++-opt.
54603         (Makefile.am): Arrange to compile and run test-search-c++.
54604         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
54605         gl_MODULE_INDICATOR.
54607         Tests of module 'math' in C++ mode.
54608         * tests/test-math-c++.cc: New file.
54609         * modules/math-tests (Files): Add it and tests/signature.h.
54610         (Depends-on): Add ansi-c++-opt.
54611         (Makefile.am): Arrange to compile and run test-math-c++.
54612         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54614         Tests of module 'locale' in C++ mode.
54615         * tests/test-locale-c++.cc: New file.
54616         * modules/locale-tests (Files): Add it and tests/signature.h.
54617         (Depends-on): Add ansi-c++-opt.
54618         (Makefile.am): Arrange to compile and run test-locale-c++.
54619         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
54620         gl_MODULE_INDICATOR.
54622         Tests of module 'langinfo' in C++ mode.
54623         * tests/test-langinfo-c++.cc: New file.
54624         * modules/langinfo-tests (Files): Add it and tests/signature.h.
54625         (Depends-on): Add ansi-c++-opt.
54626         (Makefile.am): Arrange to compile and run test-langinfo-c++.
54627         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
54628         gl_MODULE_INDICATOR.
54630         Tests of module 'iconv-h' in C++ mode.
54631         * tests/test-iconv-h-c++.cc: New file.
54632         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
54633         (Depends-on): Add ansi-c++-opt.
54634         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
54636         Tests of module 'glob' in C++ mode.
54637         * tests/test-glob-c++.cc: New file.
54638         * modules/glob-tests (Files): Add it.
54639         (Depends-on): Add ansi-c++-opt.
54640         (Makefile.am): Arrange to compile and run test-glob-c++.
54642         Tests of module 'fcntl-h' in C++ mode.
54643         * tests/test-fcntl-h-c++.cc: New file.
54644         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
54645         (Depends-on): Add ansi-c++-opt.
54646         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
54647         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
54648         gl_MODULE_INDICATOR.
54650         Tests of module 'dirent' in C++ mode.
54651         * tests/test-dirent-c++.cc: New file.
54652         * modules/dirent-tests (Files): Add it and tests/signature.h.
54653         (Depends-on): Add ansi-c++-opt.
54654         (Makefile.am): Arrange to compile and run test-dirent-c++.
54655         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54656         gl_MODULE_INDICATOR.
54658         New module 'ansi-c++-opt'.
54659         * modules/ansi-c++-opt: New file.
54660         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
54662         Document C++ namespace mode.
54663         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
54665         wctype: Avoid #define replacements in C++ mode.
54666         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
54667         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
54668         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
54669         In C++, define a namespaced alias symbol.
54670         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
54671         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
54672         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
54673         rule.
54675         wchar: Avoid #define replacements in C++ mode.
54676         * lib/wchar.in.h: Include c++defs.h.
54677         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
54678         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
54679         symbol.
54680         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
54681         * modules/wchar (Depends-on): Add c++defs.
54682         (Makefile.am): Update wchar.h rule.
54684         unistd: Avoid #define replacements in C++ mode.
54685         * lib/unistd.in.h: Include c++defs.h.
54686         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
54687         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
54688         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
54689         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
54690         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
54691         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
54692         symbol.
54693         (environ): Update.
54694         * modules/unistd (Depends-on): Add c++defs.
54695         (Makefile.am): Update unistd.h rule.
54697         time: Avoid #define replacements in C++ mode.
54698         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
54699         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
54700         define a namespaced alias symbol.
54701         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
54702         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
54703         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
54704         * modules/time (Depends-on): Add c++defs, warn-on-use.
54705         (Makefile.am): Update time.h rule.
54706         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54707         * modules/nanosleep (configure.ac): Likewise.
54708         * modules/strptime (configure.ac): Likewise.
54709         * modules/timegm (configure.ac): Likewise.
54711         sys_time: Avoid #define replacements in C++ mode.
54712         * lib/sys_time.in.h: Include c++defs.h.
54713         (gettimeofday): In C++, define a namespaced alias symbol.
54714         * modules/sys_time (Depends-on): Add c++defs.
54715         (Makefile.am): Update sys/time.h rule.
54717         sys_stat: Avoid #define replacements in C++ mode.
54718         * lib/sys_stat.in.h: Include c++defs.h.
54719         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
54720         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
54721         namespaced alias symbol.
54722         In C++, define a namespaced alias symbol.
54723         * modules/sys_stat (Depends-on): Add c++defs.
54724         (Makefile.am): Update sys/stat.h rule.
54726         sys_socket: Avoid #define replacements in C++ mode.
54727         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
54728         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
54729         definitions also when the system has a <sys/socket.h>.
54730         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54731         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
54732         In C++, define a namespaced alias symbol.
54733         * modules/sys_socket (Depends-on): Add c++defs.
54734         (Makefile.am): Update sys/socket.h rule.
54736         sys_select: Avoid #define replacements in C++ mode.
54737         * lib/sys_select.in.h: Include c++defs.h. Enable the function
54738         definitions also when the system has a <sys/select.h>.
54739         (select): In C++, define a namespaced alias symbol.
54740         * modules/sys_select (Depends-on): Add c++defs.
54741         (Makefile.am): Update sys/select.h rule.
54743         sys_ioctl: Avoid #define replacements in C++ mode.
54744         * lib/sys_ioctl.in.h: Include c++defs.h.
54745         (ioctl): In C++, define a namespaced alias symbol.
54746         * modules/sys_ioctl (Depends-on): Add c++defs.
54747         (Makefile.am): Update sys/ioctl.h rule.
54749         string: Avoid #define replacements in C++ mode.
54750         * lib/string.in.h: Include c++defs.h.
54751         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54752         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54753         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54754         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54755         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54756         * modules/string (Depends-on): Add c++defs.
54757         (Makefile.am): Update string.h rule.
54759         stdlib: Avoid #define replacements in C++ mode.
54760         * lib/stdlib.in.h: Include c++defs.h.
54761         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54762         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54763         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54764         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54765         symbol.
54766         * modules/stdlib (Depends-on): Add c++defs.
54767         (Makefile.am): Update stdlib.h rule.
54769         stdio: Avoid #define replacements in C++ mode.
54770         * lib/stdio.in.h: Include c++defs.h.
54771         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54772         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54773         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54774         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54775         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54776         namespaced alias symbol.
54777         * modules/stdio (Depends-on): Add c++defs.
54778         (Makefile.am): Update stdio.h rule.
54780         spawn: Avoid #define replacements in C++ mode.
54781         * lib/spawn.in.h: Include c++defs.h.
54782         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54783         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54784         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54785         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54786         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54787         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54788         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54789         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54790         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54791         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54792         In C++, define a namespaced alias symbol.
54793         * modules/spawn (Depends-on): Add c++defs.
54794         (Makefile.am): Update spawn.h rule.
54796         signal: Avoid #define replacements in C++ mode.
54797         * lib/signal.in.h: Include c++defs.h.
54798         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54799         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54800         namespaced alias symbol.
54801         * modules/signal (Depends-on): Add c++defs.
54802         (Makefile.am): Update signal.h rule.
54804         search: Avoid #define replacements in C++ mode.
54805         * lib/search.in.h: Include c++defs.h.
54806         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54807         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54808         symbol.
54809         * modules/search (Depends-on): Add c++defs.
54810         (Makefile.am): Update search.h rule.
54812         math: Avoid #define replacements in C++ mode.
54813         * lib/math.in.h: Include c++defs.h.
54814         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54815         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54816         trunc, truncl): In C++, define a namespaced alias symbol.
54817         * modules/math (Depends-on): Add c++defs.
54818         (Makefile.am): Update math.h rule.
54820         locale: Avoid #define replacements in C++ mode.
54821         * lib/locale.in.h: Include c++defs.h.
54822         (duplocale): In C++, define a namespaced alias symbol.
54823         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54824         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54825         * modules/locale (Depends-on): Add c++defs.
54826         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54828         langinfo: Avoid #define replacements in C++ mode.
54829         * lib/langinfo.in.h: Include c++defs.h.
54830         (nl_langinfo): In C++, define a namespaced alias symbol.
54831         * modules/langinfo (Depends-on): Add c++defs.
54832         (Makefile.am): Update langinfo.h rule.
54834         iconv-h: Avoid #define replacements in C++ mode.
54835         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54836         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54837         symbol.
54838         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54839         whenever iconv is present.
54840         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54841         (Makefile.am): Update iconv.h rule.
54843         glob: Avoid #define replacements in C++ mode.
54844         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54845         (_gl_glob_errfunc_fn): New type.
54846         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54847         symbol.
54848         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54849         (Makefile.am): Update glob.h rule.
54851         fcntl-h: Avoid #define replacements in C++ mode.
54852         * lib/fcntl.in.h: Include c++defs.h.
54853         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54854         * modules/fcntl-h (Depends-on): Add c++defs.
54855         (Makefile.am): Update fcntl.h rule.
54857         dirent: Avoid #define replacements in C++ mode.
54858         * lib/dirent.in.h: Include c++defs.h.
54859         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54860         namespaced alias symbol.
54861         (dirfd): Update declaration.
54862         * modules/dirent (Depends-on): Add c++defs.
54863         (Makefile.am): Update dirent.h rule.
54865         ctype: Make it usable in C++ code.
54866         * lib/ctype.in.h: Include c++defs.h.
54867         (isblank): Declare as extern "C".
54868         * modules/ctype (Depends-on): Add c++defs.
54869         (Makefile.am): Update ctype.h rule.
54871         New module 'c++defs'.
54872         * modules/c++defs: New file.
54873         * build-aux/c++defs.h: New file.
54874         Reported by John W. Eaton <jwe@gnu.org>.
54876 2010-03-07  Bruno Haible  <bruno@clisp.org>
54878         logb: Provide missing declaration for Cygwin.
54879         * lib/math.in.h (logb): New declaration.
54880         * m4/logb.m4: New file.
54881         * modules/logb (Files): Add m4/logb.m4.
54882         (Depends-on): Add math.
54883         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54884         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54886         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54887         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54889 2010-03-07  Bruno Haible  <bruno@clisp.org>
54891         Fix test-cond link error.
54892         * tests/test-cond.c: Include <stdio.h>.
54894 2010-03-07  Bruno Haible  <bruno@clisp.org>
54896         Fix test-dirent-safer link error.
54897         * modules/dirent-safer-tests (Makefile.am): Define
54898         test_dirent_safer_LDADD.
54900 2010-03-07  Bruno Haible  <bruno@clisp.org>
54902         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54903         among default module list.
54905 2010-03-07  Bruno Haible  <bruno@clisp.org>
54907         Fix link error on platforms with GNU libiconv.
54908         * modules/unistr/u8-strcoll-tests (Makefile): Define
54909         test_u8_strcoll_LDADD.
54910         * modules/unistr/u16-strcoll-tests (Makefile): Define
54911         test_u16_strcoll_LDADD.
54912         * modules/unistr/u32-strcoll-tests (Makefile): Define
54913         test_u32_strcoll_LDADD.
54915 2010-03-07  Bruno Haible  <bruno@clisp.org>
54917         Use POSIX declarations for socket functions.
54918         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54919         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54920         rpl_sendto): Change declaration to match POSIX.
54921         * lib/connect.c (rpl_connect): Likewise.
54922         * lib/accept.c (rpl_accept): Likewise.
54923         * lib/bind.c (rpl_bind): Likewise.
54924         * lib/getpeername.c (rpl_getpeername): Likewise.
54925         * lib/getsockname.c (rpl_getsockname): Likewise.
54926         * lib/recv.c (rpl_recv): Likewise.
54927         * lib/send.c (rpl_send): Likewise.
54928         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54929         * lib/sendto.c (rpl_sendto): Likewise.
54931 2010-03-06  Bruno Haible  <bruno@clisp.org>
54933         Clarify access, euidaccess, faccessat.
54934         * doc/posix-functions/faccessat.texi: Mention security problem under
54935         "Other problems", not "Portability problems".
54936         * doc/posix-functions/access.texi: Likewise. Mention a related security
54937         problem.
54938         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54939         * lib/euidaccess.c: Add comments about platforms.
54940         * lib/unistd.in.h (access, euidaccess): Add warnings.
54942 2010-03-07  Bruno Haible  <bruno@clisp.org>
54944         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54945         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54946         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54947         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54948         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54949         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54950         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54951         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54952         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54953         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54954         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54955         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54956         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54957         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54958         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54959         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54960         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54961         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54962         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54963         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54964         Likewise.
54965         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
54966         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
54967         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
54968         Likewise.
54969         * tests/test-spawn.c (main): Make it work when
54970         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54972 2010-03-07  Bruno Haible  <bruno@clisp.org>
54974         Fix incorrect Makefile.am generation in German locale.
54975         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54976         Execute sed command with character range in C locale.
54978 2010-03-06  Bruno Haible  <bruno@clisp.org>
54980         Tests for module 'iconv-h'.
54981         * modules/iconv-h-tests: New file.
54982         * tests/test-iconv-h.c: New file.
54984         New module 'iconv-h'.
54985         * modules/iconv-h: New file.
54986         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
54987         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
54988         (configure.ac): Remove gl_ICONV_H.
54989         (Makefile.am): Remove rule for iconv.h.
54991 2010-03-06  Bruno Haible  <bruno@clisp.org>
54993         More consistent naming of *.m4 files.
54994         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
54995         * modules/wctype (Files): Update.
54997         More consistent naming of *.m4 files.
54998         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
54999         * modules/wchar (Files): Update.
55001 2010-03-06  Jim Meyering  <meyering@redhat.com>
55003         euidaccess: relax license to LGPLv2+
55004         * modules/euidaccess (License): Relax to LGPLv2+.
55006 2010-03-06  Bruno Haible  <bruno@clisp.org>
55008         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
55009         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
55010         (Makefile.am): Augment lib_SOURCES instead.
55012 2010-03-04  Jim Meyering  <meyering@redhat.com>
55014         utime: remove obsolete module
55015         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
55016         unnecessary for years, and has been marked as obsolete for 10 months.
55017         * modules/utime: Remove file.
55018         * lib/utime.c: Remove file.
55019         * m4/utime.m4: Remove file.
55020         * m4/utimes-null.m4: Remove file.
55021         * doc/posix-functions/utime.texi (utime): Remove reference to
55022         the module.  Move the sole "fixed by gnulib" item into the
55023         "problems not fixed by Gnulib" list.
55024         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
55026 2010-03-05  Simon Josefsson  <simon@josefsson.org>
55028         * modules/exit (License): Relax license to LGPLv2+.
55029         (Status): Mark as obsolete.
55030         * NEWS: Mention deprecated 'exit' module.
55031         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
55032         of now obsolete 'exit'.
55034 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55036         fts-lgpl: remove unused module
55037         * modules/fts-lgpl: Remove.
55038         * MODULES.html.sh (func_all_modules): Adjust.
55039         * check-module (find_included_lib_files): Adjust.
55040         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
55042 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
55044         copy-acl: enhance Solaris ACL error handling
55045         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
55046         * lib/set-mode-acl.c (qset_acl): Likewise.
55048 2010-03-02  Bruno Haible  <bruno@clisp.org>
55050         spawn: Don't override the system defined values on FreeBSD 8.
55051         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
55052         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
55053         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
55054         if HAVE_POSIX_SPAWN is 1.
55055         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
55057 2010-03-01  Bruno Haible  <bruno@clisp.org>
55059         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
55060         regarding Automake.
55062 2010-02-25  Bruno Haible  <bruno@clisp.org>
55064         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
55065         * gnulib-tool: Define 'echo' as a function only before the ksh alias
55066         setting, not afterwards.
55067         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
55069 2010-02-24  Eric Blake  <eblake@redhat.com>
55071         bootstrap, git-version-gen: use timestamp
55072         * build-aux/git-version-gen (scriptversion): Force UTC.
55073         * build-aux/bootstrap (scriptversion): New variable.
55075         bootstrap: allow older git
55076         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
55077         older than 1.6.4.  Requested by the libvirt project.
55079 2010-02-23  Eric Blake  <eblake@redhat.com>
55081         warn-on-use: work with old autoconf
55082         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
55083         AS_VAR semantics of autoconf 2.60.
55084         Reported by Bruno Haible.
55086         bootstrap: improve some comments
55087         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
55088         clarification comments.
55090         gettimeofday: provide correct function
55091         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
55092         when replacement is declared, otherwise provide gettimeofday.
55093         Reported by Michael Goffioul.
55095 2010-02-23  Jim Meyering  <meyering@redhat.com>
55097         lib-ignore: relax license to "unlimited", not LGPLv2+
55098         * modules/lib-ignore (License): Relax to "unlimited".
55100 2010-02-23  Jim Meyering  <meyering@redhat.com>
55102         lib-ignore: relax license to LGPLv2+
55103         * modules/lib-ignore (License): Relax to LGPLv2+.
55105 2010-02-22  Eric Blake  <eblake@redhat.com>
55107         lseek: avoid bash 3.2 broken pipe bug
55108         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
55109         warning from bash 3.2.
55110         Reported by Ben Pfaff, with analysis from Bruno Haible.
55112         bootstrap: support non-FSF copyright holder
55113         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
55114         bootstrap.conf override of COPYRIGHT_HOLDER.
55115         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
55117         bootstrap: interoperate with gettext 0.14.1
55118         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
55120         bootstrap: allow for alternate submodule location
55121         * build-aux/bootstrap (gnulib_path): New variable; use instead of
55122         hardcoding submodule location.
55123         (gnulib_mk): Allow direct use of Makefile.am.
55125         bootstrap: use GNULIB_SRCDIR to reduce disk usage
55126         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
55127         rather than reconfiguring where the submodule points.
55129         gettimeofday: restore support for platforms that lack function
55130         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
55131         replacement if function is missing.
55132         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
55133         * modules/sys_time (Makefile.am): Substitute it.
55134         * lib/sys_time.in.h (gettimeofday): Check it.
55135         Reported by Michael Goffioul.
55137 2010-02-21  Bruno Haible  <bruno@clisp.org>
55139         * lib/stdio.in.h (obstack_printf): Fix typo.
55141 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
55143         vc-list-files: use bzr ls's -R option
55144         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
55145         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
55147 2010-02-21  Jim Meyering  <meyering@redhat.com>
55149         init.sh: fix EXEEXT shims to work also for names like test-prog
55150         * tests/init.sh: Re-exec a better shell, when needed.
55151         If the current shell lacks support for posix $(...), an init.sh-using
55152         test will now try to find a shell that supports that.  If EXEEXT is
55153         nonempty, we also require support for hyphen-in-alias-name and shell
55154         substitutions like ${var#glob}.  Failure to find such a shell results
55155         in a skipped test.
55157 2010-02-21  Bruno Haible  <bruno@clisp.org>
55159         Really work around "broken pipe" error message from bash 3.2.
55160         * gnulib-tool (func_reset_sigpipe): Remove function.
55161         (echo): In bash 3.2, define to a function that uses printf.
55162         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
55164 2010-02-20  Bruno Haible  <bruno@clisp.org>
55166         Restore support for automake 1.9.6 with autoconf 2.61.
55167         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
55168         Reported by James Youngman <jay@gnu.org>.
55170 2010-02-20  Bruno Haible  <bruno@clisp.org>
55172         Improve *printf warning condition.
55173         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
55174         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
55175         and the function is overridden due to SIGPIPE emulation.
55177 2010-02-20  Bruno Haible  <bruno@clisp.org>
55179         * lib/stdio.in.h: Tweak comments.
55181 2010-02-19  Bruno Haible  <bruno@clisp.org>
55183         Make it easier to find modules. New gnulib-tool option '--find'.
55184         * gnulib-tool: New option --find.
55185         (func_usage): Document it.
55186         (func_sanitize_modulelist): New function, extracted from
55187         func_all_modules.
55188         (func_all_modules): Invoke it.
55189         * doc/gnulib-tool.texi (Which modules?): New node.
55191 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
55193         * lib/sys_select.in.h: Provide select replacement even if
55194         sys/select.h exists on a system, for Interix.
55196 2010-02-18  Jim Meyering  <meyering@redhat.com>
55198         init.sh: don't use $(...) just yet
55199         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
55200         to accommodate e.g., Solaris' /bin/sh.
55202 2010-02-17  Bruno Haible  <bruno@clisp.org>
55204         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
55205         Reported by Ludovic Courtès <ludo@gnu.org>.
55207 2010-02-16  Simon Josefsson  <simon@josefsson.org>
55209         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
55210         linking with -lintl.
55212 2010-02-17  Simon Josefsson  <simon@josefsson.org>
55214         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
55215         if not provided by the system's netdb.h.  Reported by
55216         ludo@gnu.org (Ludovic Courtès).
55218 2010-02-15  Jim Meyering  <meyering@redhat.com>
55220         init.sh: improve portability and efficiency
55221         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
55222         "dummy" in a for loop.
55223         Use '!', not '^' to select the complement of a character set used
55224         in a "case" statement.
55225         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
55226         Suggestions from Eric Blake.
55228         init.sh: automatically accommodate programs with the .exe suffix
55229         Automatically arrange for an invocation of "prog" to execute the
55230         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
55231         may use the simpler "prog", yet still work when built on a system
55232         that requires specifying the added suffix.
55233         Do this by constructing a function named "prog" that invokes
55234         "prog.exe" for each .exe file in selected directories.
55235         * tests/init.sh (find_exe_basenames_): New function.
55236         (create_exe_shim_functions_): New function.
55237         (path_prepend_): Use it.
55239         maint.mk: mark syntax-check sc_*.m rules as .PHONY
55240         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
55241         "make -t syntax-check" doesn't create a ton of sc_*.m files.
55243 2010-02-14  Jim Meyering  <meyering@redhat.com>
55245         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
55246         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
55247         (sc_prohibit_hash_pjw_without_use): New rule.
55249         maint.mk: allow the default upload destination dir to be overridden
55250         * top/maint.mk (upload_dest_dir_): Define with a default that
55251         preserves the status quo.
55252         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
55253         Reported by Peter Simons.
55255         maint.mk: prohibit inclusion of "hash.h" without_use
55256         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
55258 2010-02-10  Jim Meyering  <meyering@redhat.com>
55260         maint.mk: prohibit inclusion of "ignore-value.h" without_use
55261         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
55263 2010-02-09  Eric Blake  <ebb9@byu.net>
55264         and Bruno Haible  <bruno@clisp.org>
55266         obstack-printf-posix: ensure declaration
55267         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
55268         extracted from gl_FUNC_OBSTACK_PRINTF.
55269         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
55270         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55271         Likewise.
55272         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
55273         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
55274         0.
55276 2010-02-08  Bruno Haible  <bruno@clisp.org>
55278         gnulib-tool: Fix typo in 2010-02-07 commit.
55279         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
55280         Reported by Eric Blake.
55282 2010-02-07  Bruno Haible  <bruno@clisp.org>
55284         gnulib-tool: Fix up caching patches.
55285         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
55286         option --no-cache. Use associative arrays when supported by the shell.
55287         (sed_comments): New variable.
55288         (modcache): Renamed from do_cache.
55289         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
55290         abbreviate unnecessarily.
55291         (have_associative): New variable.
55292         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
55293         way also for ksh and zsh.
55294         (func_init_sed_convert_to_cache_statements): New function, extracted
55295         from func_cache_lookup_module. Add support for associative arrays.
55296         Don't set the c_MODULE_cached variable here. Ignore all lines before
55297         the first field header. Remove only the final newline, not all trailing
55298         newlines. Support empty fields correctly. Limit the use of 'eval' to
55299         assignments.
55300         (func_get_description, func_get_status, func_get_notice,
55301         func_get_applicability, func_get_filelist, func_get_dependencies,
55302         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
55303         func_get_automake_snippet, func_get_include_directive,
55304         func_get_link_directive, func_get_license, func_get_maintainer):
55305         Update documentation. List the unoptimized code first. Add support for
55306         associative arrays. Limit the use of 'eval' to assignments.
55307         (func_get_applicability): Undo stylistic pessimisations.
55308         (func_get_automake_snippet, func_get_include_directive): Reduce code
55309         duplication.
55310         (func_modules_transitive_closure, func_modules_add_dummy,
55311         func_modules_notice, func_modules_to_filelist, func_add_file,
55312         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
55313         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
55314         func_create_testdir, func_create_megatestdir): Update documentation.
55316 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55318         * gnulib-tool (func_cache_lookup_module): Store the module name
55319         belonging to the cache variable; error out if two different
55320         module names map to the same cache variable name.
55322 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55324         gnulib-tool: Make caching optional.
55325         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
55326         Update matching short versions of --no-changelog.
55327         (func_usage): Update.
55328         (sed_extract_cache_prog): Renamed from ...
55329         (sed_extract_prog): ... this; revert to old extraction script.
55330         (func_get_description, func_get_status)
55331         (func_get_notice, func_get_applicability, func_get_filelist)
55332         (func_get_dependencies, func_get_autoconf_early_snippet)
55333         (func_get_autoconf_snippet, func_get_automake_snippet)
55334         (func_get_include_directive, func_get_link_directive)
55335         (func_get_license, func_get_maintainer): If $do_cache is false,
55336         use old, non-caching extraction scripts.
55337         Suggestion by Bruno Haible.
55339 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55341         gnulib-tool: cache module metainformation.
55342         * gnulib-tool (sed_extract_prog): Match newline before each
55343         header, and rewrite header to a shell variable suffix.
55344         (func_cache_var, func_cache_lookup_module): New functions,
55345         to turn a module name into a cache variable prefix, and to
55346         look up and cache module metainformation.
55347         (func_get_description, func_get_status)
55348         (func_get_notice, func_get_applicability, func_get_filelist)
55349         (func_get_dependencies, func_get_autoconf_early_snippet)
55350         (func_get_autoconf_snippet, func_get_automake_snippet)
55351         (func_get_include_directive, func_get_link_directive)
55352         (func_get_license, func_get_maintainer): Use
55353         func_cache_lookup_module.
55355 2010-02-07  Bruno Haible  <bruno@clisp.org>
55357         fnctl: Fix missing dependency.
55358         * modules/fcntl (Depends-on): Add getdtablesize.
55359         Reported by John W. Eaton <jwe@gnu.org>.
55361 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55363         Argp: fix recognition of short alias options.
55365         * lib/argp-parse.c (convert_options): Fix improper use of
55366         `|' between character values.
55367         * tests/test-argp.c (group1_option): New alias option
55368         --read (-r).
55369         (group1_parser): Special handling for 'r'.
55370         (test15): New test case.
55371         (test_fun): Add test15.
55372         * tests/test-argp-2.sh: Update expected --help and --usage
55373         outputs.
55375 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55377         * tests/test-argp.c: Fix indentation.
55379 2010-02-04  Eric Blake  <ebb9@byu.net>
55381         gettimeofday: expose type of second argument
55382         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
55383         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
55384         * tests/test-gettimeofday.c: Use it to silence warning.
55385         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
55386         the issue.
55388 2010-02-03  Jim Meyering  <meyering@redhat.com>
55390         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
55391         * lib/regcomp.c (TYPE_SIGNED): Define.
55392         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
55394         regcomp.c: avoid a new -Wshadow warning
55395         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
55397 2010-02-01  Jim Meyering  <meyering@redhat.com>
55399         removing useless parentheses in cpp #define directives
55400         For motivation, see commit c0221df4, "define STREQ(a,b)
55401         consistently, removing useless parentheses"
55402         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
55403         * lib/mountlist.c (MNT_IGNORE): Likewise.
55404         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
55406 2010-02-01  Eric Blake  <ebb9@byu.net>
55408         sys_time: use link-warning
55409         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
55410         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
55411         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
55412         * modules/sys_time (Depends-on): Add warn-on-use.
55413         (Makefile.am): Always build replacement.
55414         (configure.ac): Update substitutions.
55415         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
55416         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
55417         bother with SYS_TIME_H.
55418         * modules/gettimeofday (configure.ac): Declare indicator.
55419         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
55420         in use.
55422         closein-tests: silence compiler warning
55423         * tests/test-closein.c (main): Ignore fread result.
55424         * modules/closein-tests (Depends-on): Add ignore-value.
55426         tests: silence warning about system return
55427         * tests/test-areadlink-with-size.c (main): Ignore system result.
55428         * tests/test-areadlink.c (main): Likewise.
55429         * tests/test-areadlinkat-with-size.c (main): Likewise.
55430         * tests/test-areadlinkat.c (main): Likewise.
55431         * tests/test-canonicalize-lgpl.c (main): Likewise.
55432         * tests/test-canonicalize.c (main): Likewise.
55433         * tests/test-chown.c (main): Likewise.
55434         * tests/test-fchownat.c (main): Likewise.
55435         * tests/test-fdutimensat.c (main): Likewise.
55436         * tests/test-fstatat.c (main): Likewise.
55437         * tests/test-futimens.c (main): Likewise.
55438         * tests/test-lchown.c (main): Likewise.
55439         * tests/test-link.c (main): Likewise.
55440         * tests/test-linkat.c (main): Likewise.
55441         * tests/test-lstat.c (main): Likewise.
55442         * tests/test-mkdir.c (main): Likewise.
55443         * tests/test-mkdirat.c (main): Likewise.
55444         * tests/test-mkfifo.c (main): Likewise.
55445         * tests/test-mkfifoat.c (main): Likewise.
55446         * tests/test-mknod.c (main): Likewise.
55447         * tests/test-readlink.c (main): Likewise.
55448         * tests/test-remove.c (main): Likewise.
55449         * tests/test-rename.c (main): Likewise.
55450         * tests/test-renameat.c (main): Likewise.
55451         * tests/test-rmdir.c (main): Likewise.
55452         * tests/test-symlink.c (main): Likewise.
55453         * tests/test-symlinkat.c (main): Likewise.
55454         * tests/test-unlink.c (main): Likewise.
55455         * tests/test-unlinkat.c (main): Likewise.
55456         * tests/test-utimens.c (main): Likewise.
55457         * tests/test-utimensat.c (main): Likewise.
55458         * modules/areadlink-tests (Depends-on): Add ignore-value.
55459         * modules/areadlink-with-size-tests (Depends-on): Likewise.
55460         * modules/areadlinkat-tests (Depends-on): Likewise.
55461         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
55462         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
55463         * modules/canonicalize-tests (Depends-on): Likewise.
55464         * modules/chown-tests (Depends-on): Likewise.
55465         * modules/fdutimensat-tests (Depends-on): Likewise.
55466         * modules/futimens-tests (Depends-on): Likewise.
55467         * modules/lchown-tests (Depends-on): Likewise.
55468         * modules/link-tests (Depends-on): Likewise.
55469         * modules/linkat-tests (Depends-on): Likewise.
55470         * modules/lstat-tests (Depends-on): Likewise.
55471         * modules/mkdir-tests (Depends-on): Likewise.
55472         * modules/mkfifo-tests (Depends-on): Likewise.
55473         * modules/mkfifoat-tests (Depends-on): Likewise.
55474         * modules/mknod-tests (Depends-on): Likewise.
55475         * modules/openat-tests (Depends-on): Likewise.
55476         * modules/readlink-tests (Depends-on): Likewise.
55477         * modules/remove-tests (Depends-on): Likewise.
55478         * modules/rename-tests (Depends-on): Likewise.
55479         * modules/renameat-tests (Depends-on): Likewise.
55480         * modules/rmdir-tests (Depends-on): Likewise.
55481         * modules/symlink-tests (Depends-on): Likewise.
55482         * modules/symlinkat-tests (Depends-on): Likewise.
55483         * modules/unlink-tests (Depends-on): Likewise.
55484         * modules/utimens-tests (Depends-on): Likewise.
55485         * modules/utimensat-tests (Depends-on): Likewise.
55487 2010-01-31  Bruno Haible  <bruno@clisp.org>
55489         Perform the same test for many <math.h> functions.
55490         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
55491         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
55492         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
55493         of gl_MATHFUNC.
55494         * modules/acos (configure.ac): Likewise.
55495         * modules/asin (configure.ac): Likewise.
55496         * modules/atan (configure.ac): Likewise.
55497         * modules/atan2 (configure.ac): Likewise.
55498         * modules/cbrt (configure.ac): Likewise.
55499         * modules/copysign (configure.ac): Likewise.
55500         * modules/cos (configure.ac): Likewise.
55501         * modules/cosh (configure.ac): Likewise.
55502         * modules/erf (configure.ac): Likewise.
55503         * modules/erfc (configure.ac): Likewise.
55504         * modules/exp (configure.ac): Likewise.
55505         * modules/fmod (configure.ac): Likewise.
55506         * modules/hypot (configure.ac): Likewise.
55507         * modules/j0 (configure.ac): Likewise.
55508         * modules/j1 (configure.ac): Likewise.
55509         * modules/jn (configure.ac): Likewise.
55510         * modules/lgamma (configure.ac): Likewise.
55511         * modules/log (configure.ac): Likewise.
55512         * modules/log10 (configure.ac): Likewise.
55513         * modules/log1p (configure.ac): Likewise.
55514         * modules/pow (configure.ac): Likewise.
55515         * modules/remainder (configure.ac): Likewise.
55516         * modules/sin (configure.ac): Likewise.
55517         * modules/sinh (configure.ac): Likewise.
55518         * modules/tan (configure.ac): Likewise.
55519         * modules/tanh (configure.ac): Likewise.
55520         * modules/y0 (configure.ac): Likewise.
55521         * modules/y1 (configure.ac): Likewise.
55522         * modules/yn (configure.ac): Likewise.
55523         Suggested by Paolo Bonzini.
55525 2010-01-31  Bruno Haible  <bruno@clisp.org>
55527         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
55529 2010-01-31  Bruno Haible  <bruno@clisp.org>
55531         Work around getdelim() bug on FreeBSD 8.0.
55532         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
55533         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
55534         not work.
55535         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
55536         is 1.
55537         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
55538         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
55539         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
55540         a non-zero size.
55541         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
55543 2010-01-31  Bruno Haible  <bruno@clisp.org>
55545         Work around getline() bug on FreeBSD 8.0.
55546         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
55547         and a non-zero size.
55548         * tests/test-getline.c (main): Likewise.
55549         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
55550         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
55552 2010-01-28  Eric Blake  <ebb9@byu.net>
55554         regex: fix build failure
55555         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
55556         platforms.
55558 2010-01-28  Jim Meyering  <meyering@redhat.com>
55560         regex: do not ignore memory allocation failure
55561         * lib/regex_internal.c (create_cd_newstate): Detect
55562         re_node_set_init_copy failure.   Extracted from glibc commit
55563         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55565         regex: sync more white-space changes from libc
55566         * lib/regex_internal.c: White-space only changes.
55567         * lib/regexec.c: Likewise.
55569         regex: add many uses of __attribute_warn_unused_result__
55570         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
55571         * lib/regexec.c: Likewise.
55572         Extracted from a messy glibc commit.
55574         regcomp.c: spelling and merge-artifact from glibc
55575         * lib/regcomp.c: Merge remainder of glibc's
55576         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55578         regcomp.c: sync white-space changes from glibc
55579         * lib/regcomp.c: Merge to accommodate white space
55580         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55582         regcomp.c: do not ignore internal return values
55583         * lib/regcomp.c: Do not ignore internal return values.
55584         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
55585         but without its white-space changes and spelling fixes.
55587         regex_internal.h: define __attribute_warn_unused_result__
55588         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
55590         maint: add a syntax-check rule to check for vulnerable Makefile.in
55591         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
55593 2010-01-27  Jim Meyering  <meyering@redhat.com>
55595         ncftpput-ftp: clean up spaces
55596         * build-aux/ncftpput-ftp: Make Copyright line consistent.
55597         Remove trailing blanks.
55599 2010-01-27  Simon Josefsson  <simon@josefsson.org>
55601         * build-aux/git-version-gen: Fix copyright statement.
55602         * build-aux/gnupload: Likewise.
55603         * tests/test-arcfour.c: Likewise.
55604         * tests/test-arctwo.c: Likewise.
55605         * tests/test-count-one-bits.c: Likewise.
55606         * tests/test-crc.c: Likewise.
55607         * tests/test-des.c: Likewise.
55608         * tests/test-gc-arcfour.c: Likewise.
55609         * tests/test-gc-arctwo.c: Likewise.
55610         * tests/test-gc-des.c: Likewise.
55611         * tests/test-gc-hmac-md5.c: Likewise.
55612         * tests/test-gc-hmac-sha1.c: Likewise.
55613         * tests/test-gc-md2.c: Likewise.
55614         * tests/test-gc-md4.c: Likewise.
55615         * tests/test-gc-md5.c: Likewise.
55616         * tests/test-gc-pbkdf2-sha1.c: Likewise.
55617         * tests/test-gc-rijndael.c: Likewise.
55618         * tests/test-gc-sha1.c: Likewise.
55619         * tests/test-gc.c: Likewise.
55620         * tests/test-gethostname.c: Likewise.
55621         * tests/test-gettimeofday.c: Likewise.
55622         * tests/test-hash.c: Likewise.
55623         * tests/test-hmac-md5.c: Likewise.
55624         * tests/test-hmac-sha1.c: Likewise.
55625         * tests/test-md2.c: Likewise.
55626         * tests/test-md4.c: Likewise.
55627         * tests/test-md5.c: Likewise.
55628         * tests/test-memchr.c: Likewise.
55629         * tests/test-memchr2.c: Likewise.
55630         * tests/test-memcmp.c: Likewise.
55631         * tests/test-memmem.c: Likewise.
55632         * tests/test-memrchr.c: Likewise.
55633         * tests/test-rawmemchr.c: Likewise.
55634         * tests/test-read-file.c: Likewise.
55635         * tests/test-rijndael.c: Likewise.
55636         * tests/test-sockets.c: Likewise.
55637         * tests/test-strchrnul.c: Likewise.
55638         * tests/test-strstr.c: Likewise.
55639         * tests/test-strtod.c: Likewise.
55640         * build-aux/ncftpput-ftp: Likewise.
55642 2010-01-26  Eric Blake  <ebb9@byu.net>
55644         ignore-value: update recommended header name
55645         * modules/ignore-value (Include): Only use <> for headers that
55646         exist in glibc.
55648 2010-01-26  Jim Meyering  <meyering@redhat.com>
55650         test-userspec.c: avoid compiler warnings
55651         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
55652         and "initialization discards qualifiers..." warnings.
55653         Put the first "uid" in its own scope, and make char* members "const".
55655 2010-01-25  Bruno Haible  <bruno@clisp.org>
55657         gnulib-tool: Make warning diagnostics consistent.
55658         * gnulib-tool (func_warning): New function.
55659         Use it everywhere where gnulib-tool produces output to stderr and it is
55660         not a fatal error.
55662 2010-01-25  Bruno Haible  <bruno@clisp.org>
55664         Fix test dependencies.
55665         * modules/xstrtol-tests (Depends-on): Add inttypes.
55666         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
55668 2010-01-25  Pádraig Brady  <P@draigBrady.com>
55670         syntax-check: detect incorrect boolean macro values in config.h
55671         * modules/maintainer-makefile (configure.ac): Parameterize the location
55672         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
55673         The logic is from Eric Blake and the location indicated by Jim Meyering.
55674         Note the more natural CONFIG_HEADER name is prohibited by automake
55675         for backwards compatibility reasons.
55676         * top/maint.mk (sc_Wundef_boolean): New rule.
55678 2010-01-25  Jim Meyering  <meyering@redhat.com>
55680         bootstrap: detect MacOS 10.6's shasum, too
55681         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
55682         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
55684 2010-01-23  Jim Meyering  <meyering@redhat.com>
55686         xstrtoll: new module
55687         * modules/xstrtoll: New file.
55688         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
55689         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
55690         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
55691         ./configure fails if you use this module and lack "long long".
55692         * modules/xstrtoll-tests: New module.
55693         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
55694         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
55695         new init.sh-based test framework.
55697 2010-01-24  Bruno Haible  <bruno@clisp.org>
55699         Tests for module 'yn'.
55700         * modules/yn-tests: New file.
55701         * tests/test-yn.c: New file.
55703         Tests for module 'y1'.
55704         * modules/y1-tests: New file.
55705         * tests/test-y1.c: New file.
55707         Tests for module 'y0'.
55708         * modules/y0-tests: New file.
55709         * tests/test-y0.c: New file.
55711         Tests for module 'tanh'.
55712         * modules/tanh-tests: New file.
55713         * tests/test-tanh.c: New file.
55715         Tests for module 'tan'.
55716         * modules/tan-tests: New file.
55717         * tests/test-tan.c: New file.
55719         Tests for module 'sqrt'.
55720         * modules/sqrt-tests: New file.
55721         * tests/test-sqrt.c: New file.
55723         Tests for module 'sinh'.
55724         * modules/sinh-tests: New file.
55725         * tests/test-sinh.c: New file.
55727         Tests for module 'sin'.
55728         * modules/sin-tests: New file.
55729         * tests/test-sin.c: New file.
55731         Tests for module 'rint'.
55732         * modules/rint-tests: New file.
55733         * tests/test-rint.c: New file.
55735         Tests for module 'remainder'.
55736         * modules/remainder-tests: New file.
55737         * tests/test-remainder.c: New file.
55739         Tests for module 'pow'.
55740         * modules/pow-tests: New file.
55741         * tests/test-pow.c: New file.
55743         Tests for module 'nextafter'.
55744         * modules/nextafter-tests: New file.
55745         * tests/test-nextafter.c: New file.
55747         Tests for module 'modf'.
55748         * modules/modf-tests: New file.
55749         * tests/test-modf.c: New file.
55751         Tests for module 'logb'.
55752         * modules/logb-tests: New file.
55753         * tests/test-logb.c: New file.
55755         Tests for module 'log1p'.
55756         * modules/log1p-tests: New file.
55757         * tests/test-log1p.c: New file.
55759         Tests for module 'log10'.
55760         * modules/log10-tests: New file.
55761         * tests/test-log10.c: New file.
55763         Tests for module 'log'.
55764         * modules/log-tests: New file.
55765         * tests/test-log.c: New file.
55767         Tests for module 'lgamma'.
55768         * modules/lgamma-tests: New file.
55769         * tests/test-lgamma.c: New file.
55771         Tests for module 'ldexp'.
55772         * modules/ldexp-tests: New file.
55773         * tests/test-ldexp.c: New file.
55775         Tests for module 'jn'.
55776         * modules/jn-tests: New file.
55777         * tests/test-jn.c: New file.
55779         Tests for module 'j1'.
55780         * modules/j1-tests: New file.
55781         * tests/test-j1.c: New file.
55783         Tests for module 'j0'.
55784         * modules/j0-tests: New file.
55785         * tests/test-j0.c: New file.
55787         Tests for module 'hypot'.
55788         * modules/hypot-tests: New file.
55789         * tests/test-hypot.c: New file.
55791         Tests for module 'fmod'.
55792         * modules/fmod-tests: New file.
55793         * tests/test-fmod.c: New file.
55795         Tests for module 'fabs'.
55796         * modules/fabs-tests: New file.
55797         * tests/test-fabs.c: New file.
55799         Tests for module 'exp'.
55800         * modules/exp-tests: New file.
55801         * tests/test-exp.c: New file.
55803         Tests for module 'erfc'.
55804         * modules/erfc-tests: New file.
55805         * tests/test-erfc.c: New file.
55807         Tests for module 'erf'.
55808         * modules/erf-tests: New file.
55809         * tests/test-erf.c: New file.
55811         Tests for module 'cosh'.
55812         * modules/cosh-tests: New file.
55813         * tests/test-cosh.c: New file.
55815         Tests for module 'cos'.
55816         * modules/cos-tests: New file.
55817         * tests/test-cos.c: New file.
55819         Tests for module 'copysign'.
55820         * modules/copysign-tests: New file.
55821         * tests/test-copysign.c: New file.
55823         Tests for module 'cbrt'.
55824         * modules/cbrt-tests: New file.
55825         * tests/test-cbrt.c: New file.
55827         Tests for module 'atan2'.
55828         * modules/atan2-tests: New file.
55829         * tests/test-atan2.c: New file.
55831         Tests for module 'atan'.
55832         * modules/atan-tests: New file.
55833         * tests/test-atan.c: New file.
55835         Tests for module 'asin'.
55836         * modules/asin-tests: New file.
55837         * tests/test-asin.c: New file.
55839         Tests for module 'acos'.
55840         * modules/acos-tests: New file.
55841         * tests/test-acos.c: New file.
55843 2010-01-24  Bruno Haible  <bruno@clisp.org>
55845         Fix tests for common <math.h> functions.
55846         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55847         code snippet that references the function pointer, rather than merely
55848         calling the function. Substitute the FUNC_LIBM variable.
55849         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55850         * modules/acos (configure.ac): Likewise.
55851         * modules/asin (configure.ac): Likewise.
55852         * modules/atan (configure.ac): Likewise.
55853         * modules/atan2 (configure.ac): Likewise.
55854         * modules/cbrt (configure.ac): Likewise.
55855         * modules/copysign (configure.ac): Likewise.
55856         * modules/cos (configure.ac): Likewise.
55857         * modules/cosh (configure.ac): Likewise.
55858         * modules/erf (configure.ac): Likewise.
55859         * modules/erfc (configure.ac): Likewise.
55860         * modules/exp (configure.ac): Likewise.
55861         * modules/fabs (configure.ac): Likewise.
55862         * modules/fmod (configure.ac): Likewise.
55863         * modules/hypot (configure.ac): Likewise.
55864         * modules/j0 (configure.ac): Likewise.
55865         * modules/j1 (configure.ac): Likewise.
55866         * modules/jn (configure.ac): Likewise.
55867         * modules/ldexp (configure.ac): Likewise.
55868         * modules/lgamma (configure.ac): Likewise.
55869         * modules/log (configure.ac): Likewise.
55870         * modules/log10 (configure.ac): Likewise.
55871         * modules/log1p (configure.ac): Likewise.
55872         * modules/logb (configure.ac): Likewise.
55873         * modules/modf (configure.ac): Likewise.
55874         * modules/nextafter (configure.ac): Likewise.
55875         * modules/pow (configure.ac): Likewise.
55876         * modules/remainder (configure.ac): Likewise.
55877         * modules/rint (configure.ac): Likewise.
55878         * modules/sin (configure.ac): Likewise.
55879         * modules/sinh (configure.ac): Likewise.
55880         * modules/tan (configure.ac): Likewise.
55881         * modules/tanh (configure.ac): Likewise.
55882         * modules/y0 (configure.ac): Likewise.
55883         * modules/y1 (configure.ac): Likewise.
55884         * modules/yn (configure.ac): Likewise.
55886 2010-01-24  Bruno Haible  <bruno@clisp.org>
55888         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55889         * tests/test-acosl.c (x): New variable.
55890         (main): Store argument in x and fetch it from x.
55891         * tests/test-asinl.c (x): New variable.
55892         (main): Store argument in x and fetch it from x.
55893         * tests/test-atanl.c (x): New variable.
55894         (main): Store argument in x and fetch it from x.
55895         * tests/test-cosl.c (x): New variable.
55896         (main): Store argument in x and fetch it from x.
55897         * tests/test-expl.c (x): New variable.
55898         (main): Store argument in x and fetch it from x.
55899         * tests/test-logl.c (x): New variable.
55900         (main): Store argument in x and fetch it from x.
55901         * tests/test-sinl.c (x): New variable.
55902         (main): Store argument in x and fetch it from x.
55903         * tests/test-sqrtl.c (x): New variable.
55904         (main): Store argument in x and fetch it from x.
55905         * tests/test-tanl.c (x): New variable.
55906         (main): Store argument in x and fetch it from x.
55908 2010-01-24  Bruno Haible  <bruno@clisp.org>
55910         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55911         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55912         assignments to the initial TESTS_ENVIRONMENT.
55913         * doc/gnulib.texi (Unit test modules): Document it.
55914         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55915         TESTS_ENVIRONMENT.
55916         * modules/btowc-tests (Makefile.am): Likewise.
55917         * modules/c-stack-tests (Makefile.am): Likewise.
55918         * modules/c-strcase-tests (Makefile.am): Likewise.
55919         * modules/copy-file-tests (Makefile.am): Likewise.
55920         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55921         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55922         * modules/mbrtowc-tests (Makefile.am): Likewise.
55923         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55924         * modules/mbscasestr-tests (Makefile.am): Likewise.
55925         * modules/mbschr-tests (Makefile.am): Likewise.
55926         * modules/mbscspn-tests (Makefile.am): Likewise.
55927         * modules/mbsinit-tests (Makefile.am): Likewise.
55928         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55929         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55930         * modules/mbspbrk-tests (Makefile.am): Likewise.
55931         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55932         * modules/mbsrchr-tests (Makefile.am): Likewise.
55933         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55934         * modules/mbsspn-tests (Makefile.am): Likewise.
55935         * modules/mbsstr-tests (Makefile.am): Likewise.
55936         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55937         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55938         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55939         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55940         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55941         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55942         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55943         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55944         * modules/wcrtomb-tests (Makefile.am): Likewise.
55945         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55946         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55947         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55948         assignments from TESTS_ENVIRONMENT.
55949         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55950         augmentation.
55951         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55952         * modules/atexit-tests (Makefile.am): Likewise.
55953         * modules/binary-io-tests (Makefile.am): Likewise.
55954         * modules/closein-tests (Makefile.am): Likewise.
55955         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55956         * modules/exclude-tests (Makefile.am): Likewise.
55957         * modules/fflush-tests (Makefile.am): Likewise.
55958         * modules/fpending-tests (Makefile.am): Likewise.
55959         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55960         * modules/freadahead-tests (Makefile.am): Likewise.
55961         * modules/freadptr-tests (Makefile.am): Likewise.
55962         * modules/freadseek-tests (Makefile.am): Likewise.
55963         * modules/fseek-tests (Makefile.am): Likewise.
55964         * modules/fseeko-tests (Makefile.am): Likewise.
55965         * modules/ftell-tests (Makefile.am): Likewise.
55966         * modules/ftello-tests (Makefile.am): Likewise.
55967         * modules/idpriv-drop-tests (Makefile.am): Likewise.
55968         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
55969         * modules/lseek-tests (Makefile.am): Likewise.
55970         * modules/parse-duration-tests (Makefile.am): Likewise.
55971         * modules/perror-tests (Makefile.am): Likewise.
55972         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
55973         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
55974         * modules/pipe-tests (Makefile.am): Likewise.
55975         * modules/pread-tests (Makefile.am): Likewise.
55976         * modules/printf-posix-tests (Makefile.am): Likewise.
55977         * modules/select-tests (Makefile.am): Likewise.
55978         * modules/sigpipe-tests (Makefile.am): Likewise.
55979         * modules/tsearch-tests (Makefile.am): Likewise.
55980         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
55981         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
55982         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55983         * modules/uniwidth/width-tests (Makefile.am): Likewise.
55984         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
55985         * modules/version-etc-tests (Makefile.am): Likewise.
55986         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55987         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55988         * modules/xalloc-die-tests (Makefile.am): Likewise.
55989         * modules/xprintf-posix-tests (Makefile.am): Likewise.
55990         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55991         * modules/xstrtol-tests (Makefile.am): Likewise.
55992         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55993         * modules/yesno-tests (Makefile.am): Likewise.
55994         Suggested by Jim Meyering.
55996 2010-01-24  Bruno Haible  <bruno@clisp.org>
55998         More documentation.
55999         * doc/gnulib.texi (Writing modules): New chapter.
56000         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
56001         the new chapter.
56003 2010-01-24  Jim Meyering  <meyering@redhat.com>
56005         maint.mk: do not prepend "./" after filtering
56006         * top/maint.mk (_prepend_srcdir_prefix): New variable
56007         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
56008         "./" when $(srcdir) is ".".
56010         define STREQ(a,b) consistently, removing useless parentheses
56011         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
56012         since the only risk is that "a" or "b" contains an unparenthesized
56013         comma, but if either did that, STREQ would have 3 or more arguments.
56014         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
56015         * lib/fts.c (STREQ): Remove unnecessary parentheses.
56016         * lib/hash-triple.c (STREQ): Likewise.
56017         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
56018         * lib/getugroups.c (STREQ): Likewise.
56020 2010-01-23  Jim Meyering  <meyering@redhat.com>
56022         maint.mk: fix syntax-check in a non-srcdir build directory
56023         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
56024         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
56026 2010-01-22  Jim Meyering  <meyering@redhat.com>
56028         userspec: add unit tests
56029         * tests/test-userspec.c: New file.
56030         * modules/userspec-tests: Likewise.
56032 2010-01-21  Jim Meyering  <meyering@redhat.com>
56034         maint.mk: handle source file names containing "." robustly
56035         * top/maint.mk (_dot_escaped_srcdir): Define.
56036         (VC_LIST): Use it in LHS of sed substitution.
56038 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
56040         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
56041         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
56042         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
56043         from a non-srcdir build.
56045 2010-01-20  Eric Blake  <ebb9@byu.net>
56047         warn-on-use: use instead of link-warning
56048         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
56049         * modules/unistd (Depends-on, Makefile.am): Likewise.
56050         * modules/arpa_inet (Depends-on): Replace link-warning with
56051         warn-on-use.
56052         (Makefile.am): Update rules accordingly.
56053         * modules/ctype (Depends-on, Makefile.am): Likewise.
56054         * modules/dirent (Depends-on, Makefile.am): Likewise.
56055         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
56056         * modules/inttypes (Depends-on, Makefile.am): Likewise.
56057         * modules/langinfo (Depends-on, Makefile.am): Likewise.
56058         * modules/locale (Depends-on, Makefile.am): Likewise.
56059         * modules/math (Depends-on, Makefile.am): Likewise.
56060         * modules/search (Depends-on, Makefile.am): Likewise.
56061         * modules/signal (Depends-on, Makefile.am): Likewise.
56062         * modules/spawn (Depends-on, Makefile.am): Likewise.
56063         * modules/stdlib (Depends-on, Makefile.am): Likewise.
56064         * modules/string (Depends-on, Makefile.am): Likewise.
56065         * modules/strings (Depends-on, Makefile.am): Likewise.
56066         * modules/sys_file (Depends-on, Makefile.am): Likewise.
56067         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
56068         * modules/sys_select (Depends-on, Makefile.am): Likewise.
56069         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
56070         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
56071         * modules/sys_times (Depends-on, Makefile.am): Likewise.
56072         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56073         * modules/wchar (Depends-on, Makefile.am): Likewise.
56074         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
56075         should be poisoned.
56076         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
56077         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
56078         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
56079         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56080         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56081         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56082         * m4/math_h.m4 (gl_MATH_H): Likewise.
56083         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56084         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
56085         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
56086         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
56087         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
56088         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
56089         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
56090         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
56091         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
56092         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56093         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56094         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
56095         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56096         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
56097         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
56098         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56099         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
56100         GL_LINK_WARNING.
56101         * lib/ctype.in.h: Likewise.
56102         * lib/dirent.in.h: Likewise.
56103         * lib/fcntl.in.h: Likewise.
56104         * lib/inttypes.in.h: Likewise.
56105         * lib/langinfo.in.h: Likewise.
56106         * lib/locale.in.h: Likewise.
56107         * lib/math.in.h: Likewise.
56108         * lib/search.in.h: Likewise.
56109         * lib/signal.in.h: Likewise.
56110         * lib/spawn.in.h: Likewise.
56111         * lib/stdio.in.h: Likewise.
56112         * lib/stdlib.in.h: Likewise.
56113         * lib/string.in.h: Likewise.
56114         * lib/strings.in.h: Likewise.
56115         * lib/sys_file.in.h: Likewise.
56116         * lib/sys_ioctl.in.h: Likewise.
56117         * lib/sys_select.in.h: Likewise.
56118         * lib/sys_socket.in.h: Likewise.
56119         * lib/sys_stat.in.h: Likewise.
56120         * lib/sys_times.in.h: Likewise.
56121         * lib/sys_utsname.in.h: Likewise.
56122         * lib/unistd.in.h: Likewise.
56123         * lib/wchar.in.h: Likewise.
56125 2010-01-20  Bruno Haible  <bruno@clisp.org>
56127         Avoid duplicate -lm.
56128         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
56129         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
56130         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
56131         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
56132         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
56133         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
56134         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
56135         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
56136         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
56137         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
56138         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
56139         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
56140         Reported by Paolo Bonzini.
56142 2010-01-19  Bruno Haible  <bruno@clisp.org>
56144         langinfo, nl_langinfo: Relicense under LGPLv2+.
56145         * modules/langinfo (License): Change to LGPLv2+.
56146         * modules/nl_langinfo (License): Likewise.
56147         Patch by David Lutterkort <lutter@redhat.com>.
56149 2010-01-19  Bruno Haible  <bruno@clisp.org>
56151         Avoid compilation error with cc on OSF/1 5.1.
56152         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
56153         statement, not before.
56154         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56156 2010-01-18  Bruno Haible  <bruno@clisp.org>
56158         Avoid a link error due to the __printf__ symbol.
56159         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
56160         and 2.6.x.
56161         (__format__, __printf__): Remove definitions.
56162         * lib/argp-fmtstream.h: Likewise.
56163         * lib/argp.h: Likewise.
56164         * lib/error.h: Likewise.
56165         * lib/vasnprintf.h: Likewise.
56166         * lib/xprintf.h: Likewise.
56167         * lib/xvasprintf.h: Likewise.
56168         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56170 2010-01-18  Bruno Haible  <bruno@clisp.org>
56172         Tests for module 'tanl'.
56173         * modules/tanl-tests: New file.
56174         * tests/test-tanl.c: New file.
56176         Tests for module 'sqrtl'.
56177         * modules/sqrtl-tests: New file.
56178         * tests/test-sqrtl.c: New file.
56180         Tests for module 'sinl'.
56181         * modules/sinl-tests: New file.
56182         * tests/test-sinl.c: New file.
56184         Tests for module 'logl'.
56185         * modules/logl-tests: New file.
56186         * tests/test-logl.c: New file.
56188         Tests for module 'expl'.
56189         * modules/expl-tests: New file.
56190         * tests/test-expl.c: New file.
56192         Tests for module 'cosl'.
56193         * modules/cosl-tests: New file.
56194         * tests/test-cosl.c: New file.
56196         Tests for module 'atanl'.
56197         * modules/atanl-tests: New file.
56198         * tests/test-atanl.c: New file.
56200         Tests for module 'asinl'.
56201         * modules/asinl-tests: New file.
56202         * tests/test-asinl.c: New file.
56204         Tests for module 'acosl'.
56205         * modules/acosl-tests: New file.
56206         * tests/test-acosl.c: New file.
56208         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56209         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
56210         tanl): Use the standard gnulib idiom.
56211         * lib/cosl.c: Don't include trigl.c and sincosl.c.
56212         * lib/sinl.c: Likewise.
56213         * lib/tanl.c: Don't include trigl.c.
56214         (kernel_tanl): Make static.
56215         * lib/sincosl.c: Include trigl.h first.
56216         * lib/trigl.c: Likewise.
56217         * m4/acosl.m4: New file.
56218         * m4/asinl.m4: New file.
56219         * m4/atanl.m4: New file.
56220         * m4/cosl.m4: New file.
56221         * m4/expl.m4: New file.
56222         * m4/logl.m4: New file.
56223         * m4/sinl.m4: New file.
56224         * m4/sqrtl.m4: New file.
56225         * m4/tanl.m4: New file.
56226         * m4/mathl.m4: Remove file.
56227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
56228         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56229         Don't initialize GNULIB_MATHL.
56230         * modules/acosl: New file.
56231         * modules/asinl: New file.
56232         * modules/atanl: New file.
56233         * modules/cosl: New file.
56234         * modules/expl: New file.
56235         * modules/logl: New file.
56236         * modules/sinl: New file.
56237         * modules/sqrtl: New file.
56238         * modules/tanl: New file.
56239         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
56240         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
56241         substitute GNULIB_MATHL.
56242         * modules/mathl: Rewritten.
56243         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
56244         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
56245         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
56246         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
56247         * doc/posix-functions/expl.texi: Mention the 'expl' module.
56248         * doc/posix-functions/logl.texi: Mention the 'logl' module.
56249         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
56250         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
56251         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
56253 2010-01-18  Bruno Haible  <bruno@clisp.org>
56255         sqrt: Make gl_FUNC_SQRT requirable.
56256         * m4/sqrt.m4: New file.
56257         * modules/sqrt (Files): Add it.
56258         (configure.ac): Invoke gl_FUNC_SQRT.
56260 2010-01-18  Bruno Haible  <bruno@clisp.org>
56262         New modules for common <math.h> functions.
56263         * m4/mathfunc.m4: New file.
56264         * modules/acos: New file.
56265         * modules/asin: New file.
56266         * modules/atan: New file.
56267         * modules/atan2: New file.
56268         * modules/cbrt: New file.
56269         * modules/copysign: New file.
56270         * modules/cos: New file.
56271         * modules/cosh: New file.
56272         * modules/erf: New file.
56273         * modules/erfc: New file.
56274         * modules/exp: New file.
56275         * modules/fabs: New file.
56276         * modules/fmod: New file.
56277         * modules/hypot: New file.
56278         * modules/j0: New file.
56279         * modules/j1: New file.
56280         * modules/jn: New file.
56281         * modules/ldexp: New file.
56282         * modules/lgamma: New file.
56283         * modules/log: New file.
56284         * modules/log10: New file.
56285         * modules/log1p: New file.
56286         * modules/logb: New file.
56287         * modules/modf: New file.
56288         * modules/nextafter: New file.
56289         * modules/pow: New file.
56290         * modules/remainder: New file.
56291         * modules/rint: New file.
56292         * modules/sin: New file.
56293         * modules/sinh: New file.
56294         * modules/sqrt: New file.
56295         * modules/tan: New file.
56296         * modules/tanh: New file.
56297         * modules/y0: New file.
56298         * modules/y1: New file.
56299         * modules/yn: New file.
56300         * doc/posix-functions/acos.texi: Mention the 'acos' module.
56301         * doc/posix-functions/asin.texi: Mention the 'asin' module.
56302         * doc/posix-functions/atan.texi: Mention the 'atan' module.
56303         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
56304         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
56305         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
56306         * doc/posix-functions/cos.texi: Mention the 'cos' module.
56307         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
56308         * doc/posix-functions/erf.texi: Mention the 'erf' module.
56309         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
56310         * doc/posix-functions/exp.texi: Mention the 'exp' module.
56311         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
56312         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
56313         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
56314         * doc/posix-functions/j0.texi: Mention the 'j0' module.
56315         * doc/posix-functions/j1.texi: Mention the 'j1' module.
56316         * doc/posix-functions/jn.texi: Mention the 'jn' module.
56317         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
56318         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
56319         * doc/posix-functions/log.texi: Mention the 'log' module.
56320         * doc/posix-functions/log10.texi: Mention the 'log10' module.
56321         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
56322         * doc/posix-functions/logb.texi: Mention the 'logb' module.
56323         * doc/posix-functions/modf.texi: Mention the 'modf' module.
56324         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
56325         * doc/posix-functions/pow.texi: Mention the 'pow' module.
56326         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
56327         * doc/posix-functions/rint.texi: Mention the 'rint' module.
56328         * doc/posix-functions/sin.texi: Mention the 'sin' module.
56329         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
56330         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
56331         * doc/posix-functions/tan.texi: Mention the 'tan' module.
56332         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
56333         * doc/posix-functions/y0.texi: Mention the 'y0' module.
56334         * doc/posix-functions/y1.texi: Mention the 'y1' module.
56335         * doc/posix-functions/yn.texi: Mention the 'yn' module.
56337 2010-01-18  Jim Meyering  <meyering@redhat.com>
56339         ignore-value: relax license to LGPLv2+
56340         * modules/ignore-value (License): Relax to LGPLv2+.
56342         getdate: don't leak when TZ contains two or more '"'s
56343         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
56344         double quote in TZ after the first one.
56346         readtokens: do not leak internal token_lengths buffer
56347         * lib/readtokens.c (readtokens): Free the local, lengths,
56348         when the supplied "token_lengths" parameter is NULL.
56350 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56352         Fix a couple of missing LIBTHREAD link failures on AIX.
56353         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
56354         $(LIBTHREAD).
56355         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
56357         Link test-poll against INET_PTON_LIB.
56358         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
56359         for inet_pton on Solaris 10.
56361 2010-01-17  Bruno Haible  <bruno@clisp.org>
56363         unistdio/*-sprintf: Fix typo in module description.
56364         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
56365         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
56366         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
56367         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
56368         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
56369         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
56370         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
56371         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56373 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56375         gnulib-tool: fix filelist for AIX, HP-UX ksh.
56376         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
56377         variables in shell case patterns, for AIX and HP-UX ksh.
56379         Split large sed scripts, for HP-UX sed.
56380         * modules/stdio: Split sed scripts around 50 sed commands,
56381         to avoid HP-UX limit of 99 commands, in the near future.
56382         * modules/string: Likewise.
56383         * modules/unistd: Likewise.
56385         gnulib-tool: avoid writing in the current directory.
56386         * gnulib-tool (func_emit_lib_Makefile_am)
56387         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
56388         not in the current directory, so concurrent gnulib-tool
56389         instances do not interfere.
56391 2010-01-16  Jim Meyering  <meyering@redhat.com>
56393         doc: update users.txt
56394         * users.txt: Add grep.
56395         (diffutils, gzip): Update URLs.
56397 2010-01-12  Bruno Haible  <bruno@clisp.org>
56399         posix_spawn: Avoid test failure on Cygwin.
56400         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
56401         characters.
56402         Reported by Simon Josefsson.
56404 2010-01-12  Bruno Haible  <bruno@clisp.org>
56406         * tests/test-cond.c (main): When skipping the test, show the reason.
56408 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56410         * lib/striconv.c (str_cd_iconv): Avoid if before free.
56412 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56414         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
56415         VC_LIST_ALWAYS_EXCLUDE_REGEX.
56417 2010-01-12  Eric Blake  <ebb9@byu.net>
56419         build: guarantee AS_VAR_IF
56420         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
56421         (gl_AS_VAR_IF): Move...
56422         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
56423         Reported by Simon Josefsson.
56425 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56427         * lib/stdio.in.h: Fix typo.
56429 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56431         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
56432         libgpg-error.
56434 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56436         * tests/test-xalloc-die.sh: Use $EXEEXT.
56438 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56439             Bruno Haible  <bruno@clisp.org>
56441         getlogin, getlogin_r: Avoid test failure.
56442         * tests/test-getlogin.c: Include <stdio.h>.
56443         (main): Skip the test when the function fails because stdin is not a
56444         tty.
56445         * tests/test-getlogin_r.c: Include <stdio.h>.
56446         (main): Skip the test when the function fails because stdin is not a
56447         tty.
56449 2010-01-11  Eric Blake  <ebb9@byu.net>
56451         tests: avoid more large file warnings
56452         * tests/test-fflush.c: Avoid warning about ftell use.
56453         * tests/test-fseek.c: Avoid warning about fseek use.
56455 2010-01-10  Bruno Haible  <bruno@clisp.org>
56457         nproc: Work better on Linux when /proc and /sys are not mounted.
56458         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
56459         as lower bound when, on glibc/Linux systems,
56460         sysconf (_SC_NPROCESSORS_CONF) returns 1.
56461         Suggested by Pádraig Brady <P@draigbrady.com>.
56462         Reported by Dmitry V. Levin <ldv@altlinux.org>.
56464         nproc: Refactor.
56465         * lib/nproc.c (num_processors_via_affinity_mask): New function,
56466         extracted from num_processors.
56467         (num_processors): Call it.
56469 2010-01-11  Jim Meyering  <meyering@redhat.com>
56471         utimecmp: avoid new warning from upcoming gcc-4.5.0
56472         * lib/utimecmp.c (BILLION): Define using #define rather than an
56473         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
56475 2010-01-11  Eric Blake  <ebb9@byu.net>
56477         math: add portability warnings for classification macros
56478         * modules/math (Depends-on): Add warn-on-use.
56479         (Makefile.am): Provide new substitutions.
56480         * m4/math_h.m4 (gl_MATH_H): Require inline.
56481         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
56482         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
56483         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
56484         implement warnings.
56486         unistd: warn on use of environ without module
56487         * modules/unistd (Depends-on): Add warn-on-use.
56488         (Makefile.am): Provide new substitutions.
56489         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
56490         * lib/unistd.in.h (environ): Wrap with a warning helper function.
56492         stdio: warn on suspicious uses
56493         * modules/stdio (Depends-on): Add warn-on-use.
56494         (Makefile.am): Provide new substitutions.
56495         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
56496         fseeko.
56497         * lib/stdio.in.h (gets): Always warn on use.
56498         (fseek, ftell): Adjust when warnings are issued, and honor
56499         _GL_NO_LARGE_FILES as a way to silence the warning.
56500         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
56501         any warning about large file offsets.
56502         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
56503         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
56504         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
56505         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
56506         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
56507         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
56508         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
56509         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
56511         warn-on-use: new module
56512         * modules/warn-on-use: New file.
56513         * build-aux/warn-on-use.h: Likewise.
56514         * m4/warn-on-use.m4: Likewise.
56515         * MODULES.html.sh (Support for building): Mention it.
56517 2010-01-10  Bruno Haible  <bruno@clisp.org>
56519         Tests for module 'unistr/u32-strdup'.
56520         * modules/unistr/u32-strdup-tests: New file.
56521         * tests/unistr/test-u32-strdup.c: New file.
56523         Tests for module 'unistr/u16-strdup'.
56524         * modules/unistr/u16-strdup-tests: New file.
56525         * tests/unistr/test-u16-strdup.c: New file.
56527         Tests for module 'unistr/u8-strdup'.
56528         * modules/unistr/u8-strdup-tests: New file.
56529         * tests/unistr/test-u8-strdup.c: New file.
56530         * tests/unistr/test-strdup.h: New file.
56532         Tests for module 'unistr/u32-strncmp'.
56533         * modules/unistr/u32-strncmp-tests: New file.
56534         * tests/unistr/test-u32-strncmp.c: New file.
56536         Tests for module 'unistr/u16-strncmp'.
56537         * modules/unistr/u16-strncmp-tests: New file.
56538         * tests/unistr/test-u16-strncmp.c: New file.
56540         Tests for module 'unistr/u8-strncmp'.
56541         * modules/unistr/u8-strncmp-tests: New file.
56542         * tests/unistr/test-u8-strncmp.c: New file.
56543         * tests/unistr/test-strncmp.h: New file.
56545         Tests for module 'unistr/u32-strcoll'.
56546         * modules/unistr/u32-strcoll-tests: New file.
56547         * tests/unistr/test-u32-strcoll.c: New file.
56549         Tests for module 'unistr/u16-strcoll'.
56550         * modules/unistr/u16-strcoll-tests: New file.
56551         * tests/unistr/test-u16-strcoll.c: New file.
56553         Tests for module 'unistr/u8-strcoll'.
56554         * modules/unistr/u8-strcoll-tests: New file.
56555         * tests/unistr/test-u8-strcoll.c: New file.
56557         Tests for module 'unistr/u32-strcmp'.
56558         * modules/unistr/u32-strcmp-tests: New file.
56559         * tests/unistr/test-u32-strcmp.c: New file.
56560         * tests/unistr/test-u32-strcmp.h: New file.
56562         Tests for module 'unistr/u16-strcmp'.
56563         * modules/unistr/u16-strcmp-tests: New file.
56564         * tests/unistr/test-u16-strcmp.c: New file.
56565         * tests/unistr/test-u16-strcmp.h: New file.
56567         Tests for module 'unistr/u8-strcmp'.
56568         * modules/unistr/u8-strcmp-tests: New file.
56569         * tests/unistr/test-u8-strcmp.c: New file.
56570         * tests/unistr/test-u8-strcmp.h: New file.
56571         * tests/unistr/test-strcmp.h: New file.
56573         Tests for module 'unistr/u32-strncat'.
56574         * modules/unistr/u32-strncat-tests: New file.
56575         * tests/unistr/test-u32-strncat.c: New file.
56577         Tests for module 'unistr/u16-strncat'.
56578         * modules/unistr/u16-strncat-tests: New file.
56579         * tests/unistr/test-u16-strncat.c: New file.
56581         Tests for module 'unistr/u8-strncat'.
56582         * modules/unistr/u8-strncat-tests: New file.
56583         * tests/unistr/test-u8-strncat.c: New file.
56584         * tests/unistr/test-strncat.h: New file.
56586         Tests for module 'unistr/u32-strcat'.
56587         * modules/unistr/u32-strcat-tests: New file.
56588         * tests/unistr/test-u32-strcat.c: New file.
56590         Tests for module 'unistr/u16-strcat'.
56591         * modules/unistr/u16-strcat-tests: New file.
56592         * tests/unistr/test-u16-strcat.c: New file.
56594         Tests for module 'unistr/u8-strcat'.
56595         * modules/unistr/u8-strcat-tests: New file.
56596         * tests/unistr/test-u8-strcat.c: New file.
56597         * tests/unistr/test-strcat.h: New file.
56599         Tests for module 'unistr/u32-stpncpy'.
56600         * modules/unistr/u32-stpncpy-tests: New file.
56601         * tests/unistr/test-u32-stpncpy.c: New file.
56603         Tests for module 'unistr/u16-stpncpy'.
56604         * modules/unistr/u16-stpncpy-tests: New file.
56605         * tests/unistr/test-u16-stpncpy.c: New file.
56607         Tests for module 'unistr/u8-stpncpy'.
56608         * modules/unistr/u8-stpncpy-tests: New file.
56609         * tests/unistr/test-u8-stpncpy.c: New file.
56610         * tests/unistr/test-stpncpy.h: New file.
56612         Tests for module 'unistr/u32-strncpy'.
56613         * modules/unistr/u32-strncpy-tests: New file.
56614         * tests/unistr/test-u32-strncpy.c: New file.
56616         Tests for module 'unistr/u16-strncpy'.
56617         * modules/unistr/u16-strncpy-tests: New file.
56618         * tests/unistr/test-u16-strncpy.c: New file.
56620         Tests for module 'unistr/u8-strncpy'.
56621         * modules/unistr/u8-strncpy-tests: New file.
56622         * tests/unistr/test-u8-strncpy.c: New file.
56623         * tests/unistr/test-strncpy.h: New file.
56625         Tests for module 'unistr/u32-stpcpy'.
56626         * modules/unistr/u32-stpcpy-tests: New file.
56627         * tests/unistr/test-u32-stpcpy.c: New file.
56629         Tests for module 'unistr/u16-stpcpy'.
56630         * modules/unistr/u16-stpcpy-tests: New file.
56631         * tests/unistr/test-u16-stpcpy.c: New file.
56633         Tests for module 'unistr/u8-stpcpy'.
56634         * modules/unistr/u8-stpcpy-tests: New file.
56635         * tests/unistr/test-u8-stpcpy.c: New file.
56636         * tests/unistr/test-stpcpy.h: New file.
56638         Tests for module 'unistr/u32-strcpy'.
56639         * modules/unistr/u32-strcpy-tests: New file.
56640         * tests/unistr/test-u32-strcpy.c: New file.
56642         Tests for module 'unistr/u16-strcpy'.
56643         * modules/unistr/u16-strcpy-tests: New file.
56644         * tests/unistr/test-u16-strcpy.c: New file.
56646         Tests for module 'unistr/u8-strcpy'.
56647         * modules/unistr/u8-strcpy-tests: New file.
56648         * tests/unistr/test-u8-strcpy.c: New file.
56649         * tests/unistr/test-strcpy.h: New file.
56651         Tests for module 'unistr/u32-strnlen'.
56652         * modules/unistr/u32-strnlen-tests: New file.
56653         * tests/unistr/test-u32-strnlen.c: New file.
56655         Tests for module 'unistr/u16-strnlen'.
56656         * modules/unistr/u16-strnlen-tests: New file.
56657         * tests/unistr/test-u16-strnlen.c: New file.
56659         Tests for module 'unistr/u8-strnlen'.
56660         * modules/unistr/u8-strnlen-tests: New file.
56661         * tests/unistr/test-u8-strnlen.c: New file.
56662         * tests/unistr/test-strnlen.h: New file.
56664         Tests for module 'unistr/u32-strlen'.
56665         * modules/unistr/u32-strlen-tests: New file.
56666         * tests/unistr/test-u32-strlen.c: New file.
56668         Tests for module 'unistr/u16-strlen'.
56669         * modules/unistr/u16-strlen-tests: New file.
56670         * tests/unistr/test-u16-strlen.c: New file.
56672         Tests for module 'unistr/u8-strlen'.
56673         * modules/unistr/u8-strlen-tests: New file.
56674         * tests/unistr/test-u8-strlen.c: New file.
56676         Tests for module 'unistr/u32-prev'.
56677         * modules/unistr/u32-prev-tests: New file.
56678         * tests/unistr/test-u32-prev.c: New file.
56680         Tests for module 'unistr/u16-prev'.
56681         * modules/unistr/u16-prev-tests: New file.
56682         * tests/unistr/test-u16-prev.c: New file.
56684         Tests for module 'unistr/u8-prev'.
56685         * modules/unistr/u8-prev-tests: New file.
56686         * tests/unistr/test-u8-prev.c: New file.
56688         Tests for module 'unistr/u32-next'.
56689         * modules/unistr/u32-next-tests: New file.
56690         * tests/unistr/test-u32-next.c: New file.
56692         Tests for module 'unistr/u16-next'.
56693         * modules/unistr/u16-next-tests: New file.
56694         * tests/unistr/test-u16-next.c: New file.
56696         Tests for module 'unistr/u8-next'.
56697         * modules/unistr/u8-next-tests: New file.
56698         * tests/unistr/test-u8-next.c: New file.
56700         Tests for module 'unistr/u32-strmbtouc'.
56701         * modules/unistr/u32-strmbtouc-tests: New file.
56702         * tests/unistr/test-u32-strmbtouc.c: New file.
56704         Tests for module 'unistr/u16-strmbtouc'.
56705         * modules/unistr/u16-strmbtouc-tests: New file.
56706         * tests/unistr/test-u16-strmbtouc.c: New file.
56708         Tests for module 'unistr/u8-strmbtouc'.
56709         * modules/unistr/u8-strmbtouc-tests: New file.
56710         * tests/unistr/test-u8-strmbtouc.c: New file.
56712         Tests for module 'unistr/u32-strmblen'.
56713         * modules/unistr/u32-strmblen-tests: New file.
56714         * tests/unistr/test-u32-strmblen.c: New file.
56716         Tests for module 'unistr/u16-strmblen'.
56717         * modules/unistr/u16-strmblen-tests: New file.
56718         * tests/unistr/test-u16-strmblen.c: New file.
56720         Tests for module 'unistr/u8-strmblen'.
56721         * modules/unistr/u8-strmblen-tests: New file.
56722         * tests/unistr/test-u8-strmblen.c: New file.
56724         Tests for module 'unistr/u32-cpy-alloc'.
56725         * modules/unistr/u32-cpy-alloc-tests: New file.
56726         * tests/unistr/test-u32-cpy-alloc.c: New file.
56728         Tests for module 'unistr/u16-cpy-alloc'.
56729         * modules/unistr/u16-cpy-alloc-tests: New file.
56730         * tests/unistr/test-u16-cpy-alloc.c: New file.
56732         Tests for module 'unistr/u8-cpy-alloc'.
56733         * modules/unistr/u8-cpy-alloc-tests: New file.
56734         * tests/unistr/test-u8-cpy-alloc.c: New file.
56735         * tests/unistr/test-cpy-alloc.h: New file.
56737         Tests for module 'unistr/u32-mbsnlen'.
56738         * modules/unistr/u32-mbsnlen-tests: New file.
56739         * tests/unistr/test-u32-mbsnlen.c: New file.
56741         Tests for module 'unistr/u16-mbsnlen'.
56742         * modules/unistr/u16-mbsnlen-tests: New file.
56743         * tests/unistr/test-u16-mbsnlen.c: New file.
56745         Tests for module 'unistr/u8-mbsnlen'.
56746         * modules/unistr/u8-mbsnlen-tests: New file.
56747         * tests/unistr/test-u8-mbsnlen.c: New file.
56749         Tests for module 'unistr/u32-chr'.
56750         * modules/unistr/u32-chr-tests: New file.
56751         * tests/unistr/test-u32-chr.c: New file.
56753         Tests for module 'unistr/u16-chr'.
56754         * modules/unistr/u16-chr-tests: New file.
56755         * tests/unistr/test-u16-chr.c: New file.
56757         Tests for module 'unistr/u8-chr'.
56758         * modules/unistr/u8-chr-tests: New file.
56759         * tests/unistr/test-u8-chr.c: New file.
56760         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56762         Tests for module 'unistr/u32-cmp2'.
56763         * modules/unistr/u32-cmp2-tests: New file.
56764         * tests/unistr/test-u32-cmp2.c: New file.
56766         Tests for module 'unistr/u16-cmp2'.
56767         * modules/unistr/u16-cmp2-tests: New file.
56768         * tests/unistr/test-u16-cmp2.c: New file.
56770         Tests for module 'unistr/u8-cmp2'.
56771         * modules/unistr/u8-cmp2-tests: New file.
56772         * tests/unistr/test-u8-cmp2.c: New file.
56773         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56775         Tests for module 'unistr/u32-cmp'.
56776         * modules/unistr/u32-cmp-tests: New file.
56777         * tests/unistr/test-u32-cmp.c: New file.
56779         Tests for module 'unistr/u16-cmp'.
56780         * modules/unistr/u16-cmp-tests: New file.
56781         * tests/unistr/test-u16-cmp.c: New file.
56783         Tests for module 'unistr/u8-cmp'.
56784         * modules/unistr/u8-cmp-tests: New file.
56785         * tests/unistr/test-u8-cmp.c: New file.
56786         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56788         Tests for module 'unistr/u32-set'.
56789         * modules/unistr/u32-set-tests: New file.
56790         * tests/unistr/test-u32-set.c: New file.
56792         Tests for module 'unistr/u16-set'.
56793         * modules/unistr/u16-set-tests: New file.
56794         * tests/unistr/test-u16-set.c: New file.
56796         Tests for module 'unistr/u8-set'.
56797         * modules/unistr/u8-set-tests: New file.
56798         * tests/unistr/test-u8-set.c: New file.
56799         * tests/unistr/test-set.h: New file.
56801         Tests for module 'unistr/u32-move'.
56802         * modules/unistr/u32-move-tests: New file.
56803         * tests/unistr/test-u32-move.c: New file.
56805         Tests for module 'unistr/u16-move'.
56806         * modules/unistr/u16-move-tests: New file.
56807         * tests/unistr/test-u16-move.c: New file.
56809         Tests for module 'unistr/u8-move'.
56810         * modules/unistr/u8-move-tests: New file.
56811         * tests/unistr/test-u8-move.c: New file.
56812         * tests/unistr/test-move.h: New file.
56814         Tests for module 'unistr/u32-cpy'.
56815         * modules/unistr/u32-cpy-tests: New file.
56816         * tests/unistr/test-u32-cpy.c: New file.
56818         Tests for module 'unistr/u16-cpy'.
56819         * modules/unistr/u16-cpy-tests: New file.
56820         * tests/unistr/test-u16-cpy.c: New file.
56822         Tests for module 'unistr/u8-cpy'.
56823         * modules/unistr/u8-cpy-tests: New file.
56824         * tests/unistr/test-u8-cpy.c: New file.
56825         * tests/unistr/test-cpy.h: New file.
56827 2010-01-09  Bruno Haible  <bruno@clisp.org>
56829         Tests for module 'unistr/u32-uctomb'.
56830         * modules/unistr/u32-uctomb-tests: New file.
56831         * tests/unistr/test-u32-uctomb.c: New file.
56833         Tests for module 'unistr/u16-uctomb'.
56834         * modules/unistr/u16-uctomb-tests: New file.
56835         * tests/unistr/test-u16-uctomb.c: New file.
56837         Tests for module 'unistr/u8-uctomb'.
56838         * modules/unistr/u8-uctomb-tests: New file.
56839         * tests/unistr/test-u8-uctomb.c: New file.
56841         Tests for module 'unistr/u32-mbtoucr'.
56842         * modules/unistr/u32-mbtoucr-tests: New file.
56843         * tests/unistr/test-u32-mbtoucr.c: New file.
56845         Tests for module 'unistr/u16-mbtoucr'.
56846         * modules/unistr/u16-mbtoucr-tests: New file.
56847         * tests/unistr/test-u16-mbtoucr.c: New file.
56849         Tests for module 'unistr/u8-mbtoucr'.
56850         * modules/unistr/u8-mbtoucr-tests: New file.
56851         * tests/unistr/test-u8-mbtoucr.c: New file.
56853         Tests for module 'unistr/u32-mbtouc'.
56854         * modules/unistr/u32-mbtouc-tests: New file.
56855         * tests/unistr/test-u32-mbtouc.c: New file.
56857         Tests for module 'unistr/u16-mbtouc'.
56858         * modules/unistr/u16-mbtouc-tests: New file.
56859         * tests/unistr/test-u16-mbtouc.c: New file.
56861         Tests for module 'unistr/u8-mbtouc'.
56862         * modules/unistr/u8-mbtouc-tests: New file.
56863         * tests/unistr/test-u8-mbtouc.c: New file.
56865         Tests for module 'unistr/u32-mbtouc-unsafe'.
56866         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56867         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56868         * tests/unistr/test-u32-mbtouc.h: New file.
56870         Tests for module 'unistr/u16-mbtouc-unsafe'.
56871         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56872         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56873         * tests/unistr/test-u16-mbtouc.h: New file.
56875         Tests for module 'unistr/u8-mbtouc-unsafe'.
56876         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56877         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56878         * tests/unistr/test-u8-mbtouc.h: New file.
56880         Tests for module 'unistr/u32-mblen'.
56881         * modules/unistr/u32-mblen-tests: New file.
56882         * tests/unistr/test-u32-mblen.c: New file.
56884         Tests for module 'unistr/u16-mblen'.
56885         * modules/unistr/u16-mblen-tests: New file.
56886         * tests/unistr/test-u16-mblen.c: New file.
56888         Tests for module 'unistr/u8-mblen'.
56889         * modules/unistr/u8-mblen-tests: New file.
56890         * tests/unistr/test-u8-mblen.c: New file.
56892         Tests for module 'unistr/u32-to-u16'.
56893         * modules/unistr/u32-to-u16-tests: New file.
56894         * tests/unistr/test-u32-to-u16.c: New file.
56896         Tests for module 'unistr/u32-to-u8'.
56897         * modules/unistr/u32-to-u8-tests: New file.
56898         * tests/unistr/test-u32-to-u8.c: New file.
56900         Tests for module 'unistr/u16-to-u32'.
56901         * modules/unistr/u16-to-u32-tests: New file.
56902         * tests/unistr/test-u16-to-u32.c: New file.
56904         Tests for module 'unistr/u16-to-u8'.
56905         * modules/unistr/u16-to-u8-tests: New file.
56906         * tests/unistr/test-u16-to-u8.c: New file.
56908         Tests for module 'unistr/u8-to-u32'.
56909         * modules/unistr/u8-to-u32-tests: New file.
56910         * tests/unistr/test-u8-to-u32.c: New file.
56912         Tests for module 'unistr/u8-to-u16'.
56913         * modules/unistr/u8-to-u16-tests: New file.
56914         * tests/unistr/test-u8-to-u16.c: New file.
56916         Tests for module 'unistr/u32-check'.
56917         * modules/unistr/u32-check-tests: New file.
56918         * tests/unistr/test-u32-check.c: New file.
56920         Tests for module 'unistr/u16-check'.
56921         * modules/unistr/u16-check-tests: New file.
56922         * tests/unistr/test-u16-check.c: New file.
56924         Tests for module 'unistr/u8-check'.
56925         * modules/unistr/u8-check-tests: New file.
56926         * tests/unistr/test-u8-check.c: New file.
56928         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56929         (category_equals): New function.
56930         (main): Add more tests.
56931         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56933         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56935 2010-01-10  Bruno Haible  <bruno@clisp.org>
56937         unistr/u*-strcoll: Try harder to distinguish different strings.
56938         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56939         compare s1 and s2 to see if they are different.
56941 2010-01-10  Bruno Haible  <bruno@clisp.org>
56943         unistr/u*-stpncpy: Fix the return value.
56944         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56945         description of the return value consistent with stpncpy in glibc.
56946         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56947         written non-NUL unit.
56949 2010-01-10  Bruno Haible  <bruno@clisp.org>
56951         unistr/u*-next: Add missing dependencies.
56952         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56953         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56954         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56956 2010-01-10  Bruno Haible  <bruno@clisp.org>
56958         unistr/u8-mbsnlen: Fix return value for incomplete character.
56959         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56960         u8_mblen.
56961         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56962         Remove unistr/u8-mblen.
56963         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56964         u16_mblen.
56965         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
56966         Remove unistr/u16-mblen.
56968 2010-01-10  Bruno Haible  <bruno@clisp.org>
56970         wchar: Fix compilation error when <wchar.h> is used from coreutils.
56971         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
56972         Reported by Brian Gough <bjg@gnu.org> and
56973         Chris Clayton <chris2553@googlemail.com> via
56974         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
56976 2010-01-09  Bruno Haible  <bruno@clisp.org>
56978         unistr/u16-to-u32: Reject invalid input.
56979         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
56980         u16_mbtouc.
56981         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
56982         Remove unistr/u16-mbtouc.
56984         unistr/u16-to-u8: Reject invalid input.
56985         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
56986         u16_mbtouc.
56987         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
56988         Remove unistr/u16-mbtouc.
56990         unistr/u8-to-u32: Reject invalid input.
56991         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
56992         u8_mbtouc.
56993         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
56994         Remove unistr/u8-mbtouc.
56996         unistr/u8-to-u16: Reject invalid input.
56997         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
56998         u8_mbtouc.
56999         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
57000         Remove unistr/u8-mbtouc.
57002 2010-01-09  Bruno Haible  <bruno@clisp.org>
57004         Tests for module 'getlogin'.
57005         * modules/getlogin-tests: New file.
57006         * tests/test-getlogin.c: New file.
57008         New module 'getlogin'.
57009         * lib/unistd.in.h (getlogin): New declaration.
57010         * lib/getlogin.c: New file.
57011         * m4/getlogin.m4: New file.
57012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
57013         HAVE_GETLOGIN.
57014         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
57015         HAVE_GETLOGIN.
57016         * modules/getlogin: New file.
57017         * doc/posix-functions/getlogin.texi: Mention the new module.
57018         Reported by John W. Eaton <jwe@gnu.org>.
57020 2010-01-09  Bruno Haible  <bruno@clisp.org>
57022         getlogin_r: Support for native Windows.
57023         * lib/getlogin_r.c: Include <windows.h>
57024         (getlogin_r): Implement for native Windows.
57025         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
57026         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
57027         via John W. Eaton <jwe@gnu.org>.
57029 2010-01-09  Bruno Haible  <bruno@clisp.org>
57031         getlogin_r: Small fixes.
57032         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
57033         succeeds.
57034         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
57035         before testing whether getlogin_r is declared. No need to set
57036         HAVE_DECL_GETLOGIN_R to 1.
57037         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
57039 2010-01-09  Bruno Haible  <bruno@clisp.org>
57041         * lib/unistd.in.h (getlogin_r): Add comment.
57043 2010-01-09  Bruno Haible  <bruno@clisp.org>
57045         Tests for module 'getlogin_r'.
57046         * modules/getlogin_r-tests: New file.
57047         * tests/test-getlogin_r.c: New file.
57049 2010-01-09  Jim Meyering  <meyering@redhat.com>
57051         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
57052         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
57053         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
57055 2010-01-08  Simon Josefsson  <simon@josefsson.org>
57057         * lib/dup2.c (rpl_dup2): Improve comment.
57059 2010-01-08  Eric Blake  <ebb9@byu.net>
57061         maint.mk: allow packages to add makefile @@ exceptions
57062         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
57063         (sc_makefile_check): Rename...
57064         (sc_makefile_at_at_check): ...to this, and use hook.
57066         dup2: work around mingw bug
57067         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
57068         Reported by Simon Josefsson.
57070 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
57072         glob: Fix C++ compilation.
57073         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
57074         C++.
57076 2010-01-07  Bruno Haible  <bruno@clisp.org>
57078         Fix indentation of wctype.in.h, broken since 2007-01-06.
57079         * lib/wctype.in.h: Fix indentation of preprocessor directives.
57081 2010-01-07  Bruno Haible  <bruno@clisp.org>
57083         mbslen: Avoid collision with system function.
57084         * lib/string.in.h [MirBSD]: Include <wchar.h>.
57085         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
57086         * m4/mbslen.m4: New file.
57087         * modules/mbslen (Files): Add it.
57088         (configure.ac): Invoke gl_MBSLEN.
57089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
57090         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
57091         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
57092         via Ian Beckwith <ianb@erislabs.net>.
57094 2010-01-07  Bruno Haible  <bruno@clisp.org>
57096         dirent: Document the last fix.
57097         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
57099 2010-01-07  Bruno Haible  <bruno@clisp.org>
57101         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
57102         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
57103         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
57104         va_list are defined.
57105         * doc/posix-headers/stdio.texi: Document the bug of missing types.
57106         Reported by Eric Blake.
57108 2010-01-07  Bruno Haible  <bruno@clisp.org>
57110         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
57111         * modules/xlist (Depends-on): Add 'list',
57112         * modules/xoset (Depends-on): Add 'oset'.
57113         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57115 2010-01-07  Bruno Haible  <bruno@clisp.org>
57117         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
57118         * doc/posix-functions/strncasecmp.texi: Likewise.
57120 2010-01-07  Bruno Haible  <bruno@clisp.org>
57122         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
57124 2010-01-07  John W. Eaton  <jwe@octave.org>
57126         wctype: allow C++ use
57127         * lib/wctype.in.h: Add extern "C" block for C++.
57129 2010-01-06  Eric Blake  <ebb9@byu.net>
57131         maint.mk: detect incorrect GFDL usage
57132         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
57134 2010-01-06  Jim Meyering  <meyering@redhat.com>
57135         and Eric Blake  <ebb9@byu.net>
57137         maint.mk: ignore multi-line copyright in NEWS
57138         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
57140 2010-01-06  Eric Blake  <ebb9@byu.net>
57142         select: add missing dependency
57143         * modules/select-tests (Depends-on): Move sockets dependency...
57144         * modules/select (Depends-on): ...here.
57145         Reported by Ian Beckwith.
57147         doc: regenerate INSTALL
57148         * doc/INSTALL: Reflect recent autoconf update.
57149         * doc/INSTALL.ISO: Likewise.
57150         * doc/INSTALL.UTF-8: Likewise.
57152         pread: fix compilation on glibc
57153         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
57154         Reported by Ralf Wildenhues.
57156         dirent: fix test failure
57157         * lib/dirent.in.h (includes): Guarantee ino_t.
57158         Reported by Ralf Wildenhues.
57160 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
57162         linkat, renameat: avoid bad free
57163         * lib/at-func2.c (at_func2): Fix typo.
57164         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
57166 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57168         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
57169         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
57170         to avoid failure of symlink test later.
57172 2010-01-06  Eric Blake  <ebb9@byu.net>
57174         stdio, unistd: guarantee ssize_t
57175         * lib/unistd.in.h (includes): Ensure that types required by POSIX
57176         2008 are exposed when needed.
57177         * lib/stdio.in.h (includes): Likewise.
57178         Reported by Ralf Wildenhues.
57180 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
57182         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
57183         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
57184         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
57186 2010-01-06  Jim Meyering  <meyering@redhat.com>
57188         readtokens: this module *does* require xalloc.h
57189         It uses only functions that were omitted by the old syntax-check rule.
57190         * lib/readtokens.c: Include "xalloc.h" once again.
57191         * modules/readtokens (Depends-on): Add xalloc.
57192         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
57194 2010-01-05  Eric Blake  <ebb9@byu.net>
57196         maint: support 'make announcement' from a VPATH build
57197         * top/maint.mk (announcement): Look for correct NEWS file.
57199 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
57201         utimens (fdutimens): ignore a negative FD, per contract
57202         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
57203         when we have a valid file descriptor.  Otherwise, using a brand
57204         new glibc (with just-patched futimens that now fails with EBADF)
57205         would cause this function to fail with ENOSYS.
57206         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
57207         See also http://bugzilla.redhat.com/552320.
57209 2010-01-05  Eric Blake  <ebb9@byu.net>
57211         strcase: document what it provides
57212         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
57213         gnulib module.
57214         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
57215         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
57217 2010-01-05  Jim Meyering  <meyering@redhat.com>
57219         maint: remove useless inclusions of "xalloc.h"
57220         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
57221         * lib/readtokens.c: Likewise.
57222         * lib/same.c: Likewise.
57223         * modules/getloadavg (Depends-on): Remove xalloc.
57224         * modules/readtokens: Likewise.
57225         * modules/same: Likewise.
57227         maint.mk: include 4 more function names in alloca.h-checking regexp
57228         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
57229         regexp.  Before, we would give a false-positive (saying alloca.h
57230         is included unnecessarily) when the only uses involved omitted symbols.
57232         xalloc.h: use consistent formatting
57233         * lib/xalloc.h: Move declarations to start in the first column.
57235 2010-01-05  Eric Blake  <ebb9@byu.net>
57237         mkdir: avoid xalloc
57238         * lib/mkdir.c (includes): Drop unused header.
57239         Reported by John W. Eaton.
57241 2010-01-04  Jim Meyering  <meyering@redhat.com>
57243         nl_langinfo: avoid configure-time syntax error
57244         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
57245         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
57246         the empty string.  Don't let that provoke a shell syntax error.
57248         regcomp, regexec, fnmatch: avoid array bounds read error
57249         * lib/regcomp.c (build_equiv_class): From glibc:
57250         Use only the low 24 bits of a findidx return value as an index
57251         into the weights array.  Patch by Ulrich Drepper:
57252         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
57253         * lib/regexec.c (check_node_accept_bytes): Likewise.
57254         * lib/fnmatch_loop.c (FCT): Likewise.
57256         regcomp: skip collseq lookup when there are no rules
57257         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
57258         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
57260         regcomp: recognize ill-formed { } expressions
57261         * lib/regcomp.c (parse_dup_op): From glibc:
57262         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
57264         regcomp: fix typo in comment
57265         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
57266         s/satisfy/satisfies/.
57268         regcomp: sync from glibc: remove dead store
57269         * lib/regcomp.c (duplicate_node_closure): Remove useless
57270         search_duplicated_node call and dead store.
57272         regcomp: sync from glibc; always use nl_langinfo
57273         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
57274         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
57275         * modules/regex (Depends-on): Add nl_langinfo.
57277 2010-01-04  Eric Blake  <ebb9@byu.net>
57279         fdopendir: fix configure test
57280         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
57282 2010-01-01  Bruno Haible  <bruno@clisp.org>
57284         wchar: Remove unused configure check.
57285         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
57287 2010-01-01  Eric Blake  <ebb9@byu.net>
57289         headers: make check of system header explicit
57290         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
57291         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
57292         ourselves.
57293         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57294         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57295         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57296         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
57297         internals.
57298         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
57299         missing.
57300         Suggested by Bruno Haible.
57302 2010-01-01  Jim Meyering  <meyering@redhat.com>
57304         ChangeLog: tweak to eliminate unnecessary copyright line
57305         * ChangeLog: Remove a copyright line that was mistakenly updated
57306         by today's update-copyright run.  Reported by Eric Blake.
57308         test-update-copyright: don't let envvar setting cause test failure
57309         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57311 2010-01-01  Bruno Haible  <bruno@clisp.org>
57313         localename: Avoid gcc warning.
57314         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
57315         function if it is not used.
57317 2010-01-01  Jim Meyering  <meyering@redhat.com>
57319         update nearly all FSF copyright year lists to include 2010
57320         Use the same procedure as for 2009, outlined in
57321         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
57323         version-etc: set COPYRIGHT_YEAR to 2010
57324         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
57326 2009-12-31  Eric Blake  <ebb9@byu.net>
57328         doc: correct availability of cygwin 1.5.x getopt
57329         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
57330         variables.
57331         * doc/posix-functions/opterr.texi (opterr): Likewise.
57332         * doc/posix-functions/optind.texi (optind): Likewise.
57333         * doc/posix-functions/optopt.texi (optopt): Likewise.
57334         * doc/posix-functions/tzname.texi (tzname): Likewise.
57336         openat: update maintainer
57337         * modules/openat (Maintainer): Add myself.
57339         utimens: avoid shadowing warning
57340         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
57341         buffers into one, to avoid shadowing, as well as avoiding a
57342         redundant stat.
57343         Reported by Jim Meyering.
57345         test-dup2: avoid compiler warning
57346         * tests/test-dup2.c (is_inheritable): Only define if used.
57348 2010-01-01  Bruno Haible  <bruno@clisp.org>
57350         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
57351         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
57352         defined, use wctomb instead of wcrtomb.
57354 2010-01-01  Bruno Haible  <bruno@clisp.org>
57356         iconv: Reject native Solaris iconv.
57357         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
57358         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
57360 2009-12-31  Bruno Haible  <bruno@clisp.org>
57362         * tests/test-signal.c (main): Remove test of 'SIG'.
57364 2009-12-31  Bruno Haible  <bruno@clisp.org>
57366         spawn: Fix incomplete fix.
57367         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57368         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57369         warnings for GNULIB_POSIXCHECK again.
57370         Reported by Eric Blake.
57372 2009-12-31  Bruno Haible  <bruno@clisp.org>
57374         Avoid namespace pollution on glibc systems.
57375         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
57376         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
57377         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
57378         glibc systems.
57380 2009-12-31  Bruno Haible  <bruno@clisp.org>
57382         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
57383         (gl_REPLACE_WCHAR_H): Turn into a no-op.
57384         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
57385         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
57386         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
57387         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
57388         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
57390 2009-12-31  Bruno Haible  <bruno@clisp.org>
57392         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
57393         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
57394         afterwards.
57396 2009-12-31  Bruno Haible  <bruno@clisp.org>
57398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
57399         SYS_UTSNAME_H.
57401 2009-12-31  Bruno Haible  <bruno@clisp.org>
57403         spawn: Fix misapplied patch.
57404         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57405         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57406         warnings for GNULIB_POSIXCHECK.
57408 2009-12-31  Bruno Haible  <bruno@clisp.org>
57410         times: Update after sys_times changed.
57411         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
57412         * modules/times (Files): Add it.
57413         (configure.ac): Invoke gl_FUNC_TIMES.
57415 2009-12-31  Bruno Haible  <bruno@clisp.org>
57417         Use AC_C_INLINE where necessary.
57418         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
57419         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57420         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
57421         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57422         * m4/mbfile.m4 (gl_MBFILE): Likewise.
57423         * m4/mbiter.m4 (gl_MBITER): Likewise.
57424         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57425         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57426         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
57427         * modules/u64 (configure.ac): Likewise.
57429 2009-12-31  Bruno Haible  <bruno@clisp.org>
57431         Use AC_C_INLINE instead of module 'inline' where possible.
57432         * modules/inline (Description): Clarify purpose.
57433         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
57434         * modules/count-one-bits (Depends-on): Remove inline.
57435         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
57436         * modules/openat (Depends-on): Remove inline.
57437         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
57438         instead of depending on module 'inline'.
57439         * modules/filevercmp (Depends-on, configure.ac): Likewise.
57440         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
57441         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
57442         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
57443         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
57444         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
57445         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
57446         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
57447         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
57448         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
57449         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
57450         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
57451         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
57452         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
57453         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
57454         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
57455         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
57456         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
57457         Likewise.
57458         * modules/unictype/property-ascii-hex-digit (Depends-on,
57459         configure.ac): Likewise.
57460         * modules/unictype/property-bidi-arabic-digit (Depends-on,
57461         configure.ac): Likewise.
57462         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
57463         configure.ac): Likewise.
57464         * modules/unictype/property-bidi-block-separator (Depends-on,
57465         configure.ac): Likewise.
57466         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
57467         configure.ac): Likewise.
57468         * modules/unictype/property-bidi-common-separator (Depends-on,
57469         configure.ac): Likewise.
57470         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
57471         Likewise.
57472         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
57473         configure.ac): Likewise.
57474         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
57475         configure.ac): Likewise.
57476         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
57477         configure.ac): Likewise.
57478         * modules/unictype/property-bidi-european-digit (Depends-on,
57479         configure.ac): Likewise.
57480         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
57481         configure.ac): Likewise.
57482         * modules/unictype/property-bidi-left-to-right (Depends-on,
57483         configure.ac): Likewise.
57484         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
57485         configure.ac): Likewise.
57486         * modules/unictype/property-bidi-other-neutral (Depends-on,
57487         configure.ac): Likewise.
57488         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
57489         Likewise.
57490         * modules/unictype/property-bidi-segment-separator (Depends-on,
57491         configure.ac): Likewise.
57492         * modules/unictype/property-bidi-whitespace (Depends-on,
57493         configure.ac): Likewise.
57494         * modules/unictype/property-combining (Depends-on, configure.ac):
57495         Likewise.
57496         * modules/unictype/property-composite (Depends-on, configure.ac):
57497         Likewise.
57498         * modules/unictype/property-currency-symbol (Depends-on,
57499         configure.ac): Likewise.
57500         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
57501         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
57502         Likewise.
57503         * modules/unictype/property-default-ignorable-code-point (Depends-on,
57504         configure.ac): Likewise.
57505         * modules/unictype/property-deprecated (Depends-on, configure.ac):
57506         Likewise.
57507         * modules/unictype/property-diacritic (Depends-on, configure.ac):
57508         Likewise.
57509         * modules/unictype/property-extender (Depends-on, configure.ac):
57510         Likewise.
57511         * modules/unictype/property-format-control (Depends-on, configure.ac):
57512         Likewise.
57513         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
57514         Likewise.
57515         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
57516         Likewise.
57517         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
57518         Likewise.
57519         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
57520         Likewise.
57521         * modules/unictype/property-hyphen (Depends-on, configure.ac):
57522         Likewise.
57523         * modules/unictype/property-id-continue (Depends-on, configure.ac):
57524         Likewise.
57525         * modules/unictype/property-id-start (Depends-on, configure.ac):
57526         Likewise.
57527         * modules/unictype/property-ideographic (Depends-on, configure.ac):
57528         Likewise.
57529         * modules/unictype/property-ids-binary-operator (Depends-on,
57530         configure.ac): Likewise.
57531         * modules/unictype/property-ids-trinary-operator (Depends-on,
57532         configure.ac): Likewise.
57533         * modules/unictype/property-ignorable-control (Depends-on,
57534         configure.ac): Likewise.
57535         * modules/unictype/property-iso-control (Depends-on, configure.ac):
57536         Likewise.
57537         * modules/unictype/property-join-control (Depends-on, configure.ac):
57538         Likewise.
57539         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
57540         Likewise.
57541         * modules/unictype/property-line-separator (Depends-on, configure.ac):
57542         Likewise.
57543         * modules/unictype/property-logical-order-exception (Depends-on,
57544         configure.ac): Likewise.
57545         * modules/unictype/property-lowercase (Depends-on, configure.ac):
57546         Likewise.
57547         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
57548         * modules/unictype/property-non-break (Depends-on, configure.ac):
57549         Likewise.
57550         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
57551         Likewise.
57552         * modules/unictype/property-numeric (Depends-on, configure.ac):
57553         Likewise.
57554         * modules/unictype/property-other-alphabetic (Depends-on,
57555         configure.ac): Likewise.
57556         * modules/unictype/property-other-default-ignorable-code-point
57557         (Depends-on, configure.ac): Likewise.
57558         * modules/unictype/property-other-grapheme-extend (Depends-on,
57559         configure.ac): Likewise.
57560         * modules/unictype/property-other-id-continue (Depends-on,
57561         configure.ac): Likewise.
57562         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
57563         Likewise.
57564         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
57565         Likewise.
57566         * modules/unictype/property-other-math (Depends-on, configure.ac):
57567         Likewise.
57568         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
57569         Likewise.
57570         * modules/unictype/property-paired-punctuation (Depends-on,
57571         configure.ac): Likewise.
57572         * modules/unictype/property-paragraph-separator (Depends-on,
57573         configure.ac): Likewise.
57574         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
57575         Likewise.
57576         * modules/unictype/property-pattern-white-space (Depends-on,
57577         configure.ac): Likewise.
57578         * modules/unictype/property-private-use (Depends-on, configure.ac):
57579         Likewise.
57580         * modules/unictype/property-punctuation (Depends-on, configure.ac):
57581         Likewise.
57582         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
57583         Likewise.
57584         * modules/unictype/property-radical (Depends-on, configure.ac):
57585         Likewise.
57586         * modules/unictype/property-sentence-terminal (Depends-on,
57587         configure.ac): Likewise.
57588         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
57589         Likewise.
57590         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
57591         * modules/unictype/property-terminal-punctuation (Depends-on,
57592         configure.ac): Likewise.
57593         * modules/unictype/property-titlecase (Depends-on, configure.ac):
57594         Likewise.
57595         * modules/unictype/property-unassigned-code-value (Depends-on,
57596         configure.ac): Likewise.
57597         * modules/unictype/property-unified-ideograph (Depends-on,
57598         configure.ac): Likewise.
57599         * modules/unictype/property-uppercase (Depends-on, configure.ac):
57600         Likewise.
57601         * modules/unictype/property-variation-selector (Depends-on,
57602         configure.ac): Likewise.
57603         * modules/unictype/property-white-space (Depends-on, configure.ac):
57604         Likewise.
57605         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
57606         Likewise.
57607         * modules/unictype/property-xid-start (Depends-on, configure.ac):
57608         Likewise.
57609         * modules/unictype/property-zero-width (Depends-on, configure.ac):
57610         Likewise.
57611         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
57612         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
57613         Likewise.
57615 2009-12-31  Bruno Haible  <bruno@clisp.org>
57617         Remove unnecessary AC_C_INLINE invocation.
57618         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
57619         since 2009-08-21.
57621 2009-12-31  Jim Meyering  <meyering@redhat.com>
57623         maint.mk: don't require explicit gpg_key_ID in cfg.mk
57624         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
57625         With this change, we can all remove the gpg_key_ID = ... definition
57626         from our respective cfg.mk files.
57628         maint.mk: create announcement template in ~/, not in /tmp
57629         * top/maint.mk (emit_upload_commands): Adjust.
57630         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
57631         Remove temporary file, .ci-msg.
57633 2009-12-31  Eric Blake  <ebb9@byu.net>
57635         link-warning: always build headers with link warnings
57636         * modules/arpa_inet (Makefile.am): Always build replacement
57637         header.
57638         * modules/ctype (Makefile.am): Likewise.
57639         * modules/dirent (Makefile.am): Likewise.
57640         * modules/inttypes (Makefile.am): Likewise.
57641         * modules/langinfo (Makefile.am): Likewise.
57642         * modules/locale (Makefile.am): Likewise.
57643         * modules/spawn (Makefile.am): Likewise.
57644         * modules/sys_file (Makefile.am): Likewise.
57645         * modules/sys_ioctl (Makefile.am): Likewise.
57646         * modules/sys_select (Makefile.am): Likewise.
57647         * modules/sys_socket (Makefile.am): Likewise.
57648         * modules/sys_times (Makefile.am): Likewise.
57649         * modules/sys_utsname (Makefile.am): Likewise.
57650         * modules/sys_wait (Makefile.am): Likewise.
57651         * modules/wchar (Makefile.am): Likewise.
57652         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
57653         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
57654         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
57655         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
57656         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
57657         Likewise.
57658         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57659         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
57660         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
57661         Likewise.
57662         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
57663         Likewise.
57664         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
57665         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
57666         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
57667         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57668         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57669         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57670         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57671         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
57672         (gl_WCHAR_H_DEFAULTS): Likewise.
57674 2009-12-31  Eric Blake  <ebb9@byu.net>
57676         signal, spawn: use link warnings
57677         * lib/signal.in.h (sigset_t): Make unconditional.
57678         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
57679         (sigpending, sigprocmask, sigaction): Add link warnings.
57680         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
57681         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
57682         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
57683         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
57684         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
57685         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
57686         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
57687         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
57688         (posix_spawn_file_actions_destroy)
57689         (posix_spawn_file_actions_addopen)
57690         (posix_spawn_file_actions_addclose)
57691         (posix_spawn_file_actions_adddup2): Likewise.
57692         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
57693         * tests/test-signal.c (main): Enhance test.
57695         spawn: improve wrapper support
57696         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
57697         (gl_SPAWN_H_DEFAULTS): New defaults.
57698         * modules/spawn (Makefile.am): Substitute them.
57699         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
57700         Only declare if missing or broken.
57702         sys_times, sys_utsname: use include_next
57703         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
57704         header.
57705         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
57706         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57707         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57708         * modules/sys_times (Depends-on): Add include_next.
57709         (Makefile.am): Substitute additional values.
57710         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
57711         * lib/sys_times.in.h (includes): Include native header, if
57712         available.
57713         * lib/sys_utsname.in.h (includes): Likewise.
57714         * tests/test-sys_times.c (main): Enhance test.
57716         fdutimensat: revert prior patch
57717         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
57718         utimens.h.
57719         Reported by Bruno Haible.
57721 2009-12-30  Eric Blake  <ebb9@byu.net>
57723         sys_wait: drop link-warning dependency
57724         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
57725         link-warning efforts.
57726         * lib/sys_wait.in.h: Likewise.
57728         fdutimensat: remove bogus dependency
57729         * modules/fdutimensat (Depends-on): Drop inline.
57731         unistd: fix typo
57732         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
57734 2009-12-30  Bruno Haible  <bruno@clisp.org>
57736         Fix compilation error with Solaris cc.
57737         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
57738         * lib/unicase/u16-is-invariant.c: Likewise.
57739         * lib/unicase/u32-is-invariant.c: Likewise.
57740         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57742 2009-12-30  Bruno Haible  <bruno@clisp.org>
57744         Fix test crash.
57745         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57746         locales.
57747         Reported by Simon Josefsson <simon@josefsson.org>.
57749 2009-12-30  Bruno Haible  <bruno@clisp.org>
57751         Fix compilation error on most platforms.
57752         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57753         Reported by Simon Josefsson <simon@josefsson.org>
57754         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57756 2009-12-30  Eric Blake  <ebb9@byu.net>
57758         futimens, utimensat: work around ntfs-3g bug
57759         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57760         a ctime bug is present, and expand workaround to cover ntfs-3g.
57761         * lib/utimens.c (fdutimens, lutimens): Likewise.
57762         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57763         (validate_timespec): Adjust return value.
57764         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57765         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57766         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57768 2009-12-29  Eric Blake  <ebb9@byu.net>
57770         link-warning: make usage consistent
57771         * modules/ctype (Depends-on): Add link-warning.
57772         (Makefile.am): Update rules accordingly.
57773         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57774         * modules/locale (Depends-on, Makefile.am): Likewise.
57775         * modules/sys_file (Makefile.am): Likewise.
57776         * modules/getopt-posix (Makefile.am): Delete unused link warning
57777         efforts.
57778         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57779         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57780         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57781         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57783         stdio: remove unused variables
57784         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57785         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57786         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57788         tests: test more substitute headers
57789         * modules/ctype-tests: New file.
57790         * modules/dirent-tests: Likewise.
57791         * modules/spawn-tests: Likewise.
57792         * modules/sys_file-tests: Likewise.
57793         * modules/sys_ioctl-tests: Likewise.
57794         * modules/sys_wait-tests: Likewise.
57795         * tests/test-ctype.c: Likewise.
57796         * tests/test-dirent.c: Likewise.
57797         * tests/test-spawn.c: Likewise.
57798         * tests/test-sys_file.c: Likewise.
57799         * tests/test-sys_ioctl.c: Likewise.
57800         * tests/test-sys_wait.c: Likewise.
57801         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57802         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57803         whether or not flock is in use.
57805         tests: remove License section from module
57806         * modules/arpa_inet-tests: Remove unneeded section.
57807         * modules/byteswap-tests: Likewise.
57808         * modules/ceilf-tests: Likewise.
57809         * modules/ceill-tests: Likewise.
57810         * modules/crypto/des-tests: Likewise.
57811         * modules/crypto/gc-arcfour-tests: Likewise.
57812         * modules/crypto/gc-arctwo-tests: Likewise.
57813         * modules/crypto/gc-des-tests: Likewise.
57814         * modules/crypto/gc-hmac-md5-tests: Likewise.
57815         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57816         * modules/crypto/gc-md2-tests: Likewise.
57817         * modules/crypto/gc-md4-tests: Likewise.
57818         * modules/crypto/gc-md5-tests: Likewise.
57819         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57820         * modules/crypto/gc-rijndael-tests: Likewise.
57821         * modules/crypto/gc-sha1-tests: Likewise.
57822         * modules/crypto/gc-tests: Likewise.
57823         * modules/crypto/md2-tests: Likewise.
57824         * modules/crypto/md4-tests: Likewise.
57825         * modules/fcntl-h-tests: Likewise.
57826         * modules/floorf-tests: Likewise.
57827         * modules/floorl-tests: Likewise.
57828         * modules/frexp-nolibm-tests: Likewise.
57829         * modules/frexp-tests: Likewise.
57830         * modules/frexpl-nolibm-tests: Likewise.
57831         * modules/frexpl-tests: Likewise.
57832         * modules/getaddrinfo-tests: Likewise.
57833         * modules/inttypes-tests: Likewise.
57834         * modules/isfinite-tests: Likewise.
57835         * modules/isinf-tests: Likewise.
57836         * modules/ldexpl-tests: Likewise.
57837         * modules/locale-tests: Likewise.
57838         * modules/math-tests: Likewise.
57839         * modules/netdb-tests: Likewise.
57840         * modules/netinet_in-tests: Likewise.
57841         * modules/printf-frexp-tests: Likewise.
57842         * modules/printf-frexpl-tests: Likewise.
57843         * modules/priv-set-tests: Likewise.
57844         * modules/random_r-tests: Likewise.
57845         * modules/round-tests: Likewise.
57846         * modules/roundf-tests: Likewise.
57847         * modules/roundl-tests: Likewise.
57848         * modules/search-tests: Likewise.
57849         * modules/select-tests: Likewise.
57850         * modules/signal-tests: Likewise.
57851         * modules/stdbool-tests: Likewise.
57852         * modules/stddef-tests: Likewise.
57853         * modules/stdint-tests: Likewise.
57854         * modules/stdio-tests: Likewise.
57855         * modules/stdlib-tests: Likewise.
57856         * modules/string-tests: Likewise.
57857         * modules/strings-tests: Likewise.
57858         * modules/sys_select-tests: Likewise.
57859         * modules/sys_socket-tests: Likewise.
57860         * modules/sys_stat-tests: Likewise.
57861         * modules/sys_time-tests: Likewise.
57862         * modules/sys_utsname-tests: Likewise.
57863         * modules/sysexits-tests: Likewise.
57864         * modules/time-tests: Likewise.
57865         * modules/trunc-tests: Likewise.
57866         * modules/truncf-tests: Likewise.
57867         * modules/truncl-tests: Likewise.
57868         * modules/tsearch-tests: Likewise.
57869         * modules/unistd-tests: Likewise.
57870         * modules/wchar-tests: Likewise.
57871         * modules/wctype-tests: Likewise.
57873         tests: fix license on several tests
57874         * tests/test-des.c: Update to GPLv3+.
57875         * tests/test-flock.c: Likewise.
57876         * tests/test-fsync.c: Likewise.
57877         * tests/test-futimens.h: Likewise.
57878         * tests/test-gc-arcfour.c: Likewise.
57879         * tests/test-gc-arctwo.c: Likewise.
57880         * tests/test-gc-des.c: Likewise.
57881         * tests/test-gc-hmac-md5.c: Likewise.
57882         * tests/test-gc-hmac-sha1.c: Likewise.
57883         * tests/test-gc-md2.c: Likewise.
57884         * tests/test-gc-md4.c: Likewise.
57885         * tests/test-gc-md5.c: Likewise.
57886         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57887         * tests/test-gc-rijndael.c: Likewise.
57888         * tests/test-gc-sha1.c: Likewise.
57889         * tests/test-gc.c: Likewise.
57890         * tests/test-getcwd.c: Likewise.
57891         * tests/test-link.c: Likewise.
57892         * tests/test-link.h: Likewise.
57893         * tests/test-lutimens.h: Likewise.
57894         * tests/test-md2.c: Likewise.
57895         * tests/test-md4.c: Likewise.
57896         * tests/test-mkdir.h: Likewise.
57897         * tests/test-rename.c: Likewise.
57898         * tests/test-rename.h: Likewise.
57899         * tests/test-safe-alloc.c: Likewise.
57900         * tests/test-utimens-common.h: Likewise.
57901         * tests/test-utimens.h: Likewise.
57903         maint: sync license texts
57904         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57905         * doc/gpl-3.0.texi: Revert copyright year update.
57906         * doc/lgpl-3.0.texi: Likewise.
57908 2009-12-29  Jim Meyering  <meyering@redhat.com>
57910         update nearly all FSF copyright year lists to include 2009
57911         The files named by the following are exempted:
57912             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57913               test -f "$dst" && { echo "$dst"; continue; }
57914               test -d "$dst" || continue
57915               echo "$dst"/$(basename "$src")
57916             done > exempt
57917             git ls-files tests/unictype >> exempt
57918         In the remaining files, convert to all-interval notation if
57919         - there is already at least one year interval like 2000-2003
57920         - the file is maintained by me
57921         - the file is in lib/uni*/, where that style already prevails
57922         Otherwise, use update-copyright's default.
57924 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57925         and Eric Blake  <ebb9@byu.net>
57927         tests: don't require debug system() to pass
57928         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57929         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57930         * tests/test-unlink.h (test_unlink_func): Likewise.
57931         * tests/test-fstatat.c (main): ...into callers.
57932         * tests/test-lstat.c (main): Likewise.
57933         * tests/test-rmdir.c (main): Likewise.
57934         * tests/test-unlink.c (main): Likewise.
57935         * tests/test-unlinkat.c (main): Likewise.
57936         * tests/test-areadlink-with-size.c (main): Don't require a
57937         debug-only system call to pass, aiding cross-testing to mingw.
57938         * tests/test-areadlink.c (main): Likewise.
57939         * tests/test-areadlinkat-with-size.c (main): Likewise.
57940         * tests/test-areadlinkat.c (main): Likewise.
57941         * tests/test-canonicalize-lgpl.c (main): Likewise.
57942         * tests/test-canonicalize.c (main): Likewise.
57943         * tests/test-chown.c (main): Likewise.
57944         * tests/test-fchownat.c (main): Likewise.
57945         * tests/test-lchown.c (main): Likewise.
57946         * tests/test-fdutimensat.c (main): Likewise.
57947         * tests/test-futimens.c (main): Likewise.
57948         * tests/test-link.c (main): Likewise.
57949         * tests/test-linkat.c (main): Likewise.
57950         * tests/test-mkdir.c (main): Likewise.
57951         * tests/test-mkdirat.c (main): Likewise.
57952         * tests/test-mkfifo.c (main): Likewise.
57953         * tests/test-mkfifoat.c (main): Likewise.
57954         * tests/test-mknod.c (main): Likewise.
57955         * tests/test-readlink.c (main): Likewise.
57956         * tests/test-remove.c (main): Likewise.
57957         * tests/test-rename.c (main): Likewise.
57958         * tests/test-renameat.c (main): Likewise.
57959         * tests/test-symlink.c (main): Likewise.
57960         * tests/test-symlinkat.c (main): Likewise.
57961         * tests/test-utimens.c (main): Likewise.
57962         * tests/test-utimensat.c (main): Likewise.
57964 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57966         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
57967         on $(UNUSED_PARAMETER_H) to avoid build failure.
57969 2009-12-28  Jim Meyering  <meyering@redhat.com>
57971         update-copyright: you may specify a max. line length other than 72
57972         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57974         maint: use consistent FSF copyright line syntax
57975         * lib/posixtm.c: Add missing comma in FSF copyright line.
57976         * lib/posixtm.h: Likewise.
57977         * lib/getugroups.c: Add missing ", Inc.".
57979         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
57980         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
57981         FSF copyright line.  Remove trailing blanks.
57983 2009-12-28  Eric Blake  <ebb9@byu.net>
57985         test-dup2: reduce dependencies
57986         * modules/cloexec (Configure.ac): Set witness.
57987         * modules/dup2-tests (Depends-on): Drop cloexec.
57988         * tests/test-dup2.c (main): Skip portion of test if cloexec module
57989         not present.
57990         Suggested by Bruno Haible.
57992 2009-12-26  Bruno Haible  <bruno@clisp.org>
57994         Remove an unneeded dependency.
57995         * modules/fseterr (Depends-on): Remove dup2.
57997 2009-12-26  Eric Blake  <ebb9@byu.net>
57999         tests: use macros.h in more places
58000         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
58001         (ASSERT_STREAM): Provide default of stderr.
58002         * tests/test-dirent-safer.c: Include macros.h, using alternate
58003         stream for assertions.
58004         * tests/test-dup-safer.c: Likewise.
58005         * tests/test-freopen-safer.c: Likewise.
58006         * tests/test-getopt.c: Likewise.
58007         * tests/test-openat-safer.c: Likewise.
58008         * tests/test-pipe.c: Likewise.
58009         * tests/test-popen-safer.c: Likewise.
58010         * modules/dirent-safer-tests (Files): Include macros.h.
58011         * modules/unistd-safer-tests (Files): Likewise.
58012         * modules/freopen-safer-tests (Files): Likewise.
58013         * modules/getopt-posix-tests (Files): Likewise.
58014         * modules/openat-safer-tests (Files): Likewise.
58015         * modules/pipe-tests (Files): Likewise.
58017 2009-12-26  Bruno Haible  <bruno@clisp.org>
58019         javacomp-script: Portability fix.
58020         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
58021         that it also works on Solaris.
58023 2009-12-26  Bruno Haible  <bruno@clisp.org>
58025         localename: Fix storage allocation of gl_locale_name_thread's result.
58026         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
58027         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
58028         all platforms that have 'uselocale'.
58029         (gl_locale_name_thread_unsafe): New function, extracted from
58030         gl_locale_name_thread.
58031         (gl_locale_name_thread): Call struniq on all platforms that have
58032         'uselocale'.
58033         * tests/test-localename.c (test_locale_name_thread): Check that the
58034         resulting strings are permanently allocated.
58035         * modules/localename-tests (Depends-on): Add strdup.
58037 2009-12-26  Bruno Haible  <bruno@clisp.org>
58039         * tests/test-localename.c (categories): Fill in the strings.
58041 2009-12-26  Jim Meyering  <meyering@redhat.com>
58043         isdir: complete the removal of m4/isdir.m4
58044         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
58046         isdir: clean up, since at least grep still uses it
58047         * lib/isdir.c: Include "isdir.h".
58048         (S_ISDIR): Remove now-unneeded definition.
58049         * modules/isdir (Files): Add lib/isdir.h.
58050         * lib/isdir.h: New file, with declaration.
58051         * m4/isdir.m4: Remove file -- unneeded.
58053 2009-12-25  Bruno Haible  <bruno@clisp.org>
58055         selinux-h: Make generated .h files standalone.
58056         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
58057         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
58058         * lib/se-selinux.in.h: Likewise.
58059         * modules/selinux-h (Depends-on): Add unused-parameter.
58060         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
58061         selinux/selinux.h and selinux/context.h.
58062         Suggested by Eric Blake.
58064 2009-12-25  Bruno Haible  <bruno@clisp.org>
58066         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
58067         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
58068         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
58069         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
58070         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
58072 2009-12-24  Bruno Haible  <bruno@clisp.org>
58074         openat: Fix warning.
58075         * lib/openat-proc.c: Include <unistd.h>.
58077 2009-12-24  Bruno Haible  <bruno@clisp.org>
58079         New module 'unused-parameter'.
58080         * build-aux/unused-parameter.h: New file, extracted from earlier
58081         gnulib-common.m4.
58082         * modules/unused-parameter: New file.
58083         * lib/unistr.h: Include unused-parameter.h.
58084         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
58085         _GL_UNUSED.
58086         * modules/unistr/base (Depends-on): Add unused-parameter.
58088 2009-12-24  Bruno Haible  <bruno@clisp.org>
58090         Add missing dependencies to 'extensions' module.
58091         * m4/extensions.m4: Add comment.
58092         * modules/accept4 (Depends-on): Add extensions.
58093         * modules/dup3 (Depends-on): Likewise.
58094         * modules/fcntl (Depends-on): Likewise.
58095         * modules/futimens (Depends-on): Likewise.
58096         * modules/mknod (Depends-on): Likewise.
58097         * modules/pipe2 (Depends-on): Likewise.
58098         * modules/stat-time (Depends-on): Likewise.
58099         * modules/strcasestr-simple (Depends-on): Likewise.
58100         * modules/strsignal (Depends-on): Likewise.
58101         * modules/utimensat (Depends-on): Likewise.
58102         * modules/localcharset (Depends-on): Likewise. Needed because of
58103         gl_FCNTL_O_FLAGS.
58104         * modules/wcrtomb (Depends-on): Likewise. Needed because of
58105         AC_TYPE_MBSTATE_T.
58106         * modules/wcsnrtombs (Depends-on): Likewise.
58107         * modules/wcsrtombs (Depends-on): Likewise.
58109 2009-12-24  Bruno Haible  <bruno@clisp.org>
58111         binary-io: Avoid gcc warning due to SET_BINARY.
58112         * lib/binary-io.h (SET_BINARY): Cast the result to void.
58113         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
58115 2009-12-24  Bruno Haible  <bruno@clisp.org>
58117         Avoid future namespace pollution on glibc systems.
58118         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
58119         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
58120         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
58121         glibc systems.
58123 2009-12-24  Bruno Haible  <bruno@clisp.org>
58125         Refactor common macros used in tests.
58126         * tests/macros.h: New file.
58127         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
58128         and/or <stdlib.h>, if appropriate.
58129         (ASSERT, SIZEOF): Remove macros.
58130         * tests/test-areadlink-with-size.c: Likewise.
58131         * tests/test-areadlinkat.c: Likewise.
58132         * tests/test-areadlinkat-with-size.c: Likewise.
58133         * tests/test-argmatch.c: Likewise.
58134         * tests/test-argv-iter.c: Likewise.
58135         * tests/test-array-mergesort.c: Likewise.
58136         * tests/test-array_list.c: Likewise.
58137         * tests/test-array_oset.c: Likewise.
58138         * tests/test-avltree_list.c: Likewise.
58139         * tests/test-avltree_oset.c: Likewise.
58140         * tests/test-avltreehash_list.c: Likewise.
58141         * tests/test-base64.c: Likewise.
58142         * tests/test-binary-io.c: Likewise.
58143         * tests/test-bitrotate.c: Likewise.
58144         * tests/test-btowc.c: Likewise.
58145         * tests/test-byteswap.c: Likewise.
58146         * tests/test-c-ctype.c: Likewise.
58147         * tests/test-c-stack.c: Likewise.
58148         * tests/test-c-strcasecmp.c: Likewise.
58149         * tests/test-c-strcasestr.c: Likewise.
58150         * tests/test-c-strncasecmp.c: Likewise.
58151         * tests/test-c-strstr.c: Likewise.
58152         * tests/test-canonicalize-lgpl.c: Likewise.
58153         * tests/test-canonicalize.c: Likewise.
58154         * tests/test-carray_list.c: Likewise.
58155         * tests/test-ceilf1.c: Likewise.
58156         * tests/test-ceilf2.c: Likewise.
58157         * tests/test-ceill.c: Likewise.
58158         * tests/test-chown.c: Likewise.
58159         * tests/test-cloexec.c: Likewise.
58160         * tests/test-copy-acl.c: Likewise.
58161         * tests/test-copy-file.c: Likewise.
58162         * tests/test-count-one-bits.c: Likewise.
58163         * tests/test-dprintf-posix.c: Likewise.
58164         * tests/test-dup2.c: Likewise.
58165         * tests/test-dup3.c: Likewise.
58166         * tests/test-duplocale.c: Likewise.
58167         * tests/test-fbufmode.c: Likewise.
58168         * tests/test-fchdir.c: Likewise.
58169         * tests/test-fchownat.c: Likewise.
58170         * tests/test-fcntl-safer.c: Likewise.
58171         * tests/test-fcntl.c: Likewise.
58172         * tests/test-fdopendir.c: Likewise.
58173         * tests/test-fdutimensat.c: Likewise.
58174         * tests/test-fflush2.c: Likewise.
58175         * tests/test-file-has-acl.c: Likewise.
58176         * tests/test-filevercmp.c: Likewise.
58177         * tests/test-flock.c: Likewise.
58178         * tests/test-floorf1.c: Likewise.
58179         * tests/test-floorf2.c: Likewise.
58180         * tests/test-floorl.c: Likewise.
58181         * tests/test-fnmatch.c: Likewise.
58182         * tests/test-fopen.h: Likewise.
58183         * tests/test-fpending.c: Likewise.
58184         * tests/test-fprintf-posix.c: Likewise.
58185         * tests/test-fpurge.c: Likewise.
58186         * tests/test-freadable.c: Likewise.
58187         * tests/test-freadahead.c: Likewise.
58188         * tests/test-freading.c: Likewise.
58189         * tests/test-freadptr.c: Likewise.
58190         * tests/test-freadptr2.c: Likewise.
58191         * tests/test-freadseek.c: Likewise.
58192         * tests/test-freopen.c: Likewise.
58193         * tests/test-frexp.c: Likewise.
58194         * tests/test-frexpl.c: Likewise.
58195         * tests/test-fseek.c: Likewise.
58196         * tests/test-fseeko.c: Likewise.
58197         * tests/test-fstatat.c: Likewise.
58198         * tests/test-fstrcmp.c: Likewise.
58199         * tests/test-fsync.c: Likewise.
58200         * tests/test-ftell.c: Likewise.
58201         * tests/test-ftello.c: Likewise.
58202         * tests/test-func.c: Likewise.
58203         * tests/test-futimens.c: Likewise.
58204         * tests/test-fwritable.c: Likewise.
58205         * tests/test-fwriting.c: Likewise.
58206         * tests/test-getcwd.c: Likewise.
58207         * tests/test-getdate.c: Likewise.
58208         * tests/test-getdelim.c: Likewise.
58209         * tests/test-getdtablesize.c: Likewise.
58210         * tests/test-getgroups.c: Likewise.
58211         * tests/test-getline.c: Likewise.
58212         * tests/test-getndelim2.c: Likewise.
58213         * tests/test-glob.c: Likewise.
58214         * tests/test-hash.c: Likewise.
58215         * tests/test-i-ring.c: Likewise.
58216         * tests/test-iconv-utf.c: Likewise.
58217         * tests/test-iconv.c: Likewise.
58218         * tests/test-idpriv-drop.c: Likewise.
58219         * tests/test-idpriv-droptemp.c: Likewise.
58220         * tests/test-inet_ntop.c: Likewise.
58221         * tests/test-inet_pton.c: Likewise.
58222         * tests/test-isblank.c: Likewise.
58223         * tests/test-isfinite.c: Likewise.
58224         * tests/test-isinf.c: Likewise.
58225         * tests/test-isnan.c: Likewise.
58226         * tests/test-isnand.h: Likewise.
58227         * tests/test-isnanf.h: Likewise.
58228         * tests/test-isnanl.h: Likewise.
58229         * tests/test-lchown.c: Likewise.
58230         * tests/test-ldexpl.c: Likewise.
58231         * tests/test-link.c: Likewise.
58232         * tests/test-linkat.c: Likewise.
58233         * tests/test-linked_list.c: Likewise.
58234         * tests/test-linkedhash_list.c: Likewise.
58235         * tests/test-localename.c: Likewise.
58236         * tests/test-lseek.c: Likewise.
58237         * tests/test-lstat.c: Likewise.
58238         * tests/test-mbmemcasecmp.c: Likewise.
58239         * tests/test-mbmemcasecoll.c: Likewise.
58240         * tests/test-mbrtowc.c: Likewise.
58241         * tests/test-mbscasecmp.c: Likewise.
58242         * tests/test-mbscasestr1.c: Likewise.
58243         * tests/test-mbscasestr2.c: Likewise.
58244         * tests/test-mbscasestr3.c: Likewise.
58245         * tests/test-mbscasestr4.c: Likewise.
58246         * tests/test-mbschr.c: Likewise.
58247         * tests/test-mbscspn.c: Likewise.
58248         * tests/test-mbsinit.c: Likewise.
58249         * tests/test-mbsncasecmp.c: Likewise.
58250         * tests/test-mbsnrtowcs.c: Likewise.
58251         * tests/test-mbspbrk.c: Likewise.
58252         * tests/test-mbspcasecmp.c: Likewise.
58253         * tests/test-mbsrchr.c: Likewise.
58254         * tests/test-mbsrtowcs.c: Likewise.
58255         * tests/test-mbsspn.c: Likewise.
58256         * tests/test-mbsstr1.c: Likewise.
58257         * tests/test-mbsstr2.c: Likewise.
58258         * tests/test-mbsstr3.c: Likewise.
58259         * tests/test-memchr.c: Likewise.
58260         * tests/test-memchr2.c: Likewise.
58261         * tests/test-memcmp.c: Likewise.
58262         * tests/test-memmem.c: Likewise.
58263         * tests/test-memrchr.c: Likewise.
58264         * tests/test-mkdir.c: Likewise.
58265         * tests/test-mkdirat.c: Likewise.
58266         * tests/test-mkfifo.c: Likewise.
58267         * tests/test-mkfifoat.c: Likewise.
58268         * tests/test-mknod.c: Likewise.
58269         * tests/test-nanosleep.c: Likewise.
58270         * tests/test-nl_langinfo.c: Likewise.
58271         * tests/test-obstack-printf.c: Likewise.
58272         * tests/test-open.c: Likewise.
58273         * tests/test-openat.c: Likewise.
58274         * tests/test-pipe-filter-gi1.c: Likewise.
58275         * tests/test-pipe-filter-gi2-main.c: Likewise.
58276         * tests/test-pipe-filter-ii1.c: Likewise.
58277         * tests/test-pipe-filter-ii2-main.c: Likewise.
58278         * tests/test-pipe2.c: Likewise.
58279         * tests/test-popen.h: Likewise.
58280         * tests/test-posixtm.c: Likewise.
58281         * tests/test-pread.c: Likewise.
58282         * tests/test-printf-frexp.c: Likewise.
58283         * tests/test-printf-frexpl.c: Likewise.
58284         * tests/test-printf-posix.c: Likewise.
58285         * tests/test-priv-set.c: Likewise.
58286         * tests/test-quotearg.c: Likewise.
58287         * tests/test-random_r.c: Likewise.
58288         * tests/test-rawmemchr.c: Likewise.
58289         * tests/test-rbtree_list.c: Likewise.
58290         * tests/test-rbtree_oset.c: Likewise.
58291         * tests/test-rbtreehash_list.c: Likewise.
58292         * tests/test-readlink.c: Likewise.
58293         * tests/test-remove.c: Likewise.
58294         * tests/test-rename.c: Likewise.
58295         * tests/test-renameat.c: Likewise.
58296         * tests/test-rmdir.c: Likewise.
58297         * tests/test-round1.c: Likewise.
58298         * tests/test-roundf1.c: Likewise.
58299         * tests/test-roundl.c: Likewise.
58300         * tests/test-safe-alloc.c: Likewise.
58301         * tests/test-sameacls.c: Likewise.
58302         * tests/test-set-mode-acl.c: Likewise.
58303         * tests/test-setenv.c: Likewise.
58304         * tests/test-sigaction.c: Likewise.
58305         * tests/test-signbit.c: Likewise.
58306         * tests/test-sleep.c: Likewise.
58307         * tests/test-snprintf-posix.c: Likewise.
58308         * tests/test-snprintf.c: Likewise.
58309         * tests/test-sprintf-posix.c: Likewise.
58310         * tests/test-stat-time.c: Likewise.
58311         * tests/test-stat.c: Likewise.
58312         * tests/test-strcasestr.c: Likewise.
58313         * tests/test-strchrnul.c: Likewise.
58314         * tests/test-strerror.c: Likewise.
58315         * tests/test-striconv.c: Likewise.
58316         * tests/test-striconveh.c: Likewise.
58317         * tests/test-striconveha.c: Likewise.
58318         * tests/test-strsignal.c: Likewise.
58319         * tests/test-strstr.c: Likewise.
58320         * tests/test-strtod.c: Likewise.
58321         * tests/test-strverscmp.c: Likewise.
58322         * tests/test-symlink.c: Likewise.
58323         * tests/test-symlinkat.c: Likewise.
58324         * tests/test-trunc1.c: Likewise.
58325         * tests/test-trunc2.c: Likewise.
58326         * tests/test-truncf1.c: Likewise.
58327         * tests/test-truncf2.c: Likewise.
58328         * tests/test-truncl.c: Likewise.
58329         * tests/test-uname.c: Likewise.
58330         * tests/test-unlink.c: Likewise.
58331         * tests/test-unlinkat.c: Likewise.
58332         * tests/test-unsetenv.c: Likewise.
58333         * tests/test-usleep.c: Likewise.
58334         * tests/test-utimens.c: Likewise.
58335         * tests/test-utimensat.c: Likewise.
58336         * tests/test-vasnprintf-posix.c: Likewise.
58337         * tests/test-vasnprintf-posix2.c: Likewise.
58338         * tests/test-vasnprintf.c: Likewise.
58339         * tests/test-vasprintf-posix.c: Likewise.
58340         * tests/test-vasprintf.c: Likewise.
58341         * tests/test-vdprintf-posix.c: Likewise.
58342         * tests/test-vfprintf-posix.c: Likewise.
58343         * tests/test-vprintf-posix.c: Likewise.
58344         * tests/test-vsnprintf-posix.c: Likewise.
58345         * tests/test-vsnprintf.c: Likewise.
58346         * tests/test-vsprintf-posix.c: Likewise.
58347         * tests/test-wcrtomb.c: Likewise.
58348         * tests/test-wcsnrtombs.c: Likewise.
58349         * tests/test-wcsrtombs.c: Likewise.
58350         * tests/test-wctype.c: Likewise.
58351         * tests/test-wcwidth.c: Likewise.
58352         * tests/test-xfprintf-posix.c: Likewise.
58353         * tests/test-xmemdup0.c: Likewise.
58354         * tests/test-xprintf-posix.c: Likewise.
58355         * tests/test-xvasprintf.c: Likewise.
58356         * tests/unicase/test-locale-language.c: Likewise.
58357         * tests/unicase/test-mapping-part1.h: Likewise.
58358         * tests/unicase/test-predicate-part1.h: Likewise.
58359         * tests/unicase/test-u8-casecmp.c: Likewise.
58360         * tests/unicase/test-u8-casecoll.c: Likewise.
58361         * tests/unicase/test-u8-casefold.c: Likewise.
58362         * tests/unicase/test-u8-is-cased.c: Likewise.
58363         * tests/unicase/test-u8-is-casefolded.c: Likewise.
58364         * tests/unicase/test-u8-is-lowercase.c: Likewise.
58365         * tests/unicase/test-u8-is-titlecase.c: Likewise.
58366         * tests/unicase/test-u8-is-uppercase.c: Likewise.
58367         * tests/unicase/test-u8-tolower.c: Likewise.
58368         * tests/unicase/test-u8-totitle.c: Likewise.
58369         * tests/unicase/test-u8-toupper.c: Likewise.
58370         * tests/unicase/test-u16-casecmp.c: Likewise.
58371         * tests/unicase/test-u16-casecoll.c: Likewise.
58372         * tests/unicase/test-u16-casefold.c: Likewise.
58373         * tests/unicase/test-u16-is-cased.c: Likewise.
58374         * tests/unicase/test-u16-is-casefolded.c: Likewise.
58375         * tests/unicase/test-u16-is-lowercase.c: Likewise.
58376         * tests/unicase/test-u16-is-titlecase.c: Likewise.
58377         * tests/unicase/test-u16-is-uppercase.c: Likewise.
58378         * tests/unicase/test-u16-tolower.c: Likewise.
58379         * tests/unicase/test-u16-totitle.c: Likewise.
58380         * tests/unicase/test-u16-toupper.c: Likewise.
58381         * tests/unicase/test-u32-casecmp.c: Likewise.
58382         * tests/unicase/test-u32-casecoll.c: Likewise.
58383         * tests/unicase/test-u32-casefold.c: Likewise.
58384         * tests/unicase/test-u32-is-cased.c: Likewise.
58385         * tests/unicase/test-u32-is-casefolded.c: Likewise.
58386         * tests/unicase/test-u32-is-lowercase.c: Likewise.
58387         * tests/unicase/test-u32-is-titlecase.c: Likewise.
58388         * tests/unicase/test-u32-is-uppercase.c: Likewise.
58389         * tests/unicase/test-u32-tolower.c: Likewise.
58390         * tests/unicase/test-u32-totitle.c: Likewise.
58391         * tests/unicase/test-u32-toupper.c: Likewise.
58392         * tests/unicase/test-ulc-casecmp.c: Likewise.
58393         * tests/unicase/test-ulc-casecoll.c: Likewise.
58394         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58395         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58396         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58397         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58398         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58399         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58400         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58401         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58402         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58403         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58404         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58405         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58406         * tests/unictype/test-bidi_byname.c: Likewise.
58407         * tests/unictype/test-bidi_name.c: Likewise.
58408         * tests/unictype/test-bidi_of.c: Likewise.
58409         * tests/unictype/test-bidi_test.c: Likewise.
58410         * tests/unictype/test-block_list.c: Likewise.
58411         * tests/unictype/test-block_of.c: Likewise.
58412         * tests/unictype/test-block_test.c: Likewise.
58413         * tests/unictype/test-categ_and.c: Likewise.
58414         * tests/unictype/test-categ_and_not.c: Likewise.
58415         * tests/unictype/test-categ_byname.c: Likewise.
58416         * tests/unictype/test-categ_name.c: Likewise.
58417         * tests/unictype/test-categ_none.c: Likewise.
58418         * tests/unictype/test-categ_of.c: Likewise.
58419         * tests/unictype/test-categ_or.c: Likewise.
58420         * tests/unictype/test-categ_test_withtable.c: Likewise.
58421         * tests/unictype/test-combining.c: Likewise.
58422         * tests/unictype/test-decdigit.c: Likewise.
58423         * tests/unictype/test-digit.c: Likewise.
58424         * tests/unictype/test-mirror.c: Likewise.
58425         * tests/unictype/test-numeric.c: Likewise.
58426         * tests/unictype/test-pr_byname.c: Likewise.
58427         * tests/unictype/test-pr_test.c: Likewise.
58428         * tests/unictype/test-predicate-part1.h: Likewise.
58429         * tests/unictype/test-scripts.c: Likewise.
58430         * tests/unictype/test-sy_c_ident.c: Likewise.
58431         * tests/unictype/test-sy_java_ident.c: Likewise.
58432         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
58433         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
58434         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
58435         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
58436         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
58437         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
58438         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
58439         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
58440         * tests/uninorm/test-canonical-decomposition.c: Likewise.
58441         * tests/uninorm/test-compat-decomposition.c: Likewise.
58442         * tests/uninorm/test-composition.c: Likewise.
58443         * tests/uninorm/test-decomposing-form.c: Likewise.
58444         * tests/uninorm/test-decomposition.c: Likewise.
58445         * tests/uninorm/test-u8-nfc.c: Likewise.
58446         * tests/uninorm/test-u8-nfd.c: Likewise.
58447         * tests/uninorm/test-u8-nfkc.c: Likewise.
58448         * tests/uninorm/test-u8-nfkd.c: Likewise.
58449         * tests/uninorm/test-u8-normcmp.c: Likewise.
58450         * tests/uninorm/test-u8-normcoll.c: Likewise.
58451         * tests/uninorm/test-u16-nfc.c: Likewise.
58452         * tests/uninorm/test-u16-nfd.c: Likewise.
58453         * tests/uninorm/test-u16-nfkc.c: Likewise.
58454         * tests/uninorm/test-u16-nfkd.c: Likewise.
58455         * tests/uninorm/test-u16-normcmp.c: Likewise.
58456         * tests/uninorm/test-u16-normcoll.c: Likewise.
58457         * tests/uninorm/test-u32-nfc.c: Likewise.
58458         * tests/uninorm/test-u32-nfd.c: Likewise.
58459         * tests/uninorm/test-u32-nfkc.c: Likewise.
58460         * tests/uninorm/test-u32-nfkd.c: Likewise.
58461         * tests/uninorm/test-u32-normalize-big.c: Likewise.
58462         * tests/uninorm/test-u32-normcmp.c: Likewise.
58463         * tests/uninorm/test-u32-normcoll.c: Likewise.
58464         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
58465         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58466         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58467         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58468         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58469         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58470         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58471         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58472         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58473         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58474         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58475         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58476         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58477         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58478         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58479         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58480         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58481         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58482         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58483         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58484         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58485         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58486         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58487         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58488         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58489         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58490         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58491         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58492         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58493         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
58494         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
58495         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
58496         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
58497         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58498         * tests/uniwidth/test-u8-width.c: Likewise.
58499         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58500         * tests/uniwidth/test-u16-width.c: Likewise.
58501         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58502         * tests/uniwidth/test-u32-width.c: Likewise.
58503         * tests/uniwidth/test-uc_width.c: Likewise.
58504         * tests/uniwidth/test-uc_width2.c: Likewise.
58505         * modules/acl-tests (Files): Add tests/macros.h.
58506         * modules/areadlink-tests (Files): Likewise.
58507         * modules/areadlink-with-size-tests (Files): Likewise.
58508         * modules/areadlinkat-tests (Files): Likewise.
58509         * modules/areadlinkat-with-size-tests (Files): Likewise.
58510         * modules/argmatch-tests (Files): Likewise.
58511         * modules/argv-iter-tests (Files): Likewise.
58512         * modules/array-list-tests (Files): Likewise.
58513         * modules/array-mergesort-tests (Files): Likewise.
58514         * modules/array-oset-tests (Files): Likewise.
58515         * modules/avltree-list-tests (Files): Likewise.
58516         * modules/avltree-oset-tests (Files): Likewise.
58517         * modules/avltreehash-list-tests (Files): Likewise.
58518         * modules/base64-tests (Files): Likewise.
58519         * modules/binary-io-tests (Files): Likewise.
58520         * modules/bitrotate-tests (Files): Likewise.
58521         * modules/btowc-tests (Files): Likewise.
58522         * modules/byteswap-tests (Files): Likewise.
58523         * modules/c-ctype-tests (Files): Likewise.
58524         * modules/c-stack-tests (Files): Likewise.
58525         * modules/c-strcase-tests (Files): Likewise.
58526         * modules/c-strcasestr-tests (Files): Likewise.
58527         * modules/c-strstr-tests (Files): Likewise.
58528         * modules/canonicalize-lgpl-tests (Files): Likewise.
58529         * modules/canonicalize-tests (Files): Likewise.
58530         * modules/carray-list-tests (Files): Likewise.
58531         * modules/ceilf-tests (Files): Likewise.
58532         * modules/ceill-tests (Files): Likewise.
58533         * modules/chown-tests (Files): Likewise.
58534         * modules/cloexec-tests (Files): Likewise.
58535         * modules/copy-file-tests (Files): Likewise.
58536         * modules/count-one-bits-tests (Files): Likewise.
58537         * modules/dprintf-posix-tests (Files): Likewise.
58538         * modules/dup2-tests (Files): Likewise.
58539         * modules/dup3-tests (Files): Likewise.
58540         * modules/duplocale-tests (Files): Likewise.
58541         * modules/fbufmode-tests (Files): Likewise.
58542         * modules/fchdir-tests (Files): Likewise.
58543         * modules/fcntl-safer-tests (Files): Likewise.
58544         * modules/fcntl-tests (Files): Likewise.
58545         * modules/fdopendir-tests (Files): Likewise.
58546         * modules/fdutimensat-tests (Files): Likewise.
58547         * modules/fflush-tests (Files): Likewise.
58548         * modules/filevercmp-tests (Files): Likewise.
58549         * modules/flock-tests (Files): Likewise.
58550         * modules/floorf-tests (Files): Likewise.
58551         * modules/floorl-tests (Files): Likewise.
58552         * modules/fnmatch-tests (Files): Likewise.
58553         * modules/fopen-safer-tests (Files): Likewise.
58554         * modules/fopen-tests (Files): Likewise.
58555         * modules/fpending-tests (Files): Likewise.
58556         * modules/fprintf-posix-tests (Files): Likewise.
58557         * modules/fpurge-tests (Files): Likewise.
58558         * modules/freadable-tests (Files): Likewise.
58559         * modules/freadahead-tests (Files): Likewise.
58560         * modules/freading-tests (Files): Likewise.
58561         * modules/freadptr-tests (Files): Likewise.
58562         * modules/freadseek-tests (Files): Likewise.
58563         * modules/freopen-tests (Files): Likewise.
58564         * modules/frexp-nolibm-tests (Files): Likewise.
58565         * modules/frexp-tests (Files): Likewise.
58566         * modules/frexpl-nolibm-tests (Files): Likewise.
58567         * modules/frexpl-tests (Files): Likewise.
58568         * modules/fseek-tests (Files): Likewise.
58569         * modules/fseeko-tests (Files): Likewise.
58570         * modules/fstrcmp-tests (Files): Likewise.
58571         * modules/fsync-tests (Files): Likewise.
58572         * modules/ftell-tests (Files): Likewise.
58573         * modules/ftello-tests (Files): Likewise.
58574         * modules/func-tests (Files): Likewise.
58575         * modules/futimens-tests (Files): Likewise.
58576         * modules/fwritable-tests (Files): Likewise.
58577         * modules/fwriting-tests (Files): Likewise.
58578         * modules/getcwd-tests (Files): Likewise.
58579         * modules/getdate-tests (Files): Likewise.
58580         * modules/getdelim-tests (Files): Likewise.
58581         * modules/getdtablesize-tests (Files): Likewise.
58582         * modules/getgroups-tests (Files): Likewise.
58583         * modules/getline-tests (Files): Likewise.
58584         * modules/getndelim2-tests (Files): Likewise.
58585         * modules/glob-tests (Files): Likewise.
58586         * modules/hash-tests (Files): Likewise.
58587         * modules/i-ring-tests (Files): Likewise.
58588         * modules/iconv-tests (Files): Likewise.
58589         * modules/iconv_open-utf-tests (Files): Likewise.
58590         * modules/idpriv-drop-tests (Files): Likewise.
58591         * modules/idpriv-droptemp-tests (Files): Likewise.
58592         * modules/inet_ntop-tests (Files): Likewise.
58593         * modules/inet_pton-tests (Files): Likewise.
58594         * modules/isblank-tests (Files): Likewise.
58595         * modules/isfinite-tests (Files): Likewise.
58596         * modules/isinf-tests (Files): Likewise.
58597         * modules/isnan-tests (Files): Likewise.
58598         * modules/isnand-nolibm-tests (Files): Likewise.
58599         * modules/isnand-tests (Files): Likewise.
58600         * modules/isnanf-nolibm-tests (Files): Likewise.
58601         * modules/isnanf-tests (Files): Likewise.
58602         * modules/isnanl-nolibm-tests (Files): Likewise.
58603         * modules/isnanl-tests (Files): Likewise.
58604         * modules/lchown-tests (Files): Likewise.
58605         * modules/ldexpl-tests (Files): Likewise.
58606         * modules/link-tests (Files): Likewise.
58607         * modules/linkat-tests (Files): Likewise.
58608         * modules/linked-list-tests (Files): Likewise.
58609         * modules/linkedhash-list-tests (Files): Likewise.
58610         * modules/localename-tests (Files): Likewise.
58611         * modules/lseek-tests (Files): Likewise.
58612         * modules/lstat-tests (Files): Likewise.
58613         * modules/mbmemcasecmp-tests (Files): Likewise.
58614         * modules/mbmemcasecoll-tests (Files): Likewise.
58615         * modules/mbrtowc-tests (Files): Likewise.
58616         * modules/mbscasecmp-tests (Files): Likewise.
58617         * modules/mbscasestr-tests (Files): Likewise.
58618         * modules/mbschr-tests (Files): Likewise.
58619         * modules/mbscspn-tests (Files): Likewise.
58620         * modules/mbsinit-tests (Files): Likewise.
58621         * modules/mbsncasecmp-tests (Files): Likewise.
58622         * modules/mbsnrtowcs-tests (Files): Likewise.
58623         * modules/mbspbrk-tests (Files): Likewise.
58624         * modules/mbspcasecmp-tests (Files): Likewise.
58625         * modules/mbsrchr-tests (Files): Likewise.
58626         * modules/mbsrtowcs-tests (Files): Likewise.
58627         * modules/mbsspn-tests (Files): Likewise.
58628         * modules/mbsstr-tests (Files): Likewise.
58629         * modules/memchr-tests (Files): Likewise.
58630         * modules/memchr2-tests (Files): Likewise.
58631         * modules/memcmp-tests (Files): Likewise.
58632         * modules/memmem-tests (Files): Likewise.
58633         * modules/memrchr-tests (Files): Likewise.
58634         * modules/mkdir-tests (Files): Likewise.
58635         * modules/mkfifo-tests (Files): Likewise.
58636         * modules/mkfifoat-tests (Files): Likewise.
58637         * modules/mknod-tests (Files): Likewise.
58638         * modules/nanosleep-tests (Files): Likewise.
58639         * modules/nl_langinfo-tests (Files): Likewise.
58640         * modules/obstack-printf-tests (Files): Likewise.
58641         * modules/open-tests (Files): Likewise.
58642         * modules/openat-tests (Files): Likewise.
58643         * modules/pipe-filter-gi-tests (Files): Likewise.
58644         * modules/pipe-filter-ii-tests (Files): Likewise.
58645         * modules/pipe2-tests (Files): Likewise.
58646         * modules/popen-safer-tests (Files): Likewise.
58647         * modules/popen-tests (Files): Likewise.
58648         * modules/posixtm-tests (Files): Likewise.
58649         * modules/pread-tests (Files): Likewise.
58650         * modules/printf-frexp-tests (Files): Likewise.
58651         * modules/printf-frexpl-tests (Files): Likewise.
58652         * modules/printf-posix-tests (Files): Likewise.
58653         * modules/priv-set-tests (Files): Likewise.
58654         * modules/quotearg-tests (Files): Likewise.
58655         * modules/random_r-tests (Files): Likewise.
58656         * modules/rawmemchr-tests (Files): Likewise.
58657         * modules/rbtree-list-tests (Files): Likewise.
58658         * modules/rbtree-oset-tests (Files): Likewise.
58659         * modules/rbtreehash-list-tests (Files): Likewise.
58660         * modules/readlink-tests (Files): Likewise.
58661         * modules/remove-tests (Files): Likewise.
58662         * modules/rename-tests (Files): Likewise.
58663         * modules/renameat-tests (Files): Likewise.
58664         * modules/rmdir-tests (Files): Likewise.
58665         * modules/round-tests (Files): Likewise.
58666         * modules/roundf-tests (Files): Likewise.
58667         * modules/roundl-tests (Files): Likewise.
58668         * modules/safe-alloc-tests (Files): Likewise.
58669         * modules/setenv-tests (Files): Likewise.
58670         * modules/sigaction-tests (Files): Likewise.
58671         * modules/signbit-tests (Files): Likewise.
58672         * modules/sleep-tests (Files): Likewise.
58673         * modules/snprintf-posix-tests (Files): Likewise.
58674         * modules/snprintf-tests (Files): Likewise.
58675         * modules/sprintf-posix-tests (Files): Likewise.
58676         * modules/stat-tests (Files): Likewise.
58677         * modules/stat-time-tests (Files): Likewise.
58678         * modules/strcasestr-tests (Files): Likewise.
58679         * modules/strchrnul-tests (Files): Likewise.
58680         * modules/strerror-tests (Files): Likewise.
58681         * modules/striconv-tests (Files): Likewise.
58682         * modules/striconveh-tests (Files): Likewise.
58683         * modules/striconveha-tests (Files): Likewise.
58684         * modules/strsignal-tests (Files): Likewise.
58685         * modules/strstr-tests (Files): Likewise.
58686         * modules/strtod-tests (Files): Likewise.
58687         * modules/strverscmp-tests (Files): Likewise.
58688         * modules/symlink-tests (Files): Likewise.
58689         * modules/symlinkat-tests (Files): Likewise.
58690         * modules/trunc-tests (Files): Likewise.
58691         * modules/truncf-tests (Files): Likewise.
58692         * modules/truncl-tests (Files): Likewise.
58693         * modules/uname-tests (Files): Likewise.
58694         * modules/unicase/cased-tests (Files): Likewise.
58695         * modules/unicase/ignorable-tests (Files): Likewise.
58696         * modules/unicase/locale-language-tests (Files): Likewise.
58697         * modules/unicase/tolower-tests (Files): Likewise.
58698         * modules/unicase/totitle-tests (Files): Likewise.
58699         * modules/unicase/toupper-tests (Files): Likewise.
58700         * modules/unicase/u8-casecmp-tests (Files): Likewise.
58701         * modules/unicase/u8-casecoll-tests (Files): Likewise.
58702         * modules/unicase/u8-casefold-tests (Files): Likewise.
58703         * modules/unicase/u8-is-cased-tests (Files): Likewise.
58704         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
58705         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
58706         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
58707         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
58708         * modules/unicase/u8-tolower-tests (Files): Likewise.
58709         * modules/unicase/u8-totitle-tests (Files): Likewise.
58710         * modules/unicase/u8-toupper-tests (Files): Likewise.
58711         * modules/unicase/u16-casecmp-tests (Files): Likewise.
58712         * modules/unicase/u16-casecoll-tests (Files): Likewise.
58713         * modules/unicase/u16-casefold-tests (Files): Likewise.
58714         * modules/unicase/u16-is-cased-tests (Files): Likewise.
58715         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
58716         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
58717         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
58718         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
58719         * modules/unicase/u16-tolower-tests (Files): Likewise.
58720         * modules/unicase/u16-totitle-tests (Files): Likewise.
58721         * modules/unicase/u16-toupper-tests (Files): Likewise.
58722         * modules/unicase/u32-casecmp-tests (Files): Likewise.
58723         * modules/unicase/u32-casecoll-tests (Files): Likewise.
58724         * modules/unicase/u32-casefold-tests (Files): Likewise.
58725         * modules/unicase/u32-is-cased-tests (Files): Likewise.
58726         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
58727         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
58728         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
58729         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
58730         * modules/unicase/u32-tolower-tests (Files): Likewise.
58731         * modules/unicase/u32-totitle-tests (Files): Likewise.
58732         * modules/unicase/u32-toupper-tests (Files): Likewise.
58733         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
58734         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
58735         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
58736         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
58737         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
58738         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
58739         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58740         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58741         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58742         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58743         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58744         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58745         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58746         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58747         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58748         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58749         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58750         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58751         * modules/unictype/block-list-tests (Files): Likewise.
58752         * modules/unictype/block-of-tests (Files): Likewise.
58753         * modules/unictype/block-test-tests (Files): Likewise.
58754         * modules/unictype/category-C-tests (Files): Likewise.
58755         * modules/unictype/category-Cc-tests (Files): Likewise.
58756         * modules/unictype/category-Cf-tests (Files): Likewise.
58757         * modules/unictype/category-Cn-tests (Files): Likewise.
58758         * modules/unictype/category-Co-tests (Files): Likewise.
58759         * modules/unictype/category-Cs-tests (Files): Likewise.
58760         * modules/unictype/category-L-tests (Files): Likewise.
58761         * modules/unictype/category-Ll-tests (Files): Likewise.
58762         * modules/unictype/category-Lm-tests (Files): Likewise.
58763         * modules/unictype/category-Lo-tests (Files): Likewise.
58764         * modules/unictype/category-Lt-tests (Files): Likewise.
58765         * modules/unictype/category-Lu-tests (Files): Likewise.
58766         * modules/unictype/category-M-tests (Files): Likewise.
58767         * modules/unictype/category-Mc-tests (Files): Likewise.
58768         * modules/unictype/category-Me-tests (Files): Likewise.
58769         * modules/unictype/category-Mn-tests (Files): Likewise.
58770         * modules/unictype/category-N-tests (Files): Likewise.
58771         * modules/unictype/category-Nd-tests (Files): Likewise.
58772         * modules/unictype/category-Nl-tests (Files): Likewise.
58773         * modules/unictype/category-No-tests (Files): Likewise.
58774         * modules/unictype/category-P-tests (Files): Likewise.
58775         * modules/unictype/category-Pc-tests (Files): Likewise.
58776         * modules/unictype/category-Pd-tests (Files): Likewise.
58777         * modules/unictype/category-Pe-tests (Files): Likewise.
58778         * modules/unictype/category-Pf-tests (Files): Likewise.
58779         * modules/unictype/category-Pi-tests (Files): Likewise.
58780         * modules/unictype/category-Po-tests (Files): Likewise.
58781         * modules/unictype/category-Ps-tests (Files): Likewise.
58782         * modules/unictype/category-S-tests (Files): Likewise.
58783         * modules/unictype/category-Sc-tests (Files): Likewise.
58784         * modules/unictype/category-Sk-tests (Files): Likewise.
58785         * modules/unictype/category-Sm-tests (Files): Likewise.
58786         * modules/unictype/category-So-tests (Files): Likewise.
58787         * modules/unictype/category-Z-tests (Files): Likewise.
58788         * modules/unictype/category-Zl-tests (Files): Likewise.
58789         * modules/unictype/category-Zp-tests (Files): Likewise.
58790         * modules/unictype/category-Zs-tests (Files): Likewise.
58791         * modules/unictype/category-and-not-tests (Files): Likewise.
58792         * modules/unictype/category-and-tests (Files): Likewise.
58793         * modules/unictype/category-byname-tests (Files): Likewise.
58794         * modules/unictype/category-name-tests (Files): Likewise.
58795         * modules/unictype/category-none-tests (Files): Likewise.
58796         * modules/unictype/category-of-tests (Files): Likewise.
58797         * modules/unictype/category-or-tests (Files): Likewise.
58798         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58799         * modules/unictype/combining-class-tests (Files): Likewise.
58800         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58801         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58802         * modules/unictype/ctype-blank-tests (Files): Likewise.
58803         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58804         * modules/unictype/ctype-digit-tests (Files): Likewise.
58805         * modules/unictype/ctype-graph-tests (Files): Likewise.
58806         * modules/unictype/ctype-lower-tests (Files): Likewise.
58807         * modules/unictype/ctype-print-tests (Files): Likewise.
58808         * modules/unictype/ctype-punct-tests (Files): Likewise.
58809         * modules/unictype/ctype-space-tests (Files): Likewise.
58810         * modules/unictype/ctype-upper-tests (Files): Likewise.
58811         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58812         * modules/unictype/decimal-digit-tests (Files): Likewise.
58813         * modules/unictype/digit-tests (Files): Likewise.
58814         * modules/unictype/mirror-tests (Files): Likewise.
58815         * modules/unictype/numeric-tests (Files): Likewise.
58816         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58817         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58818         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58819         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58820         Likewise.
58821         * modules/unictype/property-bidi-block-separator-tests (Files):
58822         Likewise.
58823         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58824         Likewise.
58825         * modules/unictype/property-bidi-common-separator-tests (Files):
58826         Likewise.
58827         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58828         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58829         Likewise.
58830         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58831         Likewise.
58832         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58833         Likewise.
58834         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58835         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58836         Likewise.
58837         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58838         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58839         Likewise.
58840         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58841         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58842         * modules/unictype/property-bidi-segment-separator-tests (Files):
58843         Likewise.
58844         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58845         * modules/unictype/property-byname-tests (Files): Likewise.
58846         * modules/unictype/property-combining-tests (Files): Likewise.
58847         * modules/unictype/property-composite-tests (Files): Likewise.
58848         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58849         * modules/unictype/property-dash-tests (Files): Likewise.
58850         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58851         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58852         Likewise.
58853         * modules/unictype/property-deprecated-tests (Files): Likewise.
58854         * modules/unictype/property-diacritic-tests (Files): Likewise.
58855         * modules/unictype/property-extender-tests (Files): Likewise.
58856         * modules/unictype/property-format-control-tests (Files): Likewise.
58857         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58858         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58859         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58860         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58861         * modules/unictype/property-hyphen-tests (Files): Likewise.
58862         * modules/unictype/property-id-continue-tests (Files): Likewise.
58863         * modules/unictype/property-id-start-tests (Files): Likewise.
58864         * modules/unictype/property-ideographic-tests (Files): Likewise.
58865         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58866         * modules/unictype/property-ids-trinary-operator-tests (Files):
58867         Likewise.
58868         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58869         * modules/unictype/property-iso-control-tests (Files): Likewise.
58870         * modules/unictype/property-join-control-tests (Files): Likewise.
58871         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58872         * modules/unictype/property-line-separator-tests (Files): Likewise.
58873         * modules/unictype/property-logical-order-exception-tests (Files):
58874         Likewise.
58875         * modules/unictype/property-lowercase-tests (Files): Likewise.
58876         * modules/unictype/property-math-tests (Files): Likewise.
58877         * modules/unictype/property-non-break-tests (Files): Likewise.
58878         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58879         * modules/unictype/property-numeric-tests (Files): Likewise.
58880         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58881         * modules/unictype/property-other-default-ignorable-code-point-tests
58882         (Files): Likewise.
58883         * modules/unictype/property-other-grapheme-extend-tests (Files):
58884         Likewise.
58885         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58886         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58887         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58888         * modules/unictype/property-other-math-tests (Files): Likewise.
58889         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58890         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58891         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58892         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58893         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58894         * modules/unictype/property-private-use-tests (Files): Likewise.
58895         * modules/unictype/property-punctuation-tests (Files): Likewise.
58896         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58897         * modules/unictype/property-radical-tests (Files): Likewise.
58898         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58899         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58900         * modules/unictype/property-space-tests (Files): Likewise.
58901         * modules/unictype/property-terminal-punctuation-tests (Files):
58902         Likewise.
58903         * modules/unictype/property-test-tests (Files): Likewise.
58904         * modules/unictype/property-titlecase-tests (Files): Likewise.
58905         * modules/unictype/property-unassigned-code-value-tests (Files):
58906         Likewise.
58907         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58908         * modules/unictype/property-uppercase-tests (Files): Likewise.
58909         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58910         * modules/unictype/property-white-space-tests (Files): Likewise.
58911         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58912         * modules/unictype/property-xid-start-tests (Files): Likewise.
58913         * modules/unictype/property-zero-width-tests (Files): Likewise.
58914         * modules/unictype/scripts-tests (Files): Likewise.
58915         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58916         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58917         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58918         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58919         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58920         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58921         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58922         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58923         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58924         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58925         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58926         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58927         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58928         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58929         * modules/uninorm/composition-tests (Files): Likewise.
58930         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58931         * modules/uninorm/decomposition-tests (Files): Likewise.
58932         * modules/uninorm/filter-tests (Files): Likewise.
58933         * modules/uninorm/nfc-tests (Files): Likewise.
58934         * modules/uninorm/nfd-tests (Files): Likewise.
58935         * modules/uninorm/nfkc-tests (Files): Likewise.
58936         * modules/uninorm/nfkd-tests (Files): Likewise.
58937         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58938         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58939         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58940         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58941         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58942         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58943         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58944         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58945         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58946         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58947         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58948         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58949         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58950         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58951         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58952         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58953         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58954         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58955         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58956         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58957         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58958         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58959         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58960         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58961         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58962         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58963         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58964         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
58965         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
58966         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
58967         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
58968         * modules/uniwidth/u8-width-tests (Files): Likewise.
58969         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
58970         * modules/uniwidth/u16-width-tests (Files): Likewise.
58971         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
58972         * modules/uniwidth/u32-width-tests (Files): Likewise.
58973         * modules/uniwidth/width-tests (Files): Likewise.
58974         * modules/unlink-tests (Files): Likewise.
58975         * modules/unsetenv-tests (Files): Likewise.
58976         * modules/usleep-tests (Files): Likewise.
58977         * modules/utimens-tests (Files): Likewise.
58978         * modules/utimensat-tests (Files): Likewise.
58979         * modules/vasnprintf-posix-tests (Files): Likewise.
58980         * modules/vasnprintf-tests (Files): Likewise.
58981         * modules/vasprintf-posix-tests (Files): Likewise.
58982         * modules/vasprintf-tests (Files): Likewise.
58983         * modules/vdprintf-posix-tests (Files): Likewise.
58984         * modules/vfprintf-posix-tests (Files): Likewise.
58985         * modules/vprintf-posix-tests (Files): Likewise.
58986         * modules/vsnprintf-posix-tests (Files): Likewise.
58987         * modules/vsnprintf-tests (Files): Likewise.
58988         * modules/vsprintf-posix-tests (Files): Likewise.
58989         * modules/wcrtomb-tests (Files): Likewise.
58990         * modules/wcsnrtombs-tests (Files): Likewise.
58991         * modules/wcsrtombs-tests (Files): Likewise.
58992         * modules/wctype-tests (Files): Likewise.
58993         * modules/wcwidth-tests (Files): Likewise.
58994         * modules/xmemdup0-tests (Files): Likewise.
58995         * modules/xprintf-posix-tests (Files): Likewise.
58996         * modules/xvasprintf-tests (Files): Likewise.
58998 2009-12-24  Eric Blake  <ebb9@byu.net>
59000         test-nanosleep: fix typo
59001         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
59002         patch.
59003         Reported by Bruno Haible.
59005 2009-12-24  Bruno Haible  <bruno@clisp.org>
59007         Reduce namespace pollution on glibc systems.
59008         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
59009         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
59010         systems.
59011         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
59012         <getopt.h> on glibc systems.
59013         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
59014         systems.
59015         * lib/fcntl.c: Include <unistd.h> here instead.
59017 2009-12-24  Bruno Haible  <bruno@clisp.org>
59019         * lib/stdlib.in.h (includes): Fix typo in today's commit.
59021 2009-12-24  Eric Blake  <ebb9@byu.net>
59023         tests: add signature checks
59024         * tests/signature.h (SIGNATURE_CHECK): New file.
59025         * modules/atexit-tests (Files): Use it.
59026         * modules/btowc-tests (Files): Likewise.
59027         * modules/canonicalize-lgpl-tests (Files): Likewise.
59028         * modules/ceilf-tests (Files): Likewise.
59029         * modules/ceill-tests (Files): Likewise.
59030         * modules/chown-tests (Files): Likewise.
59031         * modules/dprintf-posix-tests (Files): Likewise.
59032         * modules/dup2-tests (Files): Likewise.
59033         * modules/dup3-tests (Files): Likewise.
59034         * modules/duplocale-tests (Files): Likewise.
59035         * modules/fchdir-tests (Files): Likewise.
59036         * modules/fcntl-tests (Files): Likewise.
59037         * modules/fdopendir-tests (Files): Likewise.
59038         * modules/fflush-tests (Files): Likewise.
59039         * modules/flock-tests (Files): Likewise.
59040         * modules/floorf-tests (Files): Likewise.
59041         * modules/floorl-tests (Files): Likewise.
59042         * modules/fnmatch-tests (Files): Likewise.
59043         * modules/fopen-tests (Files): Likewise.
59044         * modules/fprintf-posix-tests (Files): Likewise.
59045         * modules/freopen-tests (Files): Likewise.
59046         * modules/frexp-nolibm-tests (Files): Likewise.
59047         * modules/frexp-tests (Files): Likewise.
59048         * modules/frexpl-nolibm-tests (Files): Likewise.
59049         * modules/frexpl-tests (Files): Likewise.
59050         * modules/fseek-tests (Files): Likewise.
59051         * modules/fseeko-tests (Files): Likewise.
59052         * modules/fsync-tests (Files): Likewise.
59053         * modules/ftell-tests (Files): Likewise.
59054         * modules/ftello-tests (Files): Likewise.
59055         * modules/futimens-tests (Files): Likewise.
59056         * modules/getaddrinfo-tests (Files): Likewise.
59057         * modules/getcwd-tests (Files): Likewise.
59058         * modules/getdelim-tests (Files): Likewise.
59059         * modules/getdtablesize-tests (Files): Likewise.
59060         * modules/getgroups-tests (Files): Likewise.
59061         * modules/gethostname-tests (Files): Likewise.
59062         * modules/getline-tests (Files): Likewise.
59063         * modules/getopt-posix-tests (Files): Likewise.
59064         * modules/gettimeofday-tests (Files): Likewise.
59065         * modules/glob-tests (Files): Likewise.
59066         * modules/iconv-tests (Files): Likewise.
59067         * modules/inet_ntop-tests (Files): Likewise.
59068         * modules/inet_pton-tests (Files): Likewise.
59069         * modules/isblank-tests (Files): Likewise.
59070         * modules/lchown-tests (Files): Likewise.
59071         * modules/ldexpl-tests (Files): Likewise.
59072         * modules/link-tests (Files): Likewise.
59073         * modules/linkat-tests (Files): Likewise.
59074         * modules/lseek-tests (Files): Likewise.
59075         * modules/lstat-tests (Files): Likewise.
59076         * modules/mbrtowc-tests (Files): Likewise.
59077         * modules/mbsinit-tests (Files): Likewise.
59078         * modules/mbsnrtowcs-tests (Files): Likewise.
59079         * modules/mbsrtowcs-tests (Files): Likewise.
59080         * modules/memchr-tests (Files): Likewise.
59081         * modules/memcmp-tests (Files): Likewise.
59082         * modules/memmem-tests (Files): Likewise.
59083         * modules/memrchr-tests (Files): Likewise.
59084         * modules/mkdir-tests (Files): Likewise.
59085         * modules/mkfifo-tests (Files): Likewise.
59086         * modules/mkfifoat-tests (Files): Likewise.
59087         * modules/mknod-tests (Files): Likewise.
59088         * modules/nanosleep-tests (Files): Likewise.
59089         * modules/nl_langinfo-tests (Files): Likewise.
59090         * modules/obstack-printf-tests (Files): Likewise.
59091         * modules/open-tests (Files): Likewise.
59092         * modules/openat-tests (Files): Likewise.
59093         * modules/perror-tests (Files): Likewise.
59094         * modules/pipe2-tests (Files): Likewise.
59095         * modules/poll-tests (Files): Likewise.
59096         * modules/popen-tests (Files): Likewise.
59097         * modules/posix_spawn-tests (Files): Likewise.
59098         * modules/posix_spawnp-tests (Files): Likewise.
59099         * modules/pread-tests (Files): Likewise.
59100         * modules/printf-posix-tests (Files): Likewise.
59101         * modules/pty-tests (Files): Likewise.
59102         * modules/random_r-tests (Files): Likewise.
59103         * modules/rawmemchr-tests (Files): Likewise.
59104         * modules/readlink-tests (Files): Likewise.
59105         * modules/remove-tests (Files): Likewise.
59106         * modules/rename-tests (Files): Likewise.
59107         * modules/renameat-tests (Files): Likewise.
59108         * modules/rmdir-tests (Files): Likewise.
59109         * modules/round-tests (Files): Likewise.
59110         * modules/roundf-tests (Files): Likewise.
59111         * modules/roundl-tests (Files): Likewise.
59112         * modules/select-tests (Files): Likewise.
59113         * modules/setenv-tests (Files): Likewise.
59114         * modules/sigaction-tests (Files): Likewise.
59115         * modules/sleep-tests (Files): Likewise.
59116         * modules/snprintf-posix-tests (Files): Likewise.
59117         * modules/snprintf-tests (Files): Likewise.
59118         * modules/sprintf-posix-tests (Files): Likewise.
59119         * modules/stat-tests (Files): Likewise.
59120         * modules/strcasestr-tests (Files): Likewise.
59121         * modules/strchrnul-tests (Files): Likewise.
59122         * modules/strerror-tests (Files): Likewise.
59123         * modules/strsignal-tests (Files): Likewise.
59124         * modules/strstr-tests (Files): Likewise.
59125         * modules/strtod-tests (Files): Likewise.
59126         * modules/strverscmp-tests (Files): Likewise.
59127         * modules/symlink-tests (Files): Likewise.
59128         * modules/symlinkat-tests (Files): Likewise.
59129         * modules/times-tests (Files): Likewise.
59130         * modules/trunc-tests (Files): Likewise.
59131         * modules/truncf-tests (Files): Likewise.
59132         * modules/truncl-tests (Files): Likewise.
59133         * modules/tsearch-tests (Files): Likewise.
59134         * modules/uname-tests (Files): Likewise.
59135         * modules/unlink-tests (Files): Likewise.
59136         * modules/unsetenv-tests (Files): Likewise.
59137         * modules/usleep-tests (Files): Likewise.
59138         * modules/utimensat-tests (Files): Likewise.
59139         * modules/vasprintf-tests (Files): Likewise.
59140         * modules/vdprintf-posix-tests (Files): Likewise.
59141         * modules/vfprintf-posix-tests (Files): Likewise.
59142         * modules/vprintf-posix-tests (Files): Likewise.
59143         * modules/vsnprintf-posix-tests (Files): Likewise.
59144         * modules/vsnprintf-tests (Files): Likewise.
59145         * modules/vsprintf-posix-tests (Files): Likewise.
59146         * modules/wcrtomb-tests (Files): Likewise.
59147         * modules/wcsnrtombs-tests (Files): Likewise.
59148         * modules/wcsrtombs-tests (Files): Likewise.
59149         * modules/wcwidth-tests (Files): Likewise.
59150         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
59151         * tests/test-isinf.c (isinf): Likewise.
59152         * tests/test-isnan.c (isnan): Likewise.
59153         * tests/test-signbit.c (signbit): Likewise.
59154         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
59155         declaration, either as macro or with correct signature.
59156         (select): Ensure function under test is declared with correct
59157         signature in correct header.
59158         * tests/test-atexit.c (atexit): Likewise.
59159         * tests/test-btowc.c (btowc): Likewise.
59160         * tests/test-canonicalize-lgpl.c (realpath)
59161         (canonicalize_file_name): Likewise.
59162         * tests/test-ceilf1.c (ceilf): Likewise.
59163         * tests/test-ceill.c (ceill): Likewise.
59164         * tests/test-chown.c (chown): Likewise.
59165         * tests/test-dprintf-posix.c (dprintf): Likewise.
59166         * tests/test-dup2.c (dup2): Likewise.
59167         * tests/test-dup3.c (dup3): Likewise.
59168         * tests/test-duplocale.c (duplocale): Likewise.
59169         * tests/test-fchdir.c (fchdir): Likewise.
59170         * tests/test-fchownat.c (fchownat): Likewise.
59171         * tests/test-fcntl.c (fcntl): Likewise.
59172         * tests/test-fdopendir.c (fdopendir): Likewise.
59173         * tests/test-fflush.c (fflush): Likewise.
59174         * tests/test-flock.c (flock): Likewise.
59175         * tests/test-floorf1.c (floorf): Likewise.
59176         * tests/test-floorl.c (floorl): Likewise.
59177         * tests/test-fnmatch.c (fnmatch): Likewise.
59178         * tests/test-fopen.c (fopen): Likewise.
59179         * tests/test-fprintf-posix.c (fprintf): Likewise.
59180         * tests/test-freopen.c (freopen): Likewise.
59181         * tests/test-frexp.c (frexp): Likewise.
59182         * tests/test-frexpl.c (frexpl): Likewise.
59183         * tests/test-fseek.c (fseek): Likewise.
59184         * tests/test-fseeko.c (fseeko): Likewise.
59185         * tests/test-fstatat.c (fstatat): Likewise.
59186         * tests/test-fsync.c (fsync): Likewise.
59187         * tests/test-ftell.c (ftell): Likewise.
59188         * tests/test-ftello.c (ftello): Likewise.
59189         * tests/test-futimens.c (futimens): Likewise.
59190         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
59191         (gai_strerror): Likewise.
59192         * tests/test-getcwd.c (getcwd): Likewise.
59193         * tests/test-getdelim.c (getdelim): Likewise.
59194         * tests/test-getdtablesize.c (getdtablesize): Likewise.
59195         * tests/test-getgroups.c (getgroups): Likewise.
59196         * tests/test-gethostname.c (gethostname): Likewise.
59197         * tests/test-getline.c (getline): Likewise.
59198         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
59199         Likewise.
59200         * tests/test-gettimeofday.c (gettimeofday): Likewise.
59201         * tests/test-glob.c (glob, globfree): Likewise.
59202         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
59203         * tests/test-inet_ntop.c (inet_ntop): Likewise.
59204         * tests/test-inet_pton.c (inet_pton): Likewise.
59205         * tests/test-isblank.c (isblank): Likewise.
59206         * tests/test-lchown.c (lchown): Likewise.
59207         * tests/test-ldexpl.c (ldexpl): Likewise.
59208         * tests/test-link.c (link): Likewise.
59209         * tests/test-linkat.c (linkat): Likewise.
59210         * tests/test-lseek.c (lseek): Likewise.
59211         * tests/test-lstat.c (lstat): Likewise.
59212         * tests/test-mbrtowc.c (mbrtowc): Likewise.
59213         * tests/test-mbsinit.c (mbsinit): Likewise.
59214         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
59215         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
59216         * tests/test-memchr.c (memchr): Likewise.
59217         * tests/test-memcmp.c (memcmp): Likewise.
59218         * tests/test-memmem.c (memmem): Likewise.
59219         * tests/test-memrchr.c (memrchr): Likewise.
59220         * tests/test-mkdir.c (mkdir): Likewise.
59221         * tests/test-mkdirat.c (mkdirat): Likewise.
59222         * tests/test-mkfifo.c (mkfifo): Likewise.
59223         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
59224         * tests/test-mknod.c (mknod): Likewise.
59225         * tests/test-nanosleep.c (nanosleep): Likewise.
59226         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
59227         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
59228         Likewise.
59229         * tests/test-open.c (open): Likewise.
59230         * tests/test-openat.c (openat): Likewise.
59231         * tests/test-perror.c (perror): Likewise.
59232         * tests/test-pipe2.c (pipe2): Likewise.
59233         * tests/test-poll.c (poll): Likewise.
59234         * tests/test-popen.c (popen, pclose): Likewise.
59235         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
59236         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
59237         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
59238         (posix_spawn_file_actions_destroy)
59239         (posix_spawn_file_actions_addclose)
59240         (posix_spawn_file_actions_addopen)
59241         (posix_spawn_file_actions_adddup2): Likewise.
59242         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
59243         * tests/test-pread.c (pread): Likewise.
59244         * tests/test-printf-posix.c (printf): Likewise.
59245         * tests/test-pty.c (openpty, forkpty): Likewise.
59246         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
59247         (random_r): Likewise.
59248         * tests/test-rawmemchr.c (rawmemchr): Likewise.
59249         * tests/test-readlink.c (readlink): Likewise.
59250         * tests/test-remove.c (remove): Likewise.
59251         * tests/test-rename.c (rename): Likewise.
59252         * tests/test-renameat.c (renameat): Likewise.
59253         * tests/test-rmdir.c (rmdir): Likewise.
59254         * tests/test-round1.c (round): Likewise.
59255         * tests/test-roundf1.c (roundf): Likewise.
59256         * tests/test-roundl.c (roundl): Likewise.
59257         * tests/test-setenv.c (setenv): Likewise.
59258         * tests/test-sigaction.c (sigaction): Likewise.
59259         * tests/test-sleep.c (sleep): Likewise.
59260         * tests/test-snprintf.c (snprintf): Likewise.
59261         * tests/test-sprintf-posix.c (sprintf): Likewise.
59262         * tests/test-stat.c (stat): Likewise.
59263         * tests/test-stpncpy.c (stpncpy): Likewise.
59264         * tests/test-strcasestr.c (strcasestr): Likewise.
59265         * tests/test-strchrnul.c (strchrnul): Likewise.
59266         * tests/test-strerror.c (strerror): Likewise.
59267         * tests/test-strsignal.c (strsignal): Likewise.
59268         * tests/test-strstr.c (strstr): Likewise.
59269         * tests/test-strtod.c (strtod): Likewise.
59270         * tests/test-strverscmp.c (strverscmp): Likewise.
59271         * tests/test-symlink.c (symlink): Likewise.
59272         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
59273         * tests/test-times.c (times): Likewise.
59274         * tests/test-trunc1.c (trunc): Likewise.
59275         * tests/test-truncf1.c (truncf): Likewise.
59276         * tests/test-truncl.c (truncl): Likewise.
59277         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
59278         Likewise.
59279         * tests/test-uname.c (uname): Likewise.
59280         * tests/test-unlink.c (unlink): Likewise.
59281         * tests/test-unlinkat.c (unlinkat): Likewise.
59282         * tests/test-unsetenv.c (unsetenv): Likewise.
59283         * tests/test-usleep.c (usleep): Likewise.
59284         * tests/test-utimensat.c (utimensat): Likewise.
59285         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
59286         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
59287         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
59288         * tests/test-vprintf-posix.c (vprintf): Likewise.
59289         * tests/test-vsnprintf.c (vsnprintf): Likewise.
59290         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
59291         * tests/test-wcrtomb.c (wcrtomb): Likewise.
59292         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
59293         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
59294         * tests/test-wcwidth.c (wcwidth): Likewise.
59296         build: pull in conditional headers during GNULIB_POSIXCHECK
59297         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
59298         definitions from any conditionally-included headers.
59299         * lib/stdlib.in.h (includes): Likewise.
59300         * lib/unistd.in.h (includes): Likewise.
59302 2009-12-24  Bruno Haible  <bruno@clisp.org>
59304         * tests/test-argv-iter.c: Include header file being tested immediately
59305         after config.h.
59306         * tests/test-base64.c: Likewise.
59307         * tests/test-flock.c: Likewise.
59308         * tests/test-fsync.c: Likewise.
59309         * tests/test-getdate.c: Likewise.
59310         * tests/test-getndelim2.c: Likewise.
59311         * tests/test-isfinite.c: Likewise.
59312         * tests/test-isinf.c: Likewise.
59313         * tests/test-strerror.c: Likewise.
59314         * tests/test-strsignal.c: Likewise.
59316 2009-12-23  Eric Blake  <ebb9@byu.net>
59318         unistd: work around cygwin bug
59319         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
59320         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
59321         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
59323 2009-12-23  Bruno Haible  <bruno@clisp.org>
59325         localename: More tests.
59326         * tests/test-localename.c (SIZEOF): New macro.
59327         (categories): New variable.
59328         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
59329         test_locale_name_default): Add test w.r.t. thread locale.
59330         (test_locale_name_thread): New function.
59331         (main): Invoke it.
59333         localename: Make aware of thread locale.
59334         * lib/localename.h (gl_locale_name_thread): New declaration.
59335         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
59336         behaviour with respect to thread locale.
59337         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
59338         <langinfo.h>, glthread/lock.h.
59339         (SIZE_BITS): New macro.
59340         (string_hash): New function.
59341         (struct hash_node): New type.
59342         (HASH_TABLE_SIZE): New macro.
59343         (struniq_hash_table, struniq_lock): New variables.
59344         (struniq): New function.
59345         (gl_locale_name_thread): New function.
59346         (gl_locale_name): Invoke it.
59347         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
59348         * modules/localename (Depends-on): Add lock.
59349         Reported by Mike Gran <spk121@yahoo.com>.
59351 2009-12-23  Eric Blake  <ebb9@byu.net>
59353         va-args: new module
59354         * modules/va-args: New file.
59355         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
59356         * MODULES.html.sh (Core language properties): Mention it.
59358         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
59359         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
59360         named alias for __attribute__((__unused__)).
59361         * lib/chown.c: Update client.
59362         * lib/fchmodat.c: Likewise.
59363         * lib/fts.c: Likewise.
59364         * lib/getdate.y: Likewise.
59365         * lib/getgroups.c: Likewise.
59366         * lib/getopt.c: Likewise.
59367         * lib/getugroups.c: Likewise.
59368         * lib/mkdir.c: Likewise.
59369         * lib/mkfifo.c: Likewise.
59370         * lib/mkfifoat.c: Likewise.
59371         * lib/mknod.c: Likewise.
59372         * lib/mknodat.c: Likewise.
59373         * lib/readlink.c: Likewise.
59374         * lib/se-context.in.h: Likewise.
59375         * lib/se-selinux.in.h: Likewise.
59376         * lib/sockets.c: Likewise.
59377         * lib/symlink.c: Likewise.
59378         * lib/symlinkat.c: Likewise.
59379         * lib/unicodeio.c: Likewise.
59380         * lib/unistr.h: Likewise.
59381         * tests/test-areadlink.c: Likewise.
59382         * tests/test-areadlinkat.c: Likewise.
59383         * tests/test-filenamecat.c: Likewise.
59384         * tests/test-fseeko.c: Likewise.
59385         * tests/test-ftello.c: Likewise.
59386         * tests/test-getdate.c: Likewise.
59387         * tests/test-getgroups.c: Likewise.
59388         * tests/test-gethostname.c: Likewise.
59389         * tests/test-quotearg.c: Likewise.
59390         * tests/test-version-etc.c: Likewise.
59391         * tests/test-xalloc-die.c: Likewise.
59392         * tests/test-xfprintf-posix.c: Likewise.
59393         * tests/test-xprintf-posix.c: Likewise.
59394         * tests/test-xvasprintf.c: Likewise.
59396         tests: avoid compiler warnings
59397         * tests/test-fcntl.c (main): Delete unused parameters.
59398         * tests/test-freopen-safer.c (main): Likewise.
59399         * tests/test-xalloc-die.c (main): Mark unused parameters.
59400         * tests/test-fseeko.c (main): Likewise.
59401         * tests/test-ftello.c (main): Likewise.
59402         * tests/test-nanosleep.c (main): Avoid declaration warning.
59403         * tests/test-sleep.c (main): Likewise.
59404         * tests/test-unsetenv.c (main): Silence warning about string
59405         literal.
59406         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
59408 2009-12-23  Bruno Haible  <bruno@clisp.org>
59410         * tests/test-localename.c (test_locale_name): New function, extracted
59411         from main. Also test mixed situations.
59412         (test_locale_name_posix, test_locale_name_environ,
59413         test_locale_name_default): New functions.
59414         (main): Invoke them all.
59415         * modules/localename-tests (configure.ac): Test for newlocale.
59417 2009-12-23  Bruno Haible  <bruno@clisp.org>
59419         unistd: Ensure getcwd gets declared before being overridden.
59420         * lib/unistd.in.h: Conditionally include <io.h>.
59422 2009-12-22  Bruno Haible  <bruno@clisp.org>
59424         wchar: Diagnose broken combination of glibc and gcc versions and flags.
59425         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
59426         (gl_WCHAR_H): Invoke it.
59427         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
59428         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
59429         Reported by Karl Berry <karl@freefriends.org>.
59431 2009-12-22  Eric Blake  <ebb9@byu.net>
59433         math, unistd: avoid redundant includes
59434         * lib/math.in.h (isnan): No need to re-include <math.h>.
59435         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
59437         getsubopt: work around cygwin bug
59438         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
59439         avoid conflicting with system getsubopt.
59440         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
59441         bug.
59443         getopt: synchronize from glibc
59444         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
59445         parameter order.  Adjust all callers.
59446         (_getopt_internal_r, main): Adjust quoting in error messages.
59447         Drop considerations for outdated POSIX 1003.2 error message.
59448         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
59449         callers.
59450         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
59452         test-getopt: test stderr behavior
59453         * modules/getopt-posix-tests (Depends-on): Add dup2.
59454         * tests/test-getopt.c (ASSERT): Avoid stderr.
59455         (main): Move stderr to a temporary file.
59456         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
59457         Instead, add parameter to inform caller if output occurred.
59458         (test_getopt): Adjust all existing tests to expect silence, and
59459         add new tests of leading ":".
59460         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59461         glibc shortcomings with leading "-:" or "+:" in optstring.
59462         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59463         Likewise.
59464         * doc/posix-functions/getopt.texi (getopt): Likewise.
59466         test-getopt: enhance test
59467         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
59468         supports optind=0.
59469         * tests/test-getopt.c (OPTIND_MIN): Move...
59470         * tests/test-getopt.h (OPTIND_MIN): ...here.
59471         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
59472         Require that optind=0 works, since modern BSD supports it in
59473         addition to optreset, and since coreutils expects it.
59474         (test_getopt_long_only): New test.
59475         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59476         glibc shortcomings with 'W;', and enforcement of optind=0.
59477         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59478         Likewise.
59480 2009-12-21  Bruno Haible  <bruno@clisp.org>
59482         localename: Improvements for MacOS X and Cygwin.
59483         * lib/localename.h (gl_locale_name_environ): New declaration.
59484         * lib/localename.c (gl_locale_name_environ): New function, extracted from
59485         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
59486         (gl_locale_name_posix): Invoke it.
59487         (gl_locale_name_default): Add comments. Use Windows native API also on
59488         Cygwin.
59490 2009-12-21  Bruno Haible  <bruno@clisp.org>
59492         Update list of Win32 locale ids.
59493         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
59494         (LANG_SAMI): Renamed from LANG_SAAMI.
59495         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
59496         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
59497         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
59498         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
59499         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
59500         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
59501         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
59502         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
59503         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
59504         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
59505         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
59506         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
59507         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
59508         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
59509         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
59510         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
59511         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
59512         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
59513         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
59514         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
59515         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
59516         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
59517         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
59518         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
59519         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
59520         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
59521         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
59522         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
59523         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
59524         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
59525         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
59526         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
59527         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
59528         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
59529         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
59530         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
59531         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
59532         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
59533         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
59534         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
59535         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
59536         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
59537         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
59538         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
59539         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
59540         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
59541         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
59542         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
59543         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
59544         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
59545         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
59546         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
59547         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
59548         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
59549         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
59550         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
59551         Add more languages and countries for Sami, Sorbian. Add more countries
59552         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
59553         for Pashto. Change country for Syriac, Tswana.
59555 2009-12-21  Eric Blake  <ebb9@byu.net>
59557         test-utimens: avoid spurious failure
59558         * tests/test-chown.h (nap): Factor...
59559         * tests/nap.h: ...into new file.
59560         * tests/test-lchown.h (nap): Avoid duplication.
59561         * tests/test-utimens-common.h (nap): Use shared implementation,
59562         necessary on file systems with 1-second resolution.
59563         * modules/chown-tests (Files): Include new file.
59564         * modules/fdutimensat-tests (Files): Likewise.
59565         * modules/futimens-tests (Files): Likewise.
59566         * modules/lchown-tests (Files): Likewise.
59567         * modules/openat-tests (Files): Likewise.
59568         * modules/utimens-tests (Files): Likewise.
59569         * modules/utimensat-tests (Files): Likewise.
59571 2009-12-19  Eric Blake  <ebb9@byu.net>
59573         futimens, utimensat: work around Linux bug
59574         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
59575         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
59576         * lib/utimensat.c (rpl_utimensat): Work around it.
59577         * lib/futimens.c (rpl_futimens): Adjust comment.
59579         utimens: work around Linux ctime bug
59580         * lib/utimens.c (detect_ctime_bug): New helper function.
59581         (update_timespec): Differentiate between workaround needed for
59582         this bug vs. what is needed for systems that lack utimensat.
59583         (fdutimens, lutimens): Work around bug.
59585         utimens: check for ctime update
59586         * tests/test-utimens-common.h (check_ctime): Define.
59587         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
59588         * tests/test-futimens.h (test_futimens): Likewise.
59589         * tests/test-lutimens.h (test_lutimens): Likewise.
59590         * doc/posix-functions/futimens.texi (futimens): Document the bug.
59591         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
59593 2009-12-19  Bruno Haible  <bruno@clisp.org>
59595         dprintf-posix: Check against memory leak fixed on 2009-12-15.
59596         * tests/test-dprintf-posix2.sh: New file.
59597         * tests/test-dprintf-posix2.c: New file.
59598         * modules/dprintf-posix-tests (Files): Add them.
59599         (configure.ac): Check for getrlimit and setrlimit.
59600         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59602 2009-12-19  Bruno Haible  <bruno@clisp.org>
59604         fprintf-posix: Check against memory leak fixed on 2009-12-15.
59605         * tests/test-fprintf-posix3.sh: New file.
59606         * tests/test-fprintf-posix3.c: New file.
59607         * modules/fprintf-posix-tests (Files): Add them.
59608         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59610 2009-12-19  Eric Blake  <ebb9@byu.net>
59612         dirfd: fix prototype
59613         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
59614         * lib/dirfd.c (dirfd): Likewise.
59616         canonicalize: reduce memory usage
59617         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
59618         allocation to size.
59619         Reported by Solar Designer <solar@openwall.com>.
59621 2009-12-19  Bruno Haible  <bruno@clisp.org>
59623         New module attribute 'Applicability'.
59624         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
59625         * gnulib-tool: New option --extract-applicability.
59626         (func_usage): Document it.
59627         (sed_extract_prog): Recognize it.
59628         (func_get_applicability): New function.
59629         (func_import): Generalize handling of 'link-warning' module.
59630         * modules/link-warning (Applicability): New section.
59631         * modules/arg-nonnull (Applicability): New section.
59632         Repoted by Simon Josefsson <simon@josefsson.org>.
59634 2009-12-19  Bruno Haible  <bruno@clisp.org>
59636         fflush: tweak
59637         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
59638         * lib/fseeko.c (rpl_fseeko): Likewise.
59640 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
59642         * lib/gl_list.h: Fix typo in comment.
59644 2009-12-16  Eric Blake  <ebb9@byu.net>
59646         fcntl: use to simplify other modules
59647         * modules/cloexec (Depends-on): Add fcntl.
59648         * modules/fchdir (Depends-on): Likewise.
59649         * modules/fd-safer-flag (Depends-on): Likewise.
59650         * modules/unistd-safer (Depends-on): Likewise.
59651         * modules/dup3 (configure.ac): Set module indicator.
59652         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
59653         missing.
59654         * lib/fchdir.c (_gl_register_dup): Fix comment.
59655         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
59656         * lib/dup-safer.c (dup_safer): Likewise.
59657         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
59658         * lib/dup3.c (dup3): Likewise.
59659         * tests/test-fchdir.c (main): Enhance test.
59660         Fixes a dup_cloexec bug reported by Ondřej Vašík.
59662         fcntl: port portions of fcntl to mingw
59663         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
59664         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
59665         replacement for mingw.
59666         * modules/fcntl (Description): Update.
59667         (Depends-on): Add dup2.
59668         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
59669         * modules/fcntl-h (Makefile.am): Substitute it.
59670         * lib/fcntl.in.h (fcntl): Update declaration.
59671         (F_DUPFD, F_GETFD): New macros, when needed.
59672         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
59673         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
59674         * tests/test-fcntl.c (check_flags, main): Enhance test for items
59675         we now guarantee.
59677         fcntl: work around cygwin bug in F_DUPFD
59678         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
59679         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
59680         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
59681         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
59682         * doc/posix-functions/fcntl.texi (fcntl): Document it.
59684         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
59685         * modules/fcntl (Files): List new files.
59686         (configure.ac): Run a test.
59687         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
59688         * lib/fcntl.c (rpl_fcntl): Likewise.
59689         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
59690         (gl_FCNTL_H): Always replace fcntl.h.
59691         * modules/fcntl-h (Makefile.am): Substitute witnesses.
59692         * lib/fcntl.in.h (fcntl): Declare replacement.
59693         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
59694         needed, plus a witness.
59695         * doc/posix-functions/fcntl.texi (fcntl): Document this.
59696         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59697         * tests/test-fcntl.c: New file.
59698         * modules/fcntl-tests: Likewise.
59700         binary-io: avoid potential compilation warning
59701         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
59702         directives.
59704         fflush: avoid compilation error on NetBSD
59705         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
59706         between off_t and fpos_t, since the latter is sometimes a struct.
59707         * lib/fseeko.c (rpl_fseeko): Likewise.
59708         Reported by Alexander Nasonov <alnsn@yandex.ru>.
59710 2009-12-15  Eric Blake  <ebb9@byu.net>
59712         fcntl-h, stdio, sys_ioctl: fix declarations
59713         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
59714         function must not take arguments.
59715         * lib/sys_ioctl.in.h (ioctl): Likewise.
59716         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
59717         (open): Add a link warning.
59719 2009-12-15  Jim Meyering  <meyering@redhat.com>
59721         areadlink, areadlink-with-size: relax license to LGPLv2+
59722         * modules/areadlink (License): Relax to LGPLv2+.
59723         * modules/areadlink-with-size (License): Likewise.
59725 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
59726             Bruno Haible  <bruno@clisp.org>
59728         *printf: Fix memory leak.
59729         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
59730         * lib/vfprintf.c (vfprintf): Likewise.
59731         * lib/dprintf.c (dprintf): Likewise.
59732         * lib/vdprintf.c (vdprintf): Likewise.
59734 2009-12-14  Eric Blake  <ebb9@byu.net>
59736         accept4: adjust module dependencies
59737         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
59739         utimens: one more try at avoiding compiler warning
59740         * lib/utimens.c (lutimens): Lower scope of result.
59742 2009-12-13  Bruno Haible  <bruno@clisp.org>
59744         Move the malloc checking from module 'list' to new module 'xlist'.
59745         * modules/xlist: New file.
59746         * lib/gl_xlist.h: New file.
59747         * lib/gl_xlist.c: New file.
59748         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59749         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59750         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59751         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59752         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59753         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59754         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59755         gl_sortedlist_nx_add): New declarations.
59756         (struct gl_list_implementation): Rename and change methods accordingly.
59757         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59758         (gl_list_nx_create): Renamed from gl_list_create.
59759         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59760         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59761         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59762         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59763         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59764         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59765         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59766         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59767         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59768         gl_list_create_empty.
59769         (gl_list_nx_create): Renamed from gl_list_create.
59770         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59771         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59772         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59773         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59774         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59775         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59776         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59777         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59778         * lib/gl_array_list.c: Don't include xalloc.h.
59779         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59780         NULL upon out-of-memory.
59781         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59782         out-of-memory.
59783         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59784         Change return type to 'int'.
59785         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59786         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59787         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59788         upon out-of-memory.
59789         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59790         upon out-of-memory.
59791         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59792         upon out-of-memory.
59793         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59794         upon out-of-memory.
59795         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59796         out-of-memory.
59797         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59798         Update.
59799         (gl_array_list_implementation): Update.
59800         * lib/gl_carray_list.c: Don't include xalloc.h.
59801         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59802         Return NULL upon out-of-memory.
59803         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59804         out-of-memory.
59805         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59806         Change return type to 'int'.
59807         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59808         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59809         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59810         upon out-of-memory.
59811         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59812         upon out-of-memory.
59813         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59814         out-of-memory.
59815         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59816         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59817         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59818         Update.
59819         (gl_carray_list_implementation): Update.
59820         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59821         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59822         gl_linked_create_empty. Return NULL upon out-of-memory.
59823         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59824         out-of-memory.
59825         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59826         Change return type to 'int'. Return -1 upon out-of-memory.
59827         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59828         out-of-memory.
59829         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59830         upon out-of-memory.
59831         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59832         upon out-of-memory.
59833         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59834         NULL upon out-of-memory.
59835         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59836         upon out-of-memory.
59837         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59838         out-of-memory.
59839         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59840         Update.
59841         * lib/gl_linked_list.c: Don't include xalloc.h.
59842         (gl_linked_list_implementation): Update.
59843         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59844         (add_to_bucket): Change return type to 'int'.
59845         (gl_linkedhash_list_implementation): Update.
59846         * lib/gl_anytree_list1.h (free_subtree): New function.
59847         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59848         gl_tree_create_empty. Return NULL upon out-of-memory.
59849         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59850         Change return type to 'int'. Return -1 upon out-of-memory.
59851         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59852         out-of-memory.
59853         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59854         (gl_tree_remove_node): New function, moved here from
59855         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59856         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59857         Update.
59858         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59859         malloc, not xmalloc. Return NULL upon out-of-memory.
59860         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59861         out-of-memory.
59862         (gl_tree_remove_node_from_tree): New function, extracted from
59863         gl_tree_remove_node.
59864         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59865         upon out-of-memory.
59866         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59867         out-of-memory.
59868         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59869         upon out-of-memory.
59870         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59871         upon out-of-memory.
59872         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59873         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59874         not xmalloc. Return NULL upon out-of-memory.
59875         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59876         out-of-memory.
59877         (gl_tree_remove_node_from_tree): New function, extracted from
59878         gl_tree_remove_node.
59879         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59880         upon out-of-memory.
59881         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59882         out-of-memory.
59883         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59884         upon out-of-memory.
59885         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59886         upon out-of-memory.
59887         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59888         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59889         gl_anytree_list1.h before gl_anyavltree_list2.h.
59890         (gl_avltree_list_implementation): Update.
59891         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59892         gl_anytree_list1.h before gl_anyavltree_list2.h.
59893         (gl_rbtree_list_implementation): Update.
59894         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59895         Change return type to 'int'. Return -1 upon out-of-memory. Use
59896         __builtin_expect.
59897         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59898         (gl_avltreehash_list_implementation): Update.
59899         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59900         (gl_rbtreehash_list_implementation): Update.
59901         * modules/array-list (Depends-on): Remove xalloc.
59902         * modules/carray-list (Depends-on): Likewise.
59903         * modules/linked-list (Depends-on): Likewise.
59904         * modules/linkedhash-list (Depends-on): Likewise.
59905         * modules/avltree-list (Depends-on): Likewise.
59906         * modules/rbtree-list (Depends-on): Likewise.
59907         * modules/avltreehash-list (Depends-on): Likewise.
59908         * modules/rbtreehash-list (Depends-on): Likewise.
59910         * modules/xsublist: New file.
59911         * lib/gl_xsublist.h: New file.
59912         * lib/gl_xsublist.c: New file.
59913         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59914         (gl_sublist_nx_create): New declaration.
59915         * lib/gl_sublist.c: Don't include xalloc.h.
59916         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59917         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59918         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59919         Change return type to 'int'. Return -1 upon out-of-memory.
59920         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59921         upon out-of-memory.
59922         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59923         NULL upon out-of-memory.
59924         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59925         upon out-of-memory.
59926         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59927         NULL upon out-of-memory.
59928         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59929         NULL upon out-of-memory.
59930         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59931         upon out-of-memory.
59932         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59933         (gl_sublist_list_implementation): Update.
59934         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59935         upon out-of-memory.
59936         * modules/sublist (Depends-on): Remove xalloc.
59938         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59939         * tests/test-carray_list.c: Likewise.
59940         * tests/test-linked_list.c: Likewise.
59941         * tests/test-linkedhash_list.c: Likewise.
59942         * tests/test-avltree_list.c: Likewise.
59943         * tests/test-rbtree_list.c: Likewise.
59944         * tests/test-avltreehash_list.c: Likewise.
59945         * tests/test-rbtreehash_list.c: Likewise.
59946         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59947         * modules/carray-list-tests (Makefile.am): Likewise.
59948         * modules/linked-list-tests (Makefile.am): Likewise.
59949         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59950         * modules/avltree-list-tests (Makefile.am): Likewise.
59951         * modules/rbtree-list-tests (Makefile.am): Likewise.
59952         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59953         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59955         * NEWS: Mention the changes.
59957         * lib/clean-temp.c: Include gl_xlist.h.
59958         * modules/clean-temp (Depends-on): Add xlist.
59960         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59961         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59963         * tests/test-array_oset.c: Include gl_xlist.h.
59964         * modules/array-oset-tests (Depends-on): Add xlist.
59966         Reported by José E. Marchesi <jemarch@gnu.org>.
59968 2009-12-13  Bruno Haible  <bruno@clisp.org>
59970         Move the malloc checking from module 'oset' to new module 'xoset'.
59971         * modules/xoset: New file.
59972         * lib/gl_xoset.h: New file.
59973         * lib/gl_xoset.c: New file.
59974         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
59975         declarations.
59976         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
59977         (struct gl_oset_implementation): Rename and change methods accordingly.
59978         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
59979         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59980         'int'. Mark as __warn_unused_result__.
59981         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
59982         gl_oset_create_empty.
59983         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59984         'int'.
59985         * lib/gl_array_oset.c: Don't include xalloc.h.
59986         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
59987         malloc, not xmalloc.
59988         (grow): Change return type to 'int'. Don't call xalloc_die.
59989         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
59990         to 'int'.
59991         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
59992         'int'.
59993         (gl_array_oset_implementation): Update.
59994         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
59995         gl_tree_create_empty.
59996         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
59997         'int'.
59998         * lib/gl_avltree_oset.c: Don't include xalloc.h.
59999         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60000         xmalloc.
60001         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60002         not xmalloc.
60003         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60004         xmalloc.
60005         (gl_avltree_oset_implementation): Update.
60006         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
60007         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60008         xmalloc.
60009         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60010         not xmalloc.
60011         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60012         xmalloc.
60013         (gl_rbtree_oset_implementation): Update.
60014         * modules/array-oset (Depends-on): Remove xalloc.
60015         * modules/avltree-oset (Depends-on): Likewise.
60016         * modules/rbtree-oset (Depends-on): Likewise.
60017         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
60018         * tests/test-avltree_oset.c: Likewise.
60019         * tests/test-rbtree_oset.c: Likewise.
60020         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
60021         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
60022         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60023         * NEWS: Mention the change.
60025 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
60027         maint.mk: allow a project to override release-prep commands
60028         * top/maint.mk (alpha, beta, stable): Move release-preparatory
60029         commands into a new rule.
60030         (release-prep): New rule.
60031         (release-prep-hook): New overridable variable.
60033 2009-12-13  Bruno Haible  <bruno@clisp.org>
60035         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
60037 2009-12-13  Jim Meyering  <meyering@redhat.com>
60039         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
60040         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
60042 2009-12-12  Bruno Haible  <bruno@clisp.org>
60044         duplocale: Tweak.
60045         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
60047 2009-12-12  Karl Berry  <karl@gnu.org>
60049         * config/srclist.txt (strtoll.c): tab changes, no more sync.
60051 2009-12-12  Bruno Haible  <bruno@clisp.org>
60053         * m4/po.m4: Undo incorrect untabification.
60055 2009-12-12  Bruno Haible  <bruno@clisp.org>
60057         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
60058         * modules/c-strtod (Depends-on): Add locale.
60059         * modules/c-strtold (Depends-on): Likewise.
60061 2009-12-12  Bruno Haible  <bruno@clisp.org>
60063         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
60065 2009-12-11  Eric Blake  <ebb9@byu.net>
60067         setenv: relax requirement in light of POSIX ruling
60068         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
60069         not NULL.
60070         * tests/test-setenv.c (main): Relax test.
60071         * tests/test-unsetenv.c (main): Likewise.
60072         * doc/posix-functions/setenv.texi (setenv): Document this.
60073         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60075 2009-12-11  Bruno Haible  <bruno@clisp.org>
60077         New module 'fd-safer-flag'.
60078         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
60079         * lib/dup-safer.c (dup_safer_flag): Remove function.
60080         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
60081         * lib/fd-safer.c (fd_safer_flag): Remove function.
60082         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
60083         * modules/cloexec (configure.ac): Drop indicator macro.
60084         * modules/fd-safer-flag: New file.
60085         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
60086         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
60087         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
60089 2009-12-11  Bruno Haible  <bruno@clisp.org>
60091         Tests for module 'nl_langinfo'.
60092         * modules/nl_langinfo-tests: New file.
60093         * tests/test-nl_langinfo.sh: New file.
60094         * tests/test-nl_langinfo.c: New file.
60096         New module 'nl_langinfo'.
60097         * lib/nl_langinfo.c: New file.
60098         * m4/nl_langinfo.m4: New file.
60099         * modules/nl_langinfo: New file.
60100         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
60102 2009-12-11  Bruno Haible  <bruno@clisp.org>
60104         Tests for module 'langinfo'.
60105         * modules/langinfo-tests: New file.
60106         * tests/test-langinfo.c: New file.
60108         New module 'langinfo'.
60109         * lib/langinfo.in.h: New file.
60110         * m4/langinfo_h.m4: New file.
60111         * modules/langinfo: New file.
60112         * doc/posix-headers/langinfo.texi: Mention the new module.
60114 2009-12-11  Bruno Haible  <bruno@clisp.org>
60116         * lib/config.charset: Untabify.
60118 2009-12-11  Bruno Haible  <bruno@clisp.org>
60120         * modules/unistd-safer (configure.ac): Drop indicator macro.
60122 2009-12-11  Bruno Haible  <bruno@clisp.org>
60124         Move pipe2-safer code to its own file.
60125         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
60126         * lib/pipe-safer.c (pipe2_safer): Remove function.
60127         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
60128         (Makefile.am): Add it to lib_SOURCES.
60130 2009-12-10  Bruno Haible  <bruno@clisp.org>
60132         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
60134 2009-12-10  Bruno Haible  <bruno@clisp.org>
60136         Declare which arguments expect non-NULL values, for GCC and clang.
60137         * build-aux/arg-nonnull.h: New file.
60138         * modules/arg-nonnull: New file.
60139         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
60140         (inet_ntop, inet_pton): Use it.
60141         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
60142         (closedir, dirfd, opendir, scandir, alphasort): Use it.
60143         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
60144         (open, openat): Use it.
60145         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
60146         (fnmatch): Use it.
60147         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
60148         (getopt, getopt_long, getopt_long_only): Use it.
60149         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
60150         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
60151         Use it.
60152         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
60153         (iconv_open): Use it.
60154         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
60155         (strtoimax, strtoumax): Use it.
60156         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
60157         (duplocale): Use it.
60158         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
60159         (frexp, frexpl): Use it.
60160         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
60161         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
60162         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
60163         (tsearch, tfind, tdelete, twalk): Use it.
60164         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
60165         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
60166         sigpending): Use it.
60167         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
60168         (posix_spawn, posix_spawnp, posix_spawnattr_init,
60169         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
60170         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
60171         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
60172         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
60173         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
60174         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
60175         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
60176         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
60177         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
60178         Use it.
60179         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
60180         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
60181         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
60182         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
60183         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
60184         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
60185         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
60186         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
60187         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
60188         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
60189         strtoull, unsetenv): Use it.
60190         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
60191         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
60192         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
60193         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
60194         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
60195         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
60196         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
60197         (strcasecmp, strncasecmp): Use it.
60198         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
60199         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
60200         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
60201         rpl_setsockopt): Use it.
60202         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
60203         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
60204         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
60205         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
60206         (gettimeofday): Use it.
60207         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
60208         (times): Use it.
60209         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
60210         (uname): Use it.
60211         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
60212         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
60213         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
60214         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
60215         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
60216         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
60217         unlinkat, write): Use it.
60218         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
60219         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
60220         * lib/argv-iter.h: Include arg-nonnull.h.
60221         (_ATTRIBUTE_NONNULL_): Remove macro.
60222         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
60223         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
60224         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
60225         optimization.
60226         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
60227         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
60228         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
60229         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
60230         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
60231         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
60232         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
60233         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
60234         * modules/arpa_inet (Depends-on): Add arg-nonnull.
60235         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
60236         * modules/dirent (Depends-on): Add arg-nonnull.
60237         (Makefile.am): Insert arg-nonnull.h into dirent.h.
60238         * modules/fcntl-h (Depends-on): Add arg-nonnull.
60239         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
60240         * modules/fnmatch (Depends-on): Add arg-nonnull.
60241         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
60242         * modules/getopt-posix (Depends-on): Add arg-nonnull.
60243         (Makefile.am): Insert arg-nonnull.h into getopt.h.
60244         * modules/glob (Depends-on): Add arg-nonnull.
60245         (Makefile.am): Insert arg-nonnull.h into glob.h.
60246         * modules/iconv_open (Depends-on): Add arg-nonnull.
60247         (Makefile.am): Insert arg-nonnull.h into iconv.h.
60248         * modules/inttypes (Depends-on): Add arg-nonnull.
60249         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
60250         * modules/locale (Depends-on): Add arg-nonnull.
60251         (Makefile.am): Insert arg-nonnull.h into locale.h.
60252         * modules/math (Depends-on): Add arg-nonnull.
60253         (Makefile.am): Insert arg-nonnull.h into math.h.
60254         * modules/netdb (Depends-on): Add arg-nonnull.
60255         (Makefile.am): Insert arg-nonnull.h into netdb.h.
60256         * modules/search (Depends-on): Add arg-nonnull.
60257         (Makefile.am): Insert arg-nonnull.h into search.h.
60258         * modules/signal (Depends-on): Add arg-nonnull.
60259         (Makefile.am): Insert arg-nonnull.h into signal.h.
60260         * modules/spawn (Depends-on): Add arg-nonnull.
60261         (Makefile.am): Insert arg-nonnull.h into spawn.h.
60262         * modules/stdio (Depends-on): Add arg-nonnull.
60263         (Makefile.am): Insert arg-nonnull.h into stdio.h.
60264         * modules/stdlib (Depends-on): Add arg-nonnull.
60265         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
60266         * modules/string (Depends-on): Add arg-nonnull.
60267         (Makefile.am): Insert arg-nonnull.h into string.h.
60268         * modules/strings (Depends-on): Add arg-nonnull.
60269         (Makefile.am): Insert arg-nonnull.h into strings.h.
60270         * modules/sys_socket (Depends-on): Add arg-nonnull.
60271         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
60272         * modules/sys_stat (Depends-on): Add arg-nonnull.
60273         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
60274         * modules/sys_time (Depends-on): Add arg-nonnull.
60275         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
60276         * modules/sys_times (Depends-on): Add arg-nonnull.
60277         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
60278         * modules/sys_utsname (Depends-on): Add arg-nonnull.
60279         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
60280         * modules/time (Depends-on): Add arg-nonnull.
60281         (Makefile.am): Insert arg-nonnull.h into time.h.
60282         * modules/unistd (Depends-on): Add arg-nonnull.
60283         (Makefile.am): Insert arg-nonnull.h into unistd.h.
60284         * modules/wchar (Depends-on): Add arg-nonnull.
60285         (Makefile.am): Insert arg-nonnull.h into wchar.h.
60286         * modules/argv-iter (Depends-on): Add arg-nonnull.
60287         * tests/test-canonicalize.c (null_ptr): New function.
60288         (main): Use it.
60289         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
60290         (main): Use it.
60291         * tests/test-memmem.c (null_ptr): New function.
60292         (main): Use it.
60293         Reported by Jim Meyering.
60295 2009-12-10  Bruno Haible  <bruno@clisp.org>
60297         Use spaces for indentation, not tabs.
60298         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
60299         * m4/*.m4: Untabify.
60300         * build-aux/*.h: Untabify.
60301         * tests/**/*.[hc]: Untabify.
60302         * README: New section "Indent with spaces, not TABs", based on
60303         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
60304         * NEWS: Mention the change.
60306 2009-12-10  Bruno Haible  <bruno@clisp.org>
60308         pty test: Fix link error.
60309         * modules/pty-tests (Makefile.am): Add the default LDADD value to
60310         test_pty_LDADD.
60312 2009-12-07  Simon Josefsson  <simon@josefsson.org>
60314         * modules/pty: New file.
60315         * modules/pty-tests: New file.
60316         * m4/pty.m4: New file.
60317         * tests/test-pty.c: New file.
60318         * doc/glibc-headers/pty.texi: Modified.
60319         * doc/glibc-functions/forkpty.texi: Modified.
60320         * doc/glibc-functions/openpty.texi: Modified.
60322 2009-12-10  Bruno Haible  <bruno@clisp.org>
60324         Avoid syntax error in C++ mode.
60325         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
60327 2009-12-10  Bruno Haible  <bruno@clisp.org>
60329         Use sed with option -e.
60330         * gnulib-tool (func_version, func_emit_copyright_notice,
60331         func_emit_initmacro_end, func_import, func_create_testdir): Pass
60332         option -e to sed.
60333         * modules/link-warning (Makefile.am): Likewise.
60335 2009-12-10  Jim Meyering  <meyering@redhat.com>
60337         mgetgroups: do not write bytes beyond end of malloc'd buffer
60338         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
60339         username, we call getgroups with a one-element-shorter buffer,
60340         but still told it the length was original, max_n_groups.
60342 2009-12-09  Eric Blake  <ebb9@byu.net>
60344         cloexec: relax license
60345         * modules/cloexec (Maintainer): Add myself.
60346         (License): Use LGPL, not GPL.
60348         link-warning: optimize generation
60349         * modules/link-warning (Makefile.am): Reduce process usage.
60351 2009-12-09  Bruno Haible  <bruno@clisp.org>
60353         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
60354         workaround was added on 2009-11-17.
60356 2009-12-09  Jim Meyering  <meyering@redhat.com>
60357             Bruno Haible  <bruno@clisp.org>
60359         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
60360         * modules/link-warning (Makefile.am): Make the comment-removing sed
60361         command more robust in the face of bootstrap-prepended comment lines.
60363 2009-12-09  Bruno Haible  <bruno@clisp.org>
60365         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
60366         most one group.
60368 2009-12-09  Simon Josefsson  <simon@josefsson.org>
60369             Bruno Haible  <bruno@clisp.org>
60371         * build-aux/link-warning.h: Add copyright notice.
60372         * modules/link-warning (Makefile.am): Generate link-warning.h from
60373         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
60374         * NEWS: Mention change in link-warning module.
60375         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
60376         * modules/dirent (Makefile.am): Add dependency to dirent.h.
60377         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
60378         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
60379         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
60380         * modules/math (Makefile.am): Add dependency to math.h.
60381         * modules/search (Makefile.am): Add dependency to search.h.
60382         * modules/signal (Makefile.am): Add dependency to signal.h.
60383         * modules/spawn (Makefile.am): Add dependency to spawn.h.
60384         * modules/stdio (Makefile.am): Add dependency to stdio.h.
60385         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
60386         * modules/string (Makefile.am): Add dependency to string.h.
60387         * modules/strings (Makefile.am): Add dependency to strings.h.
60388         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
60389         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
60390         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
60391         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
60392         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
60393         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
60394         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
60395         * modules/unistd (Makefile.am): Add dependency to unistd.h.
60396         * modules/wchar (Makefile.am): Add dependency to wchar.h.
60398 2009-12-09  Bruno Haible  <bruno@clisp.org>
60400         fchdir: Optimize away rpl_fstat when possible.
60401         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
60402         REPLACE_OPEN_DIRECTORY.
60403         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
60405 2009-12-09  Bruno Haible  <bruno@clisp.org>
60407         * lib/fchdir.c: Update comment.
60409 2009-12-09  Bruno Haible  <bruno@clisp.org>
60411         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
60413 2009-12-08  Eric Blake  <ebb9@byu.net>
60415         fchdir: avoid memory leak on re-registration.
60416         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
60418 2009-12-08  Jim Meyering  <meyering@redhat.com>
60420         init.sh: avoid Solaris 10 /bin/sh portability problem
60421         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
60422         sourced script:
60423           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
60424           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
60425           bar
60426         tests/init.sh relied on that, accepting a --set-path=DIR argument,
60427         and two tests used that idiom.
60428         * tests/init.sh: Update suggested usage comments.
60429         (path_prepend_): New function, to be used in place
60430         of the --src-path=DIR option.
60431         (setup_): Move PATH-prepending code into path_prepend_.
60432         * tests/test-pread.sh: Adapt to new usage.
60433         * tests/test-xalloc-die.sh: Likewise.
60435 2009-12-08  Simon Josefsson  <simon@josefsson.org>
60437         * doc/gnulib.texi (Glibc pty.h): Add.
60438         * doc/glibc-functions/forkpty.texi: Add.
60439         * doc/glibc-functions/openpty.texi: Add.
60440         Suggested by Bruno Haible.
60442 2009-12-08  Eric Blake  <ebb9@byu.net>
60444         fchdir: fix logic bugs
60445         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
60446         * tests/test-fchdir.c (main): Enhance test.
60447         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
60448         is in use.
60450         dup2: fix logic bugs
60451         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
60452         REPLACE_DUP2 to decide when rpl_dup2 is needed.
60453         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
60454         exists.
60455         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
60457 2009-12-07  Eric Blake  <ebb9@byu.net>
60459         unlink: fix m4 detection
60460         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
60462         unistd-safer: add unit test
60463         * modules/unistd-safer-tests: New file.
60464         * tests/test-dup-safer.c: Likewise.
60465         * tests/test-cloexec.c (setmode): Avoid compiler warning.
60466         * tests/test-dup2.c (setmode): Likewise.
60467         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
60469         cloexec: preserve text vs. binary across dup_cloexec
60470         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
60471         mode.
60472         * modules/dup2-tests (Depends-on): Add binary-io.
60473         * modules/cloexec-tests (Depends-on): Likewise.
60474         * tests/test-dup2.c (setmode, is_mode): New helpers.
60475         (main): Add tests that translation mode is preserved.
60476         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
60477         Reported by Bruno Haible.
60479         mgetgroups: reduce duplicate listings
60480         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
60481         resulting array.
60482         * tests/test-chown.h (test_chown): Simplify client.
60483         * tests/test-lchown.h (test_lchown): Likewise.
60485 2009-12-06  Bruno Haible  <bruno@clisp.org>
60487         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
60488         value.
60490 2009-12-06  Bruno Haible  <bruno@clisp.org>
60492         * lib/progname.c: Include stdio.h, stdlib.h.
60493         (set_program_name): Reject a NULL argument.
60495 2009-12-05  Eric Blake  <ebb9@byu.net>
60497         pipe2-safer: new module
60498         * modules/pipe2-safer: New file.
60499         * lib/unistd-safer.h (pipe2_safer): New prototype.
60500         * lib/unistd--.h (pipe2): New wrapper.
60501         * lib/pipe-safer.c (pipe2_safer): New function.
60502         * modules/pipe (Depends-on): Add pipe2-safer.
60503         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
60505         stdlib-safer: preserve cloexec flag for mkostemp[s]
60506         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
60507         fd_safer_flag.
60509         unistd-safer: allow preservation of cloexec status via flag
60510         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
60511         prototypes.
60512         * lib/dup-safer.c (dup_safer_flag): New function.
60513         * lib/fd-safer.c (fd_safer_flag): Likewise.
60514         * modules/cloexec (configure.ac): Set witness.
60516         test-dup2: enhance test
60517         * modules/dup2-tests (Depends-on): Add cloexec.
60518         * tests/test-dup2.c (main): Enhance test.
60520         cloexec: add dup_cloexec
60521         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
60522         header and comments.
60523         * lib/cloexec.c (set_cloexec_flag): Add comments.
60524         (dup_cloexec): New function, with mingw implementation borrowed
60525         from...
60526         * lib/w32spawn.h (dup_noinherit): ...here.
60527         * modules/execute (Depends-on): Add cloexec.
60528         * modules/pipe (Depends-on): Likewise.
60529         * modules/cloexec (Depends-on): Add dup2.
60530         * modules/cloexec-tests (Files): New file.
60531         * tests/test-cloexec.c: Likewise.
60533         test-xalloc-die: fix test for mingw
60534         * modules/xalloc-die-tests (Files): Add tests/init.sh.
60535         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
60536         directory and .exe suffix off argv[0] output.
60538         test-fseeko: fix test for mingw
60539         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
60540         than undefining fseek, so test will pass on mingw.
60542 2009-12-05  Bruno Haible  <bruno@clisp.org>
60544         * lib/progname.h (set_program_name): Clarify specification.
60545         * lib/progname.c (set_program_name): Likewise.
60546         Reported by Jim Meyering.
60548 2009-12-05  Jim Meyering  <meyering@redhat.com>
60550         maint.mk: backslash-escape parens in default regexp
60551         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
60552         backslash-escape the literal parentheses.
60554         maint.mk: news-date-check: use grep -E
60555         * top/maint.mk (today): Define a Make variable, not a...
60556         (news-date-check): ...shell variable.
60557         (news-date-regexp): Use the Make variable.
60558         Use grep's -E option.  Change the failing diagnostic to mention
60559         the variable, $(news-date-regexp).
60561 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
60563         maintainer-makefile: allow customization of NEWS entry format
60564         * top/maint.mk (news-date-regexp): New overridable variable.
60565         (news-date-check): Use it.
60567 2009-12-04  Eric Blake  <ebb9@byu.net>
60569         mgetgroups: add xgetgroups, and avoid ENOSYS failures
60570         * lib/mgetgroups.h (xgetgroups): New prototype.
60571         * lib/mgetgroups.c (xgetgroups): New wrapper.
60572         (mgetgroups): Handle ENOSYS.
60573         * modules/mgetgroups (Depends-on): Add realloc.
60574         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
60576         mgetgroups: avoid argument promotion issues with -1
60577         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
60578         for invalid gid_t.
60579         * tests/test-chown.h (getegid, test_chown): Likewise.
60580         * tests/test-lchown.h (getegid, test_lchown): Likewise.
60582 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
60584         exclude: Fix header file problems.
60585         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
60587 2009-12-01  Jim Meyering  <meyering@redhat.com>
60589         fts: fts_open: do not let an empty string cause immediate failure
60590         This is required in support of GNU rm, for which the command
60591         "rm A '' B" must process and remove both A and B, in spite of
60592         the empty string argument.
60593         * lib/fts.c (fts_open): Do not let the presence of an empty string
60594         cause fts_open to fail immediately.  Most fts-using tools must be
60595         able to process all arguments, in order, and can be expected to
60596         diagnose such arguments themselves.
60598 2009-11-30  Eric Blake  <ebb9@byu.net>
60600         utimens: fix compilation error
60601         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
60602         Declare variable at right scope.
60604 2009-11-29  Jim Meyering  <meyering@redhat.com>
60606         bootstrap: handle perl-5.11's changed --version output
60607         * build-aux/bootstrap (get_version): Handle perl separately,
60608         since perl-5.11's --version output is different.
60610 2009-11-28  Jim Meyering  <meyering@redhat.com>
60612         userspec: depend on the inttostr module, too
60613         * modules/userspec (Depends-on): Add inttostr.
60615         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
60616         * lib/userspec.c (parse_with_separator): Do not accept a user ID
60617         number of MAXUID when it evaluates to (uid_t) -1.
60618         Likewise for group ID.  Reported by Matt McCutchen in
60619         <http://savannah.gnu.org/bugs/?28113>
60621         userspec: reformat to use spaces, not TABs
60622         * lib/userspec.c: Expand TABs to spaces.
60623         Add Emacs' "indent-tabs-mode: nil" hint.
60625 2009-11-27  Eric Blake  <ebb9@byu.net>
60627         getopt-gnu: flush out another BSD bug
60628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
60629         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
60630         flush out BSD bug.
60631         * tests/test-getopt.h (test_getopt): End lists with NULL.
60632         * tests/test-getopt_long.h (test_getopt_long): Likewise.
60633         (test_getopt_long_posix): Enhance test.
60634         * modules/getopt-posix-tests (Depends-on): Add stdbool.
60635         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
60636         getopt-gnu.
60637         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60638         Likewise.
60640 2009-11-27  Simon Josefsson  <simon@josefsson.org>
60642         * modules/idpriv-droptemp-tests (Notice): Fix text.
60644 2009-11-27  Jim Meyering  <meyering@redhat.com>
60646         test-xalloc-die: avoid spurious failure due to libtool argv difference
60647         In a libtool-enabled project, this test would fail due to a difference
60648         in the emitted program name, e.g.,
60649         -test-xalloc-die: memory exhausted
60650         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
60651         Use program to avoid that.
60652         * modules/xalloc-die-tests (Depends-on): Add progname.
60653         * tests/test-xalloc-die.c: Include progname.h".
60654         (program_name): Remove decl.
60655         (main): Call set_program_name.
60656         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
60658 2009-11-26  Richard Jones  <rjones@redhat.com>
60660         w32sock: leave win32 error in place.
60661         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
60663 2009-11-26  Eric Blake  <ebb9@byu.net>
60665         init.sh: suggest to use skip_ and fail_ functions in comments
60666         * tests/init.sh: Add a sentence.
60668 2009-11-25  Bruno Haible  <bruno@clisp.org>
60670         init.sh: add documentation in comments
60671         * tests/init.sh: Add some developer and user documentation.
60673 2009-11-26  Jim Meyering  <meyering@redhat.com>
60675         init.sh: accommodate even those who specify bogus srcdir manually
60676         * tests/init.sh: Normally, srcdir is guaranteed by automake and
60677         configure-time tests to be sanitized, so that there is no need to
60678         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
60679         (with no double quotes) suffices.  However, since tests may be
60680         invoked manually, and since you may explicitly set srcdir to the
60681         name of a directory containing spaces, do quote its uses here.
60682         * tests/test-pread.sh: Likewise.
60683         Suggested by Bruno Haible.
60685         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
60686         * tests/test-pread.sh: Write no data into the pipe, because
60687         test-pread actually reads none.  This avoids a diagnostic,
60688         "bash: echo: write error: Broken pipe", that arises in the unusual
60689         event something is ignoring SIGPIPE, and might be interpreted
60690         as some sort of failure.  Reported by Bruno Haible.
60692 2009-11-25  Jim Meyering  <meyering@redhat.com>
60694         test-pread: cover failure with ESPIPE and EINVAL
60695         * tests/test-pread.c (main): Test for failure, too.
60696         * tests/test-pread.sh: Invoke with stdin on a pipe.
60697         Suggested by Eric Blake.
60699         pread: improvement and fix
60700         * modules/pread (Depends-on): Depend on lseek, for portability to
60701         e.g., mingw.  Suggested by Eric Blake.
60702         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60704         unistd.in.h: correct declaration of pread
60705         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
60706         Reported by Richard W.M. Jones.
60708         test-pread.sh: distribute the test script
60709         * modules/pread-tests (Files): Include test-pread.sh.
60711         test-pread.sh: clean up
60712         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
60713         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
60714         That is unnecessary, since it's always ".".
60715         Suggestion from Eric Blake.
60717         test-pread.sh: make executable
60718         * tests/test-pread.sh: Set executable bit.
60719         Reported by Eric Blake.
60721         correct typo in test-pread.sh
60722         * tests/test-pread.sh: Add #! line.
60724         test pread
60725         * tests/test-pread.c: New file.
60726         * tests/test-pread.sh: Likewise.
60727         * modules/pread-tests: Likewise.
60729         pread: new module
60730         * modules/pread: New file.
60731         * lib/unistd.in.h (pread): Define/declare.
60732         * lib/pread.c (pread): New file.
60733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
60734         * modules/unistd (Makefile.am): Substitute witnesses.
60735         * doc/posix-functions/pread.texi (pread): Update.
60736         * MODULES.html.sh: Add pread.
60738 2009-11-25  Jim Meyering  <meyering@redhat.com>
60740         tests/init.sh: new file to be used via most *.sh tests
60741         * tests/init.sh: New file.
60743 2009-11-25  Eric Blake  <ebb9@byu.net>
60745         utimens: work around older Linux failure with symlinks
60746         * lib/utimens.c (lutimensat_works_really): New variable.
60747         (fdutimens, lutimens): Use it to manage kernels that support
60748         nanosecond times on files, but not on symlinks.
60749         Reported by Ondřej Vašík.
60751         utimes: fix configure grammar
60752         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60754 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60756         regex: Fix fastmap for multibyte character ranges.
60757         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60758         characters when a multibyte character range is included.
60760 2009-11-22  Andy Wingo  <wingo@pobox.com>
60762         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60763         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60765 2009-11-24  Bruno Haible  <bruno@clisp.org>
60767         doc: Most *_l functions exist in MacOS X 10.5.
60768         * doc/posix-functions/duplocale.texi: Update platforms list.
60769         * doc/posix-functions/freelocale.texi: Likewise.
60770         * doc/posix-functions/newlocale.texi: Likewise.
60771         * doc/posix-functions/uselocale.texi: Likewise.
60772         * doc/posix-functions/isalnum_l.texi: Likewise.
60773         * doc/posix-functions/isalpha_l.texi: Likewise.
60774         * doc/posix-functions/isblank_l.texi: Likewise.
60775         * doc/posix-functions/iscntrl_l.texi: Likewise.
60776         * doc/posix-functions/isdigit_l.texi: Likewise.
60777         * doc/posix-functions/isgraph_l.texi: Likewise.
60778         * doc/posix-functions/islower_l.texi: Likewise.
60779         * doc/posix-functions/isprint_l.texi: Likewise.
60780         * doc/posix-functions/ispunct_l.texi: Likewise.
60781         * doc/posix-functions/isspace_l.texi: Likewise.
60782         * doc/posix-functions/isupper_l.texi: Likewise.
60783         * doc/posix-functions/iswalnum_l.texi: Likewise.
60784         * doc/posix-functions/iswalpha_l.texi: Likewise.
60785         * doc/posix-functions/iswblank_l.texi: Likewise.
60786         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60787         * doc/posix-functions/iswctype_l.texi: Likewise.
60788         * doc/posix-functions/iswdigit_l.texi: Likewise.
60789         * doc/posix-functions/iswgraph_l.texi: Likewise.
60790         * doc/posix-functions/iswlower_l.texi: Likewise.
60791         * doc/posix-functions/iswprint_l.texi: Likewise.
60792         * doc/posix-functions/iswpunct_l.texi: Likewise.
60793         * doc/posix-functions/iswspace_l.texi: Likewise.
60794         * doc/posix-functions/iswupper_l.texi: Likewise.
60795         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60796         * doc/posix-functions/isxdigit_l.texi: Likewise.
60797         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60798         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60799         * doc/posix-functions/strcoll_l.texi: Likewise.
60800         * doc/posix-functions/strfmon_l.texi: Likewise.
60801         * doc/posix-functions/strftime_l.texi: Likewise.
60802         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60803         * doc/posix-functions/strxfrm_l.texi: Likewise.
60804         * doc/posix-functions/tolower_l.texi: Likewise.
60805         * doc/posix-functions/toupper_l.texi: Likewise.
60806         * doc/posix-functions/towctrans_l.texi: Likewise.
60807         * doc/posix-functions/towlower_l.texi: Likewise.
60808         * doc/posix-functions/towupper_l.texi: Likewise.
60809         * doc/posix-functions/wcscoll_l.texi: Likewise.
60810         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60811         * doc/posix-functions/wctrans_l.texi: Likewise.
60812         * doc/posix-functions/wctype_l.texi: Likewise.
60813         * doc/glibc-functions/strptime_l.texi: Likewise.
60814         * doc/glibc-functions/strtod_l.texi: Likewise.
60815         * doc/glibc-functions/strtof_l.texi: Likewise.
60816         * doc/glibc-functions/strtol_l.texi: Likewise.
60817         * doc/glibc-functions/strtold_l.texi: Likewise.
60818         * doc/glibc-functions/strtoll_l.texi: Likewise.
60819         * doc/glibc-functions/strtoul_l.texi: Likewise.
60820         * doc/glibc-functions/strtoull_l.texi: Likewise.
60821         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60822         * doc/glibc-functions/wcstod_l.texi: Likewise.
60823         * doc/glibc-functions/wcstof_l.texi: Likewise.
60824         * doc/glibc-functions/wcstol_l.texi: Likewise.
60825         * doc/glibc-functions/wcstold_l.texi: Likewise.
60826         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60827         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60828         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60830 2009-11-24  Bruno Haible  <bruno@clisp.org>
60832         duplocale: Fix logic bug.
60833         * lib/duplocale.c: Don't include <langinfo.h>.
60834         (_NL_LOCALE_NAME): Remove macro.
60835         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60836         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60838 2009-11-23  Jim Meyering  <meyering@redhat.com>
60840         test-update-copyright: don't hard-code /usr/bin/perl
60841         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60842         perl to print the current year.  Gilles Espinasse reported that
60843         the replaced use of perl was hard-coded as /usr/bin/perl.
60845 2009-11-23  Bruno Haible  <bruno@clisp.org>
60847         duplocale: Add support for glibc 2.3.x.
60848         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60850 2009-11-22  Bruno Haible  <bruno@clisp.org>
60852         vasnprintf: Tiny optimization.
60853         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60854         MacOS X.
60856 2009-11-22  Bruno Haible  <bruno@clisp.org>
60858         Tests for module 'duplocale'.
60859         * modules/duplocale-tests: New file.
60860         * tests/test-duplocale.c: New file.
60862         New module 'duplocale'.
60863         * m4/duplocale.m4: New file.
60864         * lib/locale.in.h (duplocale): New declaration.
60865         * lib/duplocale.c: New file.
60866         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60867         gl_LOCALE_H_DEFAULTS): New macros.
60868         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60869         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60870         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60871         REPLACE_DUPLOCALE.
60872         * modules/duplocale: New file.
60873         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60875 2009-11-22  Bruno Haible  <bruno@clisp.org>
60877         * modules/locale-tests (configure.ac): Test for newlocale function.
60878         * tests/test-locale.c: When the system has extended locale functions,
60879         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60881         locale: Make locale_t available when possible.
60882         * lib/locale.in.h: Include <xlocale.h> when it exists.
60883         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60884         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60885         * modules/locale (Depends-on): Add extensions.
60886         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60887         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60889 2009-11-22  Bruno Haible  <bruno@clisp.org>
60891         Add comments.
60892         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60893         invocation.
60894         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60895         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60896         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60898 2009-11-22  Bruno Haible  <bruno@clisp.org>
60900         error: account for the possibility of freopen (stdout).
60901         * lib/error.c: Include <unistd.h>.
60902         (flush_stdout): New function, extracted from error and error_at_line.
60903         Determine stdout's fd dynamically.
60904         (error, error_at_line): Invoke flush_stdout.
60905         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60906         * modules/error (Depends-on): Add unistd.
60908 2009-11-22  Bruno Haible  <bruno@clisp.org>
60910         diffseq: Add comment.
60911         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60913 2009-11-22  Jim Meyering  <meyering@redhat.com>
60915         c-stack: avoid defining an unused static function
60916         * lib/c-stack.c (find_stack_direction): Do not define this function
60917         when it will not be used.
60919         diffseq: avoid spurious gcc warnings
60920         * lib/diffseq.h (IF_LINT2): Define.
60921         (compareseq): Use it to initialize two members of "part".
60922         This avoids two used-uninitialized warnings.
60924 2009-11-21  Jim Meyering  <meyering@redhat.com>
60926         c-stack: avoid "ignoring return value of `write'" warning
60927         * lib/c-stack.c: Include "ignore-value.h".
60928         (die): Explicitly ignore each write return value.
60929         * modules/c-stack (Depends-on): Add ignore-value.
60931 2009-11-21  Bruno Haible  <bruno@clisp.org>
60933         diffseq: reduce scope of variable 'best'.
60934         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60935         variable, earlier used for two different purposes.
60937 2009-11-21  Jim Meyering  <meyering@redhat.com>
60939         diffseq: remove useless assignment to "best"
60940         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60941         assignment.  At that point "best" is already guaranteed to be zero.
60943 2009-11-20  Eric Blake  <ebb9@byu.net>
60945         build: mention ftp redirector in release announcements
60946         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60947         values that used to come from cfg.mk; mention FTP redirect URL.
60948         * build-aux/announce-gen: Mention the mirror list.
60949         Suggested by Karl Berry.
60951         nanosleep: improve port to mingw
60952         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60954         LIB_NANOSLEEP, but only when needed.
60955         * modules/select (Link): Document LIBSOCKET.
60956         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60957         enough.
60959         nanosleep: work around cygwin bug
60960         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60961         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60962         bug.
60963         (getnow): Delete, not needed.
60964         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
60965         LIB_CLOCK_GETTIME.
60966         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
60967         clock-time, gettime.
60968         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
60969         bug.
60970         * modules/nanosleep-tests: New test.
60971         * tests/test-nanosleep.c: New file.
60973         sleep: work around cygwin bug
60974         * lib/sleep.c (rpl_sleep): Work around the bug.
60975         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
60976         (gl_PREREQ_SLEEP): Delete unused macro.
60977         * modules/sleep (Depends-on): Add verify.
60978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60979         * modules/unistd (Makefile.am): Substitute witness.
60980         * lib/unistd.in.h (sleep): Update prototype.
60981         * doc/posix-functions/sleep.texi (sleep): Document the bug.
60982         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
60983         * modules/sleep-tests (Depends-on): Check for alarm.
60985 2009-11-20  Jim Meyering  <meyering@redhat.com>
60987         maint.mk: improve sc_prohibit_magic_number_exit
60988         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
60989         so it does not match uses like System.exit(1).
60990         Add comments showing how to correct all offenders.
60992 2009-11-19  Eric Blake  <ebb9@byu.net>
60994         xalloc-die-tests: add missing library
60995         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
60997         test-xvasprintf: silence compiler warnings
60998         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
60999         empty string from gcc.
61001 2009-11-19  Jim Meyering  <meyering@redhat.com>
61003         xfreopen: new module, from coreutils
61004         * modules/xfreopen: New module.
61005         * lib/xfreopen.c: New file.
61006         * lib/xfreopen.h: New file.
61007         * MODULES.html.sh (File stream based Input/Output"): Add it.
61009 2009-11-19  Eric Blake  <ebb9@byu.net>
61011         manywarnings: depend on warnings
61012         * modules/manywarnings (Depends-on): Add warnings.
61014         build: avoid compiler warnings
61015         * lib/select.c (rpl_select): Delete unused variable.
61016         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
61018 2009-11-18  Eric Blake  <ebb9@byu.net>
61020         tests: avoid false negative with --with-packager
61021         * tests/test-version-etc.sh: Discard packager information.
61022         * tests/test-argp-version-etc-1.sh: Likewise.
61023         Reported by Mike Frysinger.
61025         utimens: fix regression on Solaris
61026         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
61027         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
61028         can only change fd timestamps via futimesat.  Instead, use an
61029         additional witness macro to avoid BSD bug.
61030         Reported by Jim Meyering.
61032 2009-11-17  Eric Blake  <ebb9@byu.net>
61034         usleep: use it to simplify tests
61035         * modules/stat-time-tests (Depends-on): Add usleep.
61036         (configure.ac): Drop usleep check.
61037         * modules/chown-tests (Depends-on, configure.ac): Likewise.
61038         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
61039         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
61040         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
61041         * modules/openat-tests (Depends-on, configure.ac): Likewise.
61042         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
61043         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
61044         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
61045         Likewise.
61046         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
61047         * tests/test-lchown.h (nap): Likewise.
61048         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
61049         * tests/test-stat-time.c (nap): Likewise.
61050         * tests/test-utimens-common.h (nap): Update comments.
61052         usleep: new module
61053         * modules/usleep: New file.
61054         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
61055         * lib/usleep.c (usleep): Likewise.
61056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
61057         * modules/unistd (Makefile.am): Substitute witnesses.
61058         * lib/unistd.in.h (usleep): Add declaration.
61059         * doc/pastposix-functions/usleep.texi (usleep): Document this.
61060         * MODULES.html.sh (Date and time): Likewise.
61061         * modules/usleep-tests (Depends-on): New test.
61062         * tests/test-usleep.c: New file.
61064         chown: work around OpenBSD bug
61065         * lib/chown.c (rpl_chown): Work around the bug.
61066         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
61067         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
61068         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
61069         * modules/chown (Depends-on): Add stdbool.
61070         * modules/lchown (Depends-on): Likewise.
61071         * doc/posix-functions/chown.texi (chown): Document the bug.
61072         * doc/posix-functions/lchown.texi (lchown): Likewise.
61073         * tests/test-lchown.h (test_chown): Relax test.
61075         mkstemp: avoid conflict with C++ keyword template
61076         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
61077         * lib/mkostemp.c (mkostemp): Likewise.
61078         * lib/mkostemps.c (mkostemps): Likewise.
61079         * lib/mkstemp.c (mkstemp): Likewise.
61080         * lib/mkstemps.c (mkstemps): Likewise.
61082         xalloc-die-tests: optimize
61083         * tests/test-xalloc-die.sh: Reduce number of processes.
61085 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61087         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
61088         patch from ludo@gnu.org (Ludovic Courtès).
61090 2009-11-17  Jim Meyering  <meyering@redhat.com>
61092         version-etc: use proper license string
61093         * modules/version-etc (License): Use LGPL, not LGPLv3+.
61094         * modules/version-etc-fsf: Likewise.
61096 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61098         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
61099         printed to stdout.  Deal with EOL differences.
61101 2009-11-17  Eric Blake  <ebb9@byu.net>
61103         unsetenv: work around Solaris bug
61104         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
61105         * lib/unsetenv.c (rpl_unsetenv): Work around it.
61106         Reported by Jim Meyering.
61108         vasnprintf: avoid compiler warnings
61109         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
61110         variables.
61111         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
61113 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61115         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
61116         settings since xalloc-die is no longer the self test,
61117         xalloc-die.sh is.
61119 2009-11-17  Jim Meyering  <meyering@redhat.com>
61121         test-xalloc-die.sh: make the code agree with the commit log
61122         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
61123         at the end, just in case you happen to have a test-xalloc-die
61124         program in some other PATH directory.
61126         test-xalloc-die.sh: fix a portability bug
61127         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
61128         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
61129         Otherwise, argv[0] (as often seen in diagnostics) would be too
61130         system-dependent, sometimes with, and sometimes without the leading "./".
61132         version-etc-fsf: relax license to LGPLv3+
61133         * modules/version-etc-fsf (License): Relax license.
61135 2009-11-16  Eric Blake  <ebb9@byu.net>
61137         xalloc-die-tests: avoid printing null pointer
61138         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
61139         shell script.
61140         * tests/test-xalloc-die.c (program_name): Declare.
61141         * tests/test-xalloc-die.sh (tmpfiles): New file.
61143         setenv, unsetenv: work around various bugs
61144         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
61145         (setenv) [HAVE_SETENV]: Work around bugs.
61146         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
61147         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
61148         for bugs.
61149         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
61150         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
61151         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
61152         * modules/stdlib (Makefile.am): Update substitutions.
61153         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
61154         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
61155         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
61156         * modules/setenv-tests: New test.
61157         * modules/unsetenv-tests: Likewise.
61158         * tests/test-setenv.c: New file.
61159         * tests/test-unsetenv.c: Likewise.
61161 2009-11-16  Jim Meyering  <meyering@redhat.com>
61163         version-etc: relax license to LGPLv3+
61164         * modules/version-etc (License): Relax license.
61166         better AC_REQUIRE expanded-before-required-warning avoidance
61167         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
61168         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
61169         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
61170         which is no longer needed.
61172 2009-11-16  Eric Blake  <ebb9@byu.net>
61174         test-freading: clean up temporary file
61175         * tests/test-freading.c (main): Remove file on success, and use
61176         ASSERT more liberally.
61177         Reported by Jim Meyering.
61179 2009-11-16  Jim Meyering  <meyering@redhat.com>
61181         avoid new AC_REQUIRE expanded-before-required warnings
61182         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
61183         merely using it.
61184         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
61185         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
61187 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61189         * tests/test-xalloc-die.c: New file.
61190         * modules/xalloc-die-tests: New file.
61191         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
61192         XFAIL_TESTS so it can be appended by modules.
61194 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61196         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
61197         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
61199 2009-11-14  Eric Blake  <ebb9@byu.net>
61201         fnmatch: avoid compiler warning
61202         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
61203         to silence compiler warning about mismatch signedness in ?:.
61204         Reported by Robert Millan.
61206         intprops: add double-inclusion guard
61207         * lib/intprops.h: Allow idempotent includes.
61208         Suggested by Bruce Korb.
61210         openat: detect Solaris fchownat bug
61211         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
61212         penalizing glibc chownat when only lchownat is broken.
61213         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
61214         trailing slash bugs.
61215         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
61216         * modules/openat-tests (Files): Include more files.
61217         (Depends-on): Add mgetgroups, sleep, stat-time.
61218         (configure.ac): Add additional checks.
61219         (Makefile.am): Build new test.
61220         * tests/test-fchownat.c: New file.
61222         lchown: detect Solaris and FreeBSD bug
61223         * lib/lchown.c (rpl_lchown): Work around bug.
61224         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
61225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61226         * modules/unistd (Makefile.am): Populate it.
61227         * lib/unistd.in.h (lchown): Update declaration.
61228         * doc/posix-functions/lchown.texi (lchown): Document the bug.
61229         * modules/lchown-tests: New file.
61230         * tests/test-lchown.h (test_lchown): Likewise.
61231         * tests/test-lchown.c (main): Likewise.
61233         chown: detect Solaris and FreeBSD bug
61234         * lib/chown.c (rpl_chown): Work around bug.
61235         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
61236         (gl_PREREQ_CHOWN): Delete.
61237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61238         * modules/unistd (Makefile.am): Populate it.
61239         * lib/unistd.in.h (chown): Update declaration.
61240         * lib/lchown.c (chown): Update client.
61241         * modules/lchown (Depends-on): Add lstat.
61242         * doc/posix-functions/chown.texi (chown): Document the bug.
61243         * doc/posix-functions/getgroups.texi (getgroups): Document
61244         getgroups pitfall.
61245         * modules/chown-tests: New file.
61246         * tests/test-chown.h (test_chown): Likewise.
61247         * tests/test-chown.c (main): Likewise.
61249 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
61251         gnulib-tool: correctly detect absence of m4 directories
61252         * gnulib-tool: Avoid extra newline on data passed to wc -l.
61254 2009-11-14  Jim Meyering  <meyering@redhat.com>
61256         maint.mk: Prohibit inclusion of "xalloc.h" without use.
61257         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61259 2009-11-14  John W. Eaton  <jwe@gnu.org>
61261         strftime.h: wrap function declaration in extern "C" block
61262         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
61264 2009-11-13  Eric Blake  <ebb9@byu.net>
61266         getgroups: avoid compiler warning
61267         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
61269         getgroups: work around FreeBSD bug
61270         * lib/getgroups.c (rpl_getgroups): Work around the bug.
61271         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
61272         * doc/posix-functions/getgroups.texi (getgroups): Document it.
61273         * tests/test-getgroups.c (main): Fix buffer overrun.
61275         getgroups: avoid compilation failure
61276         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
61277         * modules/getgroups (Depends-on): Add stdint.
61279 2009-11-13  Jim Meyering  <meyering@redhat.com>
61281         test-getgroups: avoid compilation failure
61282         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
61284 2009-11-13  Eric Blake  <ebb9@byu.net>
61286         mgetgroups: new module, taken from coreutils
61287         * modules/mgetgroups: New file.
61288         * lib/mgetgroups.h: Likewise.
61289         * lib/mgetgroups.c (mgetgroups): Likewise.
61290         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
61291         * MODULES.html.sh (Users and groups): Mention it.
61293         getgroups: don't expose GETGROUPS_T to user
61294         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
61295         an element at a time if GETGROUPS_T is wrong size.
61296         * lib/getugroups.h (getugroups): Change signature.
61297         * lib/unistd.in.h (getgroups): Likewise.
61298         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
61299         signature needs fixing.
61300         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
61301         AC_TYPE_GETGROUPS.
61302         * modules/group-member (Depends-on): Add getgroups.
61303         * lib/group-member.c (group_info, get_group_info): Use gid_t.
61304         (group_member): Rely on getgroups replacement.
61305         * lib/getugroups.c (getugroups): Use gid_t.
61306         * tests/test-getgroups.c (main): Likewise.
61307         * NEWS: Mention the signature change.
61308         * doc/posix-functions/getgroups.texi (getgroups): Mention the
61309         problem with signature.
61310         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
61311         GETGROUPS_T is still useful for setgroups.
61313         getgroups, getugroups: provide stubs for mingw
61314         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
61315         * lib/getugroups.c (getugroups): Likewise.
61316         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
61317         function.  Modernize replacement scheme.
61318         (gl_PREREQ_GETGROUPS): Delete.
61319         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
61320         * modules/getgroups (configure.ac): Declare witness.
61321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61322         * modules/unistd (Depends-on): Substitute witness.
61323         * lib/unistd.in.h (getgroups): Declare replacement.
61325         getgroups: avoid calling exit
61326         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
61327         drop xalloc.
61328         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
61329         dependencies.
61330         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
61331         exiting, in the rare case of malloc failure.
61333         getgroups: fix logic error
61334         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
61335         has more than 20 groups.
61336         * modules/getgroups-tests: New test.
61337         * tests/test-getgroups.c: New file.
61339 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61341         * tests/test-base64.c: Improve.
61343 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61345         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
61346         Blake <ebb9@byu.net>.
61348 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61350         * tests/test-xvasprintf.c: Add %s%s related checks.
61352 2009-11-12  Eric Blake  <ebb9@byu.net>
61354         version-etc: match standards.texi style
61355         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
61356         and use <> only for URLs.
61358 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
61360         fts: do not fail on a submount during traversal
61361         * lib/fts.c (fts_build): Read the stat info again after opening
61362         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
61363         Original report at http://bugzilla.redhat.com/501848.
61365 2009-11-12  Jim Meyering  <meyering@redhat.com>
61367         bootstrap: sync from coreutils
61368         * build-aux/bootstrap (bootstrap_epilogue): New function.
61369         Use git_modules_config in one more place.  This make bootstrap's
61370         --gnulib-srcdir option more useful for testing.
61372         bootstrap: generalize autoheader check
61373         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
61374         AC_CONFIG_HEADERS.
61376 2009-11-11  Eric Blake  <ebb9@byu.net>
61378         mkfifoat: use new modules for Solaris and BSD bugs
61379         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
61380         * lib/mkfifoat.c (mknodat): Split...
61381         * lib/mknodat.c (mknodat): ...into new file.
61382         * modules/mkfifoat (Files): Ship new file.
61383         (Depends-on): Add mkfifo, mknod.
61384         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
61385         (Depends-on): Add symlink.
61386         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
61387         redundant with test_mkfifo.h.
61388         (do_mkfifoat, do_mknodat): New helpers.
61390         mknod: new module
61391         * modules/mknod: New file.
61392         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
61393         * lib/mknod.c (mknod): Likewise.
61394         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61395         defaults.
61396         * modules/sys_stat (Makefile.am): Substitute them.
61397         * lib/sys_stat.in.h (mknod): Declare replacement.
61398         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61399         Document it.
61400         * doc/posix-functions/mknod.texi (mknod): Likewise.
61401         * modules/mknod-tests: New test.
61402         * tests/test-mknod.c: Likewise.
61404         mkfifo: new module
61405         * modules/mkfifo: New file.
61406         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
61407         * lib/mkfifo.c (mkfifo): Likewise.
61408         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61409         defaults.
61410         * modules/sys_stat (Makefile.am): Substitute them.
61411         * lib/sys_stat.in.h (mkfifo): Declare replacement.
61412         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61413         Document it.
61414         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
61415         * modules/mkfifo-tests: New test.
61416         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
61417         from test-mkfifoat.c.
61418         * tests/test-mkfifo.c: New file.
61420         readlink: detect FreeBSD bug
61421         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
61422         slash on symlink.
61423         * doc/posix-functions/readlink.texi (readlink): Document the bug.
61424         * tests/test-readlink.h (test_readlink): Enhance test.
61426         symlink: detect FreeBSD bug
61427         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
61428         slash on symlink.
61429         * doc/posix-functions/symlink.texi (symlink): Document the bug.
61430         * tests/test-symlink.h (test_symlink): Enhance test.
61432 2009-11-10  Eric Blake  <ebb9@byu.net>
61434         link: detect FreeBSD bug
61435         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
61436         symlink.
61437         * doc/posix-functions/link.texi (link): Document the bug.
61438         * tests/test-link.h (test_link): Enhance test.
61439         * tests/test-linkat.c (main): Update caller.
61441         unlink, remove: detect FreeBSD bug
61442         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
61443         slash on symlink.
61444         * doc/posix-functions/unlink.texi (unlink): Document the bug.
61445         * doc/posix-functions/remove.texi (remove): Likewise.
61446         * tests/test-unlink.h (test_unlink): Enhance test.
61447         * tests/test-remove.c (main): Likewise.
61449 2009-11-09  Eric Blake  <ebb9@byu.net>
61451         rename: detect FreeBSD bug
61452         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
61453         slash on symlink.
61454         * modules/renameat-tests (Depends-on): Add filenamecat.
61455         * tests/test-rename.h (test_rename): Allow one more errno.
61456         * tests/test-renameat.c (main): Likewise.
61457         * doc/posix-functions/rename.texi (rename): Document the bug.
61459         open: detect FreeBSD bug
61460         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
61461         symlink.
61462         * doc/posix-functions/open.texi (open): Document the bug.
61463         * doc/posix-functions/utimes.texi (utimes): Likewise.
61464         * tests/test-open.h (test_open): Add parameters, and test symlink
61465         handling.
61466         * tests/test-open.c (main): Adjust caller.
61467         * tests/test-fcntl-safer.c (main): Likewise.
61468         * modules/open-tests (Depends-on): Add stdbool, symlink.
61469         * modules/fcntl-safer-tests (Depends-on): Likewise.
61470         * tests/test-openat.c (main): Add test-open tests.
61472         stat: detect FreeBSD bug
61473         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
61474         symlink.
61475         * doc/posix-functions/stat.texi (stat): Document the bug.
61476         * tests/test-stat.h (test_stat_func): Add argument.
61477         * tests/test-stat.c (main): Adjust caller.
61478         * tests/test-fstatat.c (main): Likewise.
61479         * modules/stat-tests (Depends-on): Add stdbool, symlink.
61480         Reported by Jim Meyering.
61482 2009-11-09  James Youngman  <jay@gnu.org>
61484         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
61485         * lib/strftime.c: Correct placement of #include "ignore-value.h".
61487 2009-11-08  Jim Meyering  <meyering@redhat.com>
61489         utimens: remove invalid futimesat call
61490         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
61491         It used the file descriptor of the target file as the DIR_FD
61492         parameter and NULL as the file name.  That caused failure with
61493         errno == EFAULT on FreeBSD-8.0-rc2
61495 2009-11-07  Eric Blake  <ebb9@byu.net>
61497         fflush, freadseek: use fseeko, not fseek
61498         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
61499         (clear_ungetc_buffer): Avoid potential problems on large files.
61500         * lib/freadseek.c (freadseek): Likewise.
61501         * modules/freadseek (Depends-on): Add fseeko.
61502         * modules/fseek (configure.ac): Set a witness.
61503         * tests/test-fflush.c (main): Use fseeko.
61504         * tests/test-fpurge.c (fseek): Disable link warning.
61505         * tests/test-freadable.c (fseek): Likewise.
61506         * tests/test-freading.c (fseek): Likewise.
61507         * tests/test-fseeko.c (fseek): Likewise.
61508         * tests/test-ftell.c (fseek): Likewise.
61509         * tests/test-ftello.c (fseek): Likewise.
61510         * tests/test-fwritable.c (fseek): Likewise.
61511         * tests/test-fwriting.c (fseek): Likewise.
61513 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61515         * modules/memchr (Depends-on): Drop getpagesize dependency.
61517 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61519         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
61520         Reported by Ludovic Courtès.
61521         * build-aux/pmccabe2html: Improve example usage.
61522         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
61524 2009-11-06  Jim Meyering  <meyering@redhat.com>
61526         do-release-commit-and-tag: New module.
61527         Automate the release-commit and tag process.
61528         * build-aux/do-release-commit-and-tag: New script, from coreutils.
61529         * modules/do-release-commit-and-tag: New file.
61530         * MODULES.html.sh (Support for maintaining and releasing): Add it.
61532 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61534         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
61535         because test-select.c uses inet_pton.
61537 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61539         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
61540         GETADDRINFO_LIB.  Bump serial number.
61541         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
61542         Suggested by Eric Blake <ebb9@byu.net>.
61544 2009-11-05  Eric Blake  <ebb9@byu.net>
61546         strtod: detect darwin bug
61547         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
61548         Reported by Leo Davis.
61550         freopen-safer: new module
61551         * modules/freopen-safer: New module.
61552         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
61553         * lib/freopen-safer.c (freopen_safer): New file.
61554         * lib/stdio-safer.h (freopen_safer): New declaration.
61555         * lib/stdio--.h (freopen): New override.
61556         * MODULES.html.sh (File stream based Input/Output): Mention it.
61557         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
61558         freopen-safer module.
61559         * doc/posix-functions/stderr.texi (stderr): Likewise.
61560         * doc/posix-functions/stdin.texi (stdin): Likewise.
61561         * doc/posix-functions/stdout.texi (stdout): Likewise.
61562         * modules/freopen-safer-tests: New test.
61563         * tests/test-reopen-safer.c: New file.
61565 2009-11-05  Jim Meyering  <meyering@redhat.com>
61567         maint.mk: Prohibit inclusion of "close-stream.h" without use.
61568         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61570 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61572         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
61574 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61576         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
61578 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61580         Fix link error.
61581         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61582         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61584 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61586         * tests/test-func.c: Also test value of __func__.
61588 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61590         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
61591         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
61593 2009-11-05  Bruno Haible  <bruno@clisp.org>
61595         Fix link error.
61596         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61597         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61598         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
61600 2009-11-05  Bruno Haible  <bruno@clisp.org>
61602         Tests for module 'inet_pton'.
61603         * modules/inet_pton-tests: New file.
61604         * tests/test-inet_pton.c: New file.
61606 2009-11-05  Bruno Haible  <bruno@clisp.org>
61608         Tests for module 'inet_ntop'.
61609         * modules/inet_ntop-tests: New file.
61610         * tests/test-inet_ntop.c: New file.
61612 2009-11-04  Eric Blake  <ebb9@byu.net>
61614         stdlib-safer: wrap all mkstemp variants
61615         * modules/mkostemp (configure.ac): Set witness.
61616         * modules/mkostemps (configure.ac): Likewise.
61617         * modules/mkstemps (configure.ac): Likewise.
61618         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
61619         (mkstemps_safer): Wrap more functions.
61620         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
61621         wrapping.
61622         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
61623         (mkstemps_safer): Implement the wrappers.
61625         mkstemps, mkostemps: new modules
61626         * modules/mkostemps: New module.
61627         * modules/mkstemps: Likewise.
61628         * lib/mkostemps.c (mkostemps): New file.
61629         * lib/mkstemps.c (mkstemps): Likewise.
61630         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
61631         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
61632         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
61633         * modules/stdlib (Makefile.am): Substitute them.
61634         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
61635         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
61636         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
61637         * doc/gnulib.texi (Glibc stdlib.h): Include them.
61638         * MODULES.html.sh (File system functions): Mention them.
61640         tempname: resync from glibc
61641         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
61642         same values for __GT_FILE as glibc.  Abort even when assertions
61643         are disabled.
61644         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
61645         match its value otherwise.  Allow idempotent inclusion.
61646         * lib/mkdtemp.c (mkdtemp): Adjust caller.
61647         * lib/mkostemp.c (mkostemp): Likewise.
61648         * lib/mkstemp.c (mkstemp): Likewise.
61649         * lib/tmpfile.c (tmpfile): Likewise.
61650         * NEWS: Document this.
61652         utimens: fix use of futimens on older Linux
61653         * lib/utimens.c (fdutimens): Use updated, rather than original,
61654         timespec to avoid bug in older Linux kernel.
61655         Reported by Simon Josefsson.
61657 2009-11-04  Bruno Haible  <bruno@clisp.org>
61659         Make num_processors more flexible and consistent.
61660         * lib/nproc.h (enum nproc_query): New type.
61661         (num_processors): Add a 'query' argument.
61662         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
61663         (num_processors): Add a 'query' argument. Test the value of the
61664         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
61665         mingw, count the number of CPUs available for the current process.
61666         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
61667         Check for sched_getaffinity and sched_getaffinity_np.
61668         * modules/nproc (Depends-on): Add c-ctype, extensions.
61669         * NEWS: Mention the change.
61671 2009-11-03  Bruno Haible  <bruno@clisp.org>
61673         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
61675 2009-11-03  Jim Meyering  <meyering@redhat.com>
61677         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
61678         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
61679         if it is defined.
61681 2009-11-02  Eric Blake  <ebb9@byu.net>
61683         mktime, timegm: share common declaration
61684         * lib/mktime-internal.h: New file.
61685         * lib/mktime.c: Use it rather than open-coding a declaration.
61686         * lib/timegm.c: Likewise.
61687         * modules/mktime (Files): Ship it.
61688         * modules/timegm (Files): Likewise.
61689         Suggested by Bruno Haible.
61691         test-update-copyright: update test to match script changes
61692         * tests/test-update-copyright.sh: Avoid hard-coding perl
61693         location.  Don't update *.bak created by earlier runs.
61695 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
61696             Simon Josefsson  <simon@josefsson.org>
61697             Bruno Haible  <bruno@clisp.org>
61699         Fix link error on Solaris 8.
61700         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
61701         also in libnsl. Define also INET_PTON_LIB.
61702         * modules/inet_pton (Link): New section.
61704 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61705             Bruno Haible  <bruno@clisp.org>
61707         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
61708         * modules/inet_ntop (Link): New section.
61709         Reported by Boyan Kasarov <bkasarov@gmail.com>.
61711 2009-11-02  Eric Blake  <ebb9@byu.net>
61713         maint: avoid compiler warnings in m4 macros
61714         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
61715         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
61717 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61719         * m4/pmccabe2html.m4: Remove file.
61720         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
61721         function.  Change maintainer.
61722         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
61723         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
61724         Courtès).
61726 2009-10-31  Eric Blake  <ebb9@byu.net>
61728         fseeko: fix m4 regression
61729         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
61730         regression from 2009-10-27.
61731         Reported by Ralf Wildenhues.
61733 2009-10-31  Jim Meyering  <meyering@redhat.com>
61735         inttostr: aesthetics and improved (compile-time) safety
61736         Define inttype_is_signed rather than inttype_is_unsigned,
61737         since the sole use is via "#if inttype_is_signed".
61738         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
61739         inttype_is_unsigned.
61740         * lib/offtostr.c (inttype_is_signed): Likewise.
61741         * lib/uinttostr.c (inttype_is_signed): Likewise.
61742         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61743         * lib/inttostr.c (inttostr): Use verify to cross-check the
61744         inttype_is_signed value and the signedness of the actual type.
61745         * modules/inttostr (Depends-on): Add verify.
61747 2009-10-30  Eric Blake  <ebb9@byu.net>
61749         build: avoid compiler warnings
61750         * lib/fchmodat.c (lchmod): Mark unused variables.
61751         * lib/getopt.c (_getopt_initialize): Likewise.
61752         * lib/mktime.c (__mktime_internal): Provide prototype.
61753         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61754         older gcc that do not understand #pragma GCC diagnostic.
61755         * lib/uinttostr.c (inttype_is_unsigned): Define.
61756         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61758 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61760         stat: fix compilation on AIX
61761         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61762         only see struct stat64.
61764 2009-10-30  Eric Blake  <ebb9@byu.net>
61766         exclude: make more robust
61767         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61768         rather than masking a coding bug.
61769         Suggested by Bruno Haible.
61771 2009-10-30  Jim Meyering  <meyering@redhat.com>
61773         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61774         Rather than putting #!/usr/bin/perl on the first line,
61775         start with a variant of what's recommended by "man perlrun" that
61776         invokes the first "perl" program from your shell's search path.
61777         * build-aux/gitlog-to-changelog: Replace #!... as above.
61778         Add a "Local Variables" perl mode setting.
61779         Prompted by a patch from Ludovic Courtès.
61780         Improved by Eric Blake.
61781         * build-aux/useless-if-before-free: Likewise.
61782         * build-aux/announce-gen: Likewise.
61783         * build-aux/update-copyright: Likewise.
61785 2009-10-29  Eric Blake  <ebb9@byu.net>
61787         filenamecat-lgpl: adjust clients
61788         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61789         filenamecat.
61790         * modules/renameat (Depends-on): Likewise.
61792         filenamecat: split into filenamecat-lgpl
61793         * modules/filenamecat-lgpl: New module.
61794         * modules/filenamecat (Files): Move library-safe files into
61795         filenamecat-lgpl.
61796         (Depends-on): Add filenamecat-lgpl.
61797         (configure.ac): Declare witness.
61798         * lib/filenamecat.h (file_name_concat): Only declare when using
61799         GPL module.
61800         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61801         Move...
61802         * lib/filenamecat-lgpl.c: ...into new file.
61803         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61804         (gl_FILE_NAME_CONCAT): Use it.
61805         * MODULES.html.sh (File system functions): Mention new module.
61807         argp: avoid memory leak
61808         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61809         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61810         base_name, since the latter malloc()s and can call exit().
61811         Leak introduced 2006-07-03.
61813         dirname-lgpl: adjust clients that don't need full dirname
61814         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61815         * modules/filenamecat (Depends-on): Likewise.
61816         * modules/linkat (Depends-on): Likewise.
61817         * modules/mkancesdirs (Depends-on): Likewise.
61818         * modules/mkdir (Depends-on): Likewise.
61819         * modules/openat (Depends-on): Likewise.
61820         * modules/savewd (Depends-on): Likewise.
61821         * modules/rename (Depends-on): Likewise.
61822         (License): Relax license.
61823         * modules/mkdir-tests (Depends-on): Drop progname.
61824         (Makefile.am): Delete unneeded LDADD.
61825         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61827         dirname: split into dirname-lgpl
61828         * modules/dirname-lgpl: New module.
61829         * modules/dirname (Files): Move library-safe files into
61830         dirname-lgpl.
61831         (Depends-on): Add dirname-lgpl.
61832         (configure.ac): Declare witness.
61833         * modules/double-slash-root (License): Relax license.
61834         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61835         module.
61836         * lib/dirname.c (dir_len, mdir_name): Move...
61837         * lib/dirname-lgpl.c: ...into new file.
61838         * lib/basename.c (last_component, base_len): Move...
61839         * lib/basename-lgpl.c: ...into new file.
61840         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61841         (gl_DIRNAME): Use it.
61842         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61843         Mention new module.
61844         * modules/dirname-tests (Depends-on): Add progname.
61845         * tests/test-dirname.c (program_name): Delete.
61847         mkdir: make safe for libraries
61848         * modules/mkdir (Depends-on): Drop xalloc.
61849         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61850         exit.
61852         tests: avoid some compiler warnings
61853         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61854         literals.
61855         * tests/test-memchr.c (main): Avoid type mismatch.
61856         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61857         * tests/test-base64.c (main): Likewise.
61858         * tests/test-getdelim.c (main): Likewise.
61859         * tests/test-gethostname.c (main): Likewise.
61860         * tests/test-getline.c (main): Likewise.
61861         * tests/test-netinet_in.c (main): Likewise.
61862         * tests/test-select.c (open_server_socket, main): Likewise.
61863         * tests/test-select-stdin.c (main): Likewise.
61864         * tests/test-sockets.c (main): Likewise.
61865         * tests/test-strsignal.c (main): Likewise.
61866         * tests/test-sys_select.c (main): Likewise.
61867         * tests/test-sys_socket.c (main): Likewise.
61868         * tests/test-u64.c (main): Likewise.
61869         * tests/test-xfprintf-posix.c (main): Likewise.
61870         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61872         sockets: avoid compiler warning
61873         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61875         maint: detect usage(1) and other suspicious exits
61876         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61878 2009-10-29  Jim Meyering  <meyering@redhat.com>
61880         timespec: long-to-int truncation could make timespec_cmp malfunction
61881         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61882         a multiple of 2^32 nanoseconds as no difference.
61884 2009-10-28  Jim Meyering  <meyering@redhat.com>
61886         fprintftime: wrap macro code argument in "do {...} while(0)"
61887         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61888         cpy macro must be a statement that can be followed by a semicolon.
61889         Now that the else clause contains a comment and is hence longer
61890         than one line, I require curly braces.  That in turn requires
61891         that we wrap this code block in the standard do...while(0).
61893         fprintftime: remove stray semicolon from previous change
61894         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61896         fprintftime: avoid a warning about ignored fwrite return value
61897         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61898         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61899         that is unsafe.
61900         * modules/fprintftime (Depends-on): Add ignore-value.
61902         exclude: avoid an unwarranted warning
61903         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61905 2009-10-27  Eric Blake  <ebb9@byu.net>
61907         fseek: avoid compilation failure when fflush is replaced
61908         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61909         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61910         module is in use.
61911         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61912         module is not in use; since REPLACE_FSEEK worked otherwise.
61913         (GNULIB_FTELLO): Likewise for ftell.
61914         Reported by Ian Beckwith and others.
61916 2009-10-27  Bruno Haible  <bruno@clisp.org>
61918         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61919         Reported by Jim Meyering.
61921 2009-10-27  Jim Meyering  <jim@meyering.net>
61922             Bruno Haible  <bruno@clisp.org>
61924         Avoid warning despite dropping the return value of fwrite.
61925         * lib/unicodeio.c: Include ignore-value.h.
61926         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61927         * modules/unicodeio (Depends-on): Add ignore-value.
61929 2009-10-26  Eric Blake  <ebb9@byu.net>
61931         areadlinkat: fix fallback path
61932         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61933         pointer and zero.
61935 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61937         Use a better IO block size for modern systems
61938         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61939         * lib/md2.c: Likewise.
61940         * lib/md4.c: Likewise.
61941         * lib/md5.c: Likewise.
61942         * lib/sha1.c: Likewise.
61943         * lib/sha256.c: Likewise.
61944         * lib/sha512.c: Likewise.
61946 2009-10-22  Eric Blake  <ebb9@byu.net>
61948         tests: avoid several compiler warnings
61949         * tests/test-getcwd.c (main): Avoid buffer underflow.
61950         * tests/test-getdate.c (main): String literals are not safe with
61951         putenv, so use setenv.  Declare unused argument.
61952         * modules/getdate-tests (Depends-on): Add setenv.
61953         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61954         problems with string literals in char *.
61955         * tests/test-hash.c (main): Avoid shadowing declaration.
61956         (insert_new): Treat string literals as char const *.
61957         * tests/test-getopt.h (test_getopt): Likewise.
61958         (getopt_loop): Alter types to minimize casting elsewhere.
61959         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61960         (test_getopt_long_posix): Likewise.
61961         (do_getopt_long): Add wrapper to minimize casting.
61962         * tests/test-atexit.c (clear_temp_file): Use void.
61963         * tests/test-areadlink-with-size.c (main): Declare unused
61964         arguments.
61965         * tests/test-areadlink.c (main): Likewise.
61966         * tests/test-areadlinkat-with-size.c (main): Likewise.
61967         * tests/test-areadlinkat.c (main): Likewise.
61968         * tests/test-canonicalize-lgpl.c (main): Likewise.
61969         * tests/test-canonicalize.c (main): Likewise.
61970         * tests/test-dirent-safer.c (main): Likewise.
61971         * tests/test-dirname.c (main): Likewise.
61972         * tests/test-dup2.c (main): Likewise.
61973         * tests/test-fchdir.c (main): Likewise.
61974         * tests/test-fcntl-h.c (main): Likewise.
61975         * tests/test-fcntl-safer.c (main): Likewise.
61976         * tests/test-fdopendir.c (main): Likewise.
61977         * tests/test-fdutimensat.c (main): Likewise.
61978         * tests/test-fflush.c (main): Likewise.
61979         * tests/test-filenamecat.c (main): Likewise.
61980         * tests/test-filevercmp.c (main): Likewise.
61981         * tests/test-fopen-safer.c (main): Likewise.
61982         * tests/test-fopen.c (main): Likewise.
61983         * tests/test-fpending.c (main): Likewise.
61984         * tests/test-fpurge.c (main): Likewise.
61985         * tests/test-freading.c (main): Likewise.
61986         * tests/test-fstatat.c (main): Likewise.
61987         * tests/test-fsync.c (main): Likewise.
61988         * tests/test-futimens.c (main): Likewise.
61989         * tests/test-getndelim2.c (main): Likewise.
61990         * tests/test-gettimeofday.c (main): Likewise.
61991         * tests/test-getopt.c (main): Likewise.
61992         * tests/test-i-ring.c (main): Likewise.
61993         * tests/test-inttypes.c (main): Likewise.
61994         * tests/test-link.c (main): Likewise.
61995         * tests/test-lstat.c (main): Likewise.
61996         * tests/test-math.c (main): Likewise.
61997         * tests/test-md5.c (main): Likewise.
61998         * tests/test-memchr2.c (main): Likewise.
61999         * tests/test-memrchr.c (main): Likewise.
62000         * tests/test-mkdir.c (main): Likewise.
62001         * tests/test-mkdirat.c (main): Likewise.
62002         * tests/test-mkfifoat.c (main): Likewise.
62003         * tests/test-open.c (main): Likewise.
62004         * tests/test-openat-safer.c (main): Likewise.
62005         * tests/test-openat.c (main): Likewise.
62006         * tests/test-quotearg.c (main): Likewise.
62007         * tests/test-rawmemchr.c (main): Likewise.
62008         * tests/test-readlink.c (main): Likewise.
62009         * tests/test-remove.c (main): Likewise.
62010         * tests/test-rename.c (main): Likewise.
62011         * tests/test-renameat.c (main): Likewise.
62012         * tests/test-rmdir.c (main): Likewise.
62013         * tests/test-sha1.c (main): Likewise.
62014         * tests/test-signal.c (main): Likewise.
62015         * tests/test-sigaction.c (main): Likewise.
62016         * tests/test-stat.c (main): Likewise.
62017         * tests/test-stat-time.c (main): Likewise.
62018         * tests/test-stddef.c (main): Likewise.
62019         * tests/test-stdint.c (main): Likewise.
62020         * tests/test-stdio.c (main): Likewise.
62021         * tests/test-stdlib.c (main): Likewise.
62022         * tests/test-strchrnul.c (main): Likewise.
62023         * tests/test-strerror.c (main): Likewise.
62024         * tests/test-string.c (main): Likewise.
62025         * tests/test-strtod.c (main): Likewise.
62026         * tests/test-strverscmp.c (main): Likewise.
62027         * tests/test-symlink.c (main): Likewise.
62028         * tests/test-symlinkat.c (main): Likewise.
62029         * tests/test-sys_stat.c (main): Likewise.
62030         * tests/test-sys_time.c (main): Likewise.
62031         * tests/test-time.c (main): Likewise.
62032         * tests/test-unistd.c (main): Likewise.
62033         * tests/test-unlink.c (main): Likewise.
62034         * tests/test-unlinkat.c (main): Likewise.
62035         * tests/test-utimens.c (main): Likewise.
62036         * tests/test-utimensat.c (main): Likewise.
62037         * tests/test-version-etc.c (main): Likewise.
62038         * tests/test-wchar.c (main): Likewise.
62039         * tests/test-wctype.c (main): Likewise.
62040         * tests/test-xprintf-posix.c (main): Likewise.
62041         * tests/test-posixtm.c (main): Likewise.
62042         (STREQ): Delete unused macro.
62043         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
62044         shadowed variables.
62045         * tests/test-memchr.c (main): Likewise.
62047 2009-10-21  Eric Blake  <ebb9@byu.net>
62049         areadlinkat: avoid failure on older glibc
62050         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
62051         rather than mis-comparing 0 against FUNC_RESULT of char*.
62053 2009-10-21  Bruno Haible  <bruno@clisp.org>
62055         * modules/stpncpy (License): Relicense under LGPLv2+.
62056         Reported by David Lutterkort <lutter@redhat.com>.
62058 2009-10-20  Eric Blake  <ebb9@byu.net>
62060         utimensat: work around Solaris 9 bug
62061         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
62062         has trailing slash bugs.
62063         * tests/test-lutimens.h (test_lutimens): Enhance test.
62064         * tests/test-utimens.h (test_utimens): Likewise.
62065         * doc/posix-functions/utime.texi (utime): Enhance documentation.
62066         * doc/posix-functions/utimes.texi (utimes): Likewise.
62067         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62068         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
62069         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
62070         * doc/posix-functions/futimens.texi (futimens): Likewise.
62072         fdutimensat: new module
62073         * modules/fdutimensat: New file.
62074         * lib/fdutimensat.c (fdutimensat): Likewise.
62075         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
62076         * MODULES.html.sh (File system functions): Mention module.
62077         * modules/fdutimensat-tests: New test.
62078         * tests/test-fdutimensat.c: Likewise.
62080         doc: regenerate INSTALL
62081         * doc/INSTALL: Reflect recent autoconf update.
62082         * doc/INSTALL.ISO: Likewise.
62083         * doc/INSTALL.UTF-8: Likewise.
62085 2009-10-20  Pádraig Brady  <P@draigBrady.com>
62087         acl: warn if ACL support is not detected
62088         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
62090 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
62092         * lib/nproc.h: Add extern "C" block for C++.
62094 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
62095             Bruno Haible  <bruno@clisp.org>
62097         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
62098         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
62099         * doc/posix-functions/isalpha.texi: Likewise.
62100         * doc/posix-functions/isblank.texi: Likewise.
62101         * doc/posix-functions/iscntrl.texi: Likewise.
62102         * doc/posix-functions/isdigit.texi: Likewise.
62103         * doc/posix-functions/isgraph.texi: Likewise.
62104         * doc/posix-functions/islower.texi: Likewise.
62105         * doc/posix-functions/isprint.texi: Likewise.
62106         * doc/posix-functions/ispunct.texi: Likewise.
62107         * doc/posix-functions/isspace.texi: Likewise.
62108         * doc/posix-functions/isupper.texi: Likewise.
62109         * doc/posix-functions/isxdigit.texi: Likewise.
62111 2009-10-18  Bruno Haible  <bruno@clisp.org>
62113         Tests for module 'isblank'.
62114         * modules/isblank-tests: New file.
62115         * tests/test-isblank.c: New file.
62117         New module 'isblank'.
62118         * lib/isblank.c: New file.
62119         * m4/isblank.m4: New file.
62120         * modules/isblank: New file.
62121         * doc/posix-functions/isblank.texi: Mention the new module.
62123 2009-10-18  Bruno Haible  <bruno@clisp.org>
62125         New module 'ctype'.
62126         * lib/ctype.in.h: New file.
62127         * m4/ctype.m4: New file.
62128         * modules/ctype: New file.
62129         * doc/posix-headers/ctype.texi: Mention the new module.
62131 2009-10-18  Jim Meyering  <meyering@redhat.com>
62133         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
62134         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
62135         right after its initialization, rather than farther down.
62136         Keeping these in close proximity makes it easier to ensure
62137         that each such variable is initialized.  E.g.,
62139             LIB_CLOCK_GETTIME=
62140             AC_SUBST([LIB_CLOCK_GETTIME])
62142         This change also increments these serial numbers.
62143         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
62144         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62145         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62147 2009-10-18  Bruno Haible  <bruno@clisp.org>
62149         Don't let environment variables perturb build.
62150         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
62151         (gl_PREREQ_GETHRXTIME): ... not here.
62153 2009-10-18  Bruno Haible  <bruno@clisp.org>
62155         Avoid symlink attack in localcharset module.
62156         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
62157         (O_NOFOLLOW): Define fallback.
62158         (get_charset_aliases): Don't open the file if it is a symbolic link.
62159         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
62160         gl_FCNTL_H.
62161         (gl_FCNTL_H): Require it.
62162         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
62163         * modules/localcharset (Files): Add m4/fcntl_h.m4.
62164         Reported by Fergal Glynn <fglynn@veracode.com>.
62166 2009-10-18  Bruno Haible  <bruno@clisp.org>
62168         Implement nproc for mingw.
62169         * lib/nproc.c: Include <windows.h>
62170         (num_processors): On native Windows platforms, try GetSystemInfo.
62172 2009-10-18  Bruno Haible  <bruno@clisp.org>
62174         Implement nproc for IRIX.
62175         * lib/nproc.c: Include <sys/sysmp.h>.
62176         (num_processors): On IRIX systems, try sysmp.
62177         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
62179 2009-10-18  Bruno Haible  <bruno@clisp.org>
62181         Implement nproc for HP-UX.
62182         * lib/nproc.c: Include <sys/pstat.h>
62183         (num_processors): On HP-UX systems, try pstat_getdynamic.
62184         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
62185         pstat_getdynamic.
62187 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
62188             Bruno Haible  <bruno@clisp.org>
62190         Implement nproc for NetBSD, OpenBSD.
62191         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
62192         (ARRAY_SIZE): New macro.
62193         (num_processors): On BSD systems, try sysctl of HW_NCPU.
62194         * m4/nproc.m4: New file.
62195         * modules/nproc (Files): Add m4/nproc.m4.
62196         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
62197         (Makefile.am): Instead, augment lib_SOURCES.
62199 2009-10-18  Bruno Haible  <bruno@clisp.org>
62201         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
62202         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
62203         sys/param.h.
62205 2009-10-16  Eric Blake  <ebb9@byu.net>
62207         utimensat: new module
62208         * modules/utimensat: New file.
62209         * lib/utimensat.c (utimensat): Likewise.
62210         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62211         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
62212         so we can work around Linux bugs.
62213         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62214         * modules/sys_stat (Makefile.am): Substitute them.
62215         * lib/sys_stat.in.h (utimensat): Declare it.
62216         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62217         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62218         * modules/utimensat-tests: New test.
62219         * tests/test-utimensat.c: Likewise.
62221         utimens: let lutimens work on non-symlinks
62222         * lib/utimens.c (lutimens): Fall back to utimens rather than
62223         failing with ENOSYS, when file is not a symlink.
62224         (utimens): Reduce redirection.
62225         * tests/test-lutimens.h (test_lutimens): Update test to cover
62226         non-symlinks.
62227         * tests/test-utimens.h (test_utimens): Update test to cover
62228         symlinks.
62229         * tests/test-utimens.c (main): Update caller.
62231         utimens: cache whether utimensat syscall works
62232         * lib/utimens.c (utimensat_works_really): New cache variable.
62233         (fdutimens, lutimens): Use it to avoid failing syscall.
62235         test-stat-time, test-utimens: improve portability
62236         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
62237         ext4 on alpha, and for cygwin.
62238         * tests/test-utimens-common.h: New file.
62239         (nap): Factor delays into single function.
62240         * tests/test-lutimens.h (test_lutimens): Use new header.
62241         * tests/test-futimens.h (test_futimens): Likewise.
62242         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
62243         timestamps to occur from same machine, as was done previously for
62244         test_utimens.
62245         * modules/utimens-tests (Files): Ship new file.
62246         * modules/futimens-tests (Files): Likewise.
62247         Reported in part by Jim Meyering.
62249         sys_stat: sort replacement declarations
62250         * lib/sys_stat.in.h: Sort declarations.
62251         * lib/futimens.c (futimens): Fix typo.
62253 2009-10-15  Jim Meyering  <meyering@redhat.com>
62255         don't let environment settings perturb build
62256         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
62257         could cause a configure-time and/or build-time malfunction.
62258         Typically, a configure-time function-in-library test is performed
62259         via code like this:
62261           LIB_VAR=
62262           AC_SUBST([LIB_VAR])
62263           prefix_saved_LIBS=$LIBS
62264             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
62265                        [test "$ac_cv_search_FUNC" = "none required" ||
62266                         LIB_VAR=$ac_cv_search_FUNC])
62267           LIBS=$prefix_saved_LIBS
62269         However, in each of the files affected by this change, the LIB_VAR=
62270         initialization was omitted.  Thus, when set in the environment, its
62271         value would propagate into generated Makefiles when FUNC is not found
62272         in LIB_NAME.
62273         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
62274         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62277 2009-10-14  Eric Blake  <ebb9@byu.net>
62279         fchdir: avoid infinite recursion in mingw
62280         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
62281         recursing.
62283         test-stat-time: port to mingw
62284         * tests/test-stat-time.c (force_unlink): Return a value.
62285         (test_ctime) [W32]: Fix compilation error.
62286         (nap): Don't call usleep with too large an argument.  Use
62287         force_unlink.
62288         * doc/pastposix-functions/usleep.texi (usleep): Document the
62289         portability issue.
62291 2009-10-13  Jim Meyering  <meyering@redhat.com>
62293         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
62294         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
62295         * modules/pipe-filter-ii: Likewise.
62296         * modules/sys_socket-tests: Likewise.
62297         * modules/tsearch-tests: Likewise.
62298         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
62299         (check): Depend on it.
62301 2009-10-12  Eric Blake  <ebb9@byu.net>
62303         utimens-tests: port to NFS file systems
62304         * tests/test-utimens.h (test_utimens): Refactor utimecmp
62305         comparisons to avoid spurious failures from timestamp drift
62306         between NFS machines.
62308 2009-10-12  Eric Blake  <ebb9@byu.net>
62310         stat-time-tests: minor cleanups
62311         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
62312         * tests/test-stat-time.c (nap): Separate assignment from call.
62313         Suggested by Paolo Bonzini and Bruno Haible.
62315         sys_stat: guarantee struct timespec
62316         * lib/sys_stat.in.h (includes): Always include <time.h>
62317         * modules/sys_stat (Depends-on): Add time.
62318         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
62319         mode_t permission values.
62320         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
62321         get at subsecond timestamps.
62323 2009-10-10  Eric Blake  <ebb9@byu.net>
62325         futimens: new module
62326         * modules/futimens: New file.
62327         * lib/futimens.c (futimens): Likewise.
62328         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
62329         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
62330         we can work around Linux bugs.
62331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62332         * modules/sys_stat (Makefile.am): Substitute them.
62333         * lib/sys_stat.in.h (futimens): Declare it.
62334         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62335         * doc/posix-functions/futimens.texi (futimens): Likewise.
62336         * modules/futimens-tests: New test.
62337         * tests/test-futimens.c: Likewise.
62339         utimens: introduce fdutimens
62340         * lib/utimens.h (fdutimens): New prototype.
62341         * lib/utimens.c (gl_futimens): Move guts...
62342         (fdutimens): ...to new interface.
62343         * tests/test-utimens.c (do_fdutimens): Use it.
62345         utimens: add UTIME_NOW and UTIME_OMIT support
62346         * lib/utimens.c (validate_timespec, update_timespec): New helper
62347         functions.
62348         (gl_futimens, lutimens): Use them.
62349         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
62350         stdbool, sys_stat.
62351         (Link): Mention resulting library dependency.
62352         * modules/utimecmp (Link): Likewise.
62353         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
62354         (Makefile.am): Pick up library dependency.
62355         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
62356         definition.
62357         * tests/test-sys_stat.c: Test the definitions.
62358         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
62359         * NEWS: Document library dependency.
62361         utimecmp: support symlink timestamps
62362         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
62363         hashing when possible.  Use pathconf when available.
62364         (SYSCALL_RESOLUTION): Recognize tighter resolution.
62365         * modules/utimecmp (Depends-on): Add lstat.
62367         utimens: add lutimens interface
62368         * lib/utimens.c (lutimens): New function.
62369         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
62370         * lib/utimens.h (lutimens): Declare new interface.
62371         * tests/test-utimens.c (main): Enhance test.
62372         * tests/test-lutimens.h (test_lutimens): New file.
62373         * modules/utimens-tests (Files): Distribute it.
62374         (Depends-on): Add symlink.
62375         (configure.ac): Check for usleep.
62377         utimens: validate futimens usage
62378         * lib/utimens.c (gl_futimens): Require valid fd up front, using
62379         fewer syscalls on failure later on.  Avoid compiler warning on
62380         mingw.
62381         * modules/utimens (Depends-on): Add dup2.
62383         utimens: add test
62384         * modules/utimens-tests: New test.
62385         * tests/test-utimens.h: New file.
62386         * tests/test-futimens.h: Likewise.
62387         * tests/test-utimens.c: Likewise.
62389         doc: mention timestamp portability issues
62390         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
62391         instead.
62392         * doc/posix-functions/utime.texi (utime): Likewise.
62393         * doc/posix-functions/utimes.texi (utimes): Likewise.
62394         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
62395         instead.
62396         * doc/posix-functions/futimens.texi (futimens): Mention utimens
62397         module.
62398         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62399         Mention weakness with symlink timestamps.
62400         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
62401         to utimensat/futimens instead.
62402         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
62404         test-dup2: enhance test
62405         * tests/test-dup2.c (main): Also check AT_FDCWD.
62407         test-stat-time: avoid more spurious failures
62408         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
62409         xfs; and avoid race if the two timestamps cross quantization edge.
62411         relocatable: prefer 'file system' over 'filesystem'
62412         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
62413         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
62414         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
62415         * doc/relocatable.texi (Enabling Relocatability): Likewise.
62416         * lib/relocatable.c (compute_curr_prefix): Likewise.
62418 2009-10-10  Jim Meyering  <meyering@redhat.com>
62420         stat-time-tests: check for the usleep function
62421         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
62423 2009-10-10  Bruno Haible  <bruno@clisp.org>
62425         * modules/xnanosleep: Put the Link section after the Include section.
62427 2009-10-09  Eric Blake  <ebb9@byu.net>
62429         dup2: work around FreeBSD 6.1 bug
62430         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
62431         * doc/posix-functions/dup2.texi (dup2): Document it.
62432         Reported by Nelson H. F. Beebe and Jim Meyering.
62434         test-stat-time: port to buggy NFS clients
62435         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
62436         (test_ctime): Also skip test if mtime and ctime are skewed.
62438         maint: prefer 'file system' over 'filesystem'
62439         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62440         * doc/posix-functions/lstat.texi (lstat): Likewise.
62441         * lib/file-has-acl.c (file_has_acl): Likewise.
62442         * lib/fwriteerror.c [TEST]: Likewise.
62443         * tests/test-areadlink.h (test_areadlink): Likewise.
62444         * tests/test-areadlinkat-with-size.c (main): Likewise.
62445         * tests/test-areadlinkat.c (main): Likewise.
62446         * tests/test-canonicalize-lgpl.c (main): Likewise.
62447         * tests/test-canonicalize.c (main): Likewise.
62448         * tests/test-fstatat.c (main): Likewise.
62449         * tests/test-linkat.c (main): Likewise.
62450         * tests/test-lstat.h (test_lstat_func): Likewise.
62451         * tests/test-mkdir.h (test_mkdir): Likewise.
62452         * tests/test-readlink.h (test_readlink): Likewise.
62453         * tests/test-remove.c (main): Likewise.
62454         * tests/test-rename.h (test_rename): Likewise.
62455         * tests/test-renameat.c (main): Likewise.
62456         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62457         * tests/test-symlink.h (test_symlink): Likewise.
62458         * tests/test-symlinkat.c (main): Likewise.
62459         * tests/test-unlink.h (test_unlink_func): Likewise.
62460         * tests/test-unlinkat.c (main): Likewise.
62462         maint: make realtime library usage explicit
62463         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
62464         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
62465         * modules/settime (Link): Likewise.
62466         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
62468         test-stat-time: speed up execution
62469         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
62470         warning on mingw.
62471         (nap): New helper function.
62472         (prepare_test): Use it to reduce sleep time.
62473         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
62474         execution.
62475         * modules/stat-time-tests (configure.ac): Check for usleep.
62477 2009-10-09  Jim Meyering  <meyering@redhat.com>
62479         selinux-h: always use getfilecon wrappers
62480         * lib/getfilecon.c: New file.
62481         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
62482         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
62483         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
62484         (fgetfilecon): Provide a stub.
62485         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
62486         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
62487         file unconditionally.
62488         When <selinux/selinux.h> is found, arrange to use wrappers.
62489         * modules/selinux-h (Files): Add getfilecon.c.
62490         (Makefile.am): Substitute include-next-related bits
62491         into the now-always-generated selinux/selinux.h file.
62492         * doc/glibc-functions/lgetfilecon.texi: New file.
62493         * doc/glibc-functions/fgetfilecon.texi: New file.
62494         * doc/glibc-functions/getfilecon.texi: New file.
62495         * doc/glibc-functions/getfilecon-desc.texi: New file.
62496         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
62497         which to pull in the new files.
62498         * MODULES.html.sh (Misc): Add selinux-h.
62500 2009-10-08  Jim Meyering  <meyering@redhat.com>
62502         unistd: fix comment typo
62503         * lib/unistd.in.h (euidaccess): Fix a comment typo.
62505 2009-10-08  Eric Blake  <ebb9@byu.net>
62507         areadlink: use SIZE_MAX consistently
62508         * modules/areadlink (Depends-on): Add stdint.
62509         * modules/areadlink-with-size (Depends-on): Likewise.
62510         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
62511         gives NULL; drop sys/types, since unistd gives size_t; and add
62512         stdint for SIZE_MAX.
62513         (SIZE_MAX): Rely on headers.
62514         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
62515         and add stdint.
62516         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
62517         (SIZE_MAX): Likewise.
62518         (INITIAL_BUF_SIZE): Turn into enum.
62519         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
62521 2009-10-08  Jim Meyering  <meyering@redhat.com>
62523         areadlinkat: avoid compilation failure
62524         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
62525         Fix typo in comment.
62527 2009-10-07  Eric Blake  <ebb9@byu.net>
62529         areadlinkat-with-size: new module
62530         * modules/areadlinkat-with-size: New module.
62531         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
62532         * lib/areadlink.h (areadlinkat): Declare it.
62533         * MODULES.html.sh (File system functions): Mention it.
62534         * modules/areadlinkat-with-size-tests: New test.
62535         * tests/test-areadlinkat-with-size.c: New file.
62537         xreadlinkat: new module
62538         * modules/xreadlinkat: New module.
62539         * lib/xreadlinkat.c (xreadlinkat): New file.
62540         * lib/xreadlink.h (xreadlinkat): Declare it.
62541         * MODULES.html.sh (File system functions): Mention it.
62543         areadlinkat: new module
62544         * lib/at-func.c (FUNC_FAIL): New define.
62545         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
62546         * modules/areadlinkat: New module.
62547         * lib/linkat.c (areadlinkat): Move...
62548         * lib/areadlinkat.c (areadlinkat): ...to new file.
62549         * lib/areadlink.h (areadlinkat): Declare it.
62550         * modules/linkat (Depends-on): Add areadlinkat.
62551         * MODULES.html.sh (File system functions): Mention it.
62552         * modules/areadlinkat-tests: New test.
62553         * tests/test-areadlinkat.c: New file.
62555         areadlink, areadlink-with-size: add tests
62556         * modules/areadlink-tests: New test.
62557         * modules/areadlink-with-size-tests: Likewise.
62558         * tests/test-areadlink.h: New file.
62559         * tests/test-areadlink.c: Likewise.
62560         * tests/test-areadlink-with-size.c: Likewise.
62562         maint: minor cleanups
62563         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
62564         _UNUSED_PARAMETER_ instead.
62565         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
62566         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
62567         * modules/linkat-tests (Files): Distribute test-link.h.
62569         openat, utimens: whitespace cleanup
62570         * lib/openat.c: Prefer space throughout, rather than mix of 8
62571         spaces vs. tabs.
62572         * lib/at-func.c: Likewise.
62573         * lib/utimens.c: Likewise.
62575         openat: avoid using wrong fd
62576         * lib/openat.c (openat_permissive): Reject user's fd if saving the
62577         working directory chooses same fd.
62578         * lib/at-func.c (AT_FUNC_NAME): Likewise.
62580         mkdir, mkdirat: fix cygwin 1.5.x bug
62581         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
62582         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
62583         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
62584         bug.
62585         (gl_PREREQ_MKDIR): Delete unused macro.
62586         * modules/mkdir (Files): Track file rename.
62587         (configure.ac): Update macro name.
62588         * modules/openat (Depends-on): Add mkdir.
62589         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
62591         mkdir, mkdirat: add tests
62592         * modules/mkdir-tests: New test.
62593         * tests/test-mkdir.h: New file.
62594         * tests/test-mkdir.c: Likewise.
62595         * tests/test-mkdirat.c: Likewise.
62596         * modules/openat-tests (Files): Add new files.
62597         (Makefile.am): Run new test.
62599 2009-10-06  Eric Blake  <ebb9@byu.net>
62601         doc: tweak *at function documentation
62602         * doc/posix-functions/faccessat.texi (faccessat): Mention
62603         known issue with replacement.
62604         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
62605         * doc/posix-functions/linkat.texi (linkat): Likewise.
62606         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62607         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62608         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62609         * doc/posix-functions/renameat.texi (renameat): Likewise.
62610         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62612         openat: fix GNU/Hurd bug in unlinkat
62613         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
62614         broken.
62615         * doc/posix-functions/unlink.texi (unlink): Document this.
62616         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
62618         fdopendir: fix GNU/Hurd bug
62619         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
62620         allowing non-directory fds.
62621         * lib/fdopendir.c (rpl_fdopendir): Work around it.
62622         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
62623         * modules/dirent (Makefile.am): Substitute it.
62624         * lib/dirent.in.h (fdopendir): Declare replacement.
62625         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
62626         * tests/test-fdopendir.c (main): Test something other than
62627         /dev/null, since on Hurd that behaves like a directory.
62629         test-symlink: port to GNU/Hurd
62630         * tests/test-symlink.h (test_symlink): Relax expected errno.
62632         doc: tweak more cygwin information
62633         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
62634         now compatible with glibc.
62635         * doc/posix-functions/getopt.texi (getopt): Likewise.
62637         getopt-gnu: add another test
62638         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
62639         guarantee behavior relied on by m4.
62640         * tests/test-getopt.c (main): Use it.
62641         * modules/getopt-posix-tests (Depends-on): Add setenv.
62642         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
62644         getopt: fix compilation on darwin
62645         * lib/getopt.in.h (includes): Leave breadcrumbs during system
62646         include.
62647         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
62648         Reported by Ludovic Courtès.
62650 2009-10-06  Bruno Haible  <bruno@clisp.org>
62652         * modules/size_max (Description): Discourage its use.
62653         Reported by Simon Josefsson.
62655 2009-10-06  Jim Meyering  <meyering@redhat.com>
62657         linkat: avoid compilation failure
62658         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
62660 2009-10-05  Eric Blake  <ebb9@byu.net>
62662         linkat: support Linux 2.6.17
62663         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
62664         linkat on Linux, but allow cache variable override.
62665         * lib/linkat.c (rpl_linkat): Define override.
62666         * modules/linkat (Depends-on): Add symlinkat.
62667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
62668         * modules/unistd (Makefile.am): Substitute it.
62669         * lib/unistd.in.h (linkat): Declare replacement.
62670         Reported by Pádraig Brady.
62672         quotearg: port test to systems with C.UTF-8 locale
62673         * tests/test-quotearg.c (struct result_strings): Add another
62674         member, differentiating between C.ASCII and C.UTF-8 handling.
62675         (compare_strings): Add parameter.
62676         (main): Adjust all callers.
62678         getopt: avoid clash with FreeBSD _getopt_internal
62679         * lib/getopt.in.h (_getopt_internal): Override the name.
62680         * lib/getopt_int.h (includes): Pick up any overrides.
62681         Reported by Reuben Thomas.
62683         hash: allow C89 compilation
62684         * lib/hash.c (check_tuning): Move declaration before statement.
62685         Reported by Reuben Thomas.
62687 2009-10-05  Karl Berry  <karl@gnu.org>
62689         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
62691 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
62692             Bruno Haible  <bruno@clisp.org>
62694         * lib/uname.c (uname): Use a table-driven algorithm to compute
62695         Windows NT versions.
62697 2009-10-04  Bruno Haible  <bruno@clisp.org>
62699         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
62700         program_invocation_short_name.
62701         * modules/progname (configure.ac): Test for presence of
62702         program_invocation_short_name.
62703         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
62705 2009-10-04  Bruno Haible  <bruno@clisp.org>
62707         * lib/progname.c (set_program_name): Fix comment.
62708         Reported by Jim Meyering.
62710 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62711             Bruno Haible  <bruno@clisp.org>
62713         * lib/uname.c: Include <string.h>.
62714         (uname): Do only one call to GetVersionEx in the common case.
62716 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62717             Bruno Haible  <bruno@clisp.org>
62719         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
62720         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
62721         (uname): Add support for Windows CE and various non-x86 CPU types.
62723 2009-10-03  Bruno Haible  <bruno@clisp.org>
62725         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
62726         invocation to tests/configure.ac.
62727         Reported by Ian Beckwith <ianb@erislabs.net>.
62729 2009-10-02  Eric Blake  <ebb9@byu.net>
62731         fchdir: avoid compiler warning
62732         * lib/fchdir.c (canonicalize_file_name)
62733         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
62735         test-open: support mingw errno values
62736         * tests/test-open.h (test_open): Relax test.
62737         * tests/test-fopen.h (test_fopen): Likewise.
62738         * tests/test-openat-safer.c (main): Likewise.
62740         open: fix opening directory on mingw
62741         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62743         test-open: on GNU/Hurd, /dev/null is a directory
62744         * tests/test-fopen.h (main): Rename...
62745         (test_fopen): ...to this.  Use a guaranteed non-directory when
62746         confirming open behavior on trailing slash.
62747         * tests/test-openat-safer.c (main): Likewise.
62748         * tests/test-open.h (main): Likewise....
62749         (test_open): ...to this.
62750         * tests/test-fopen.c (main): Adjust caller.
62751         * tests/test-fopen-safer.c (main): Likewise.
62752         * tests/test-open.c (main): Likewise.
62753         * tests/test-fcntl-safer.c (main): Likewise.
62754         Reported by Samuel Thibault.
62756         rename, fchdir: don't ignore chdir failure
62757         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62758         * lib/rename.c (rpl_rename) [W32]: Likewise.
62759         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62760         an empty destination directory if source cannot be renamed,
62761         although there is still possibility for failure.
62762         * doc/posix-functions/rename.texi (rename): Document the race.
62763         Reported by Jim Meyering.
62765         maint: cleanup whitespace in recent commits
62766         * lib/rename.c (rpl_rename): Remove tabs.
62767         * tests/test-link.h (test_link): Likewise.
62768         * lib/fchdir.c (get_name): Likewise.
62769         Reported by Jim Meyering.
62771 2009-10-02  Ben Pfaff  <blp@gnu.org>
62773         relocatable-prog-wrapper: Add missing dependency on
62774         double-slash-root.
62775         * modules/relocatable-prog-wrapper: Add dependency.
62776         Reported by Ian Beckwith <ianb@erislabs.net>.
62778 2009-10-02  Eric Blake  <ebb9@byu.net>
62780         renameat: fix Solaris bugs
62781         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62782         needed fixing.
62783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62784         * modules/stdio (Makefile.am): Substitute it.
62785         * lib/stdio.in.h (renameat): Declare replacement.
62786         * lib/renameat.c (rpl_renameat): Implement fix.
62788         renameat: new module
62789         * modules/renameat: New file.
62790         * lib/renameat.c (renameat): Likewise.
62791         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62793         * modules/stdio (Makefile.am): Substitute them.
62794         * lib/stdio.in.h (renameat): Declare it.
62795         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62796         * doc/posix-functions/renameat.texi (renameat): Likewise.
62797         * modules/renameat-tests: New test.
62798         * tests/test-renameat.c: Likewise.
62800         rename: fix mingw bugs
62801         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62802         directory overwrite bugs.
62804         rename: fix another cygwin 1.5 bug
62805         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62806         checks.
62807         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62808         unnecessary cygwin workarounds.  Also work around bug with moving
62809         full directory onto an empty one.
62810         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62812         rename-dest-slash: merge into rename module
62813         * modules/rename-dest-slash (Status): Mark obsolete.
62814         (Depends-on): Add rename.
62815         (Files): Let rename do it all.
62816         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62817         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62818         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62819         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62820         * lib/rename.c (rpl_rename): Update comments.
62822         rename: fix cygwin 1.5.x bugs
62823         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62824         * lib/rename.c (rpl_rename): Work around them.
62825         * modules/rename (Depends-on): Add same-inode.
62827         rename: fix Solaris 10 bug
62828         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62829         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62830         was the only bug.
62832         rename: fix Solaris 9 bug
62833         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62834         on non-directory.  Avoid calling exit.
62835         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62836         strdup.
62837         * modules/rename-tests (Depends-on): Drop lstat.
62838         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62839         (gl_PREREQ_RENAME): Delete unused macro.
62841         rename-dest-slash: fix NetBSD bug
62842         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62843         links.
62844         * modules/rename-dest-slash (Depends-on): Add same-inode.
62846         rename-tests: new test, exposes several platform bugs
62847         * modules/rename-tests: New file.
62848         * tests/test-rename.h: Likewise.
62849         * tests/test-rename.c: Likewise.
62850         * doc/posix-functions/rename.texi (rename): Improve documentation,
62851         including bugs that will eventually be fixed in gnulib.
62853 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62855         * lib/uname.c: Include <stdlib.h>
62856         (uname): Assume version info is available.
62858 2009-10-02  Jim Meyering  <meyering@redhat.com>
62860         gnu-web-doc-update: correct --help output
62861         * build-aux/gnu-web-doc-update: Make --help output relevant.
62863         gnu-web-doc-update: add standard options
62864         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62866         gnu-web-doc-update: New module.
62867         Use this script to automatically update the on-line web documentation
62868         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62869         * modules/gnu-web-doc-update: New file, from coreutils.
62870         * build-aux/gnu-web-doc-update: New script.
62872 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62874         link: LoadLibrary is not needed.
62875         * lib/link.c: Use GetModuleHandle.
62877 2009-10-01  Eric Blake  <ebb9@byu.net>
62879         getopt: bump serial number
62880         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62881         change.
62883         tests: tighten link, rmdir, and remove tests
62884         * tests/test-link.h (includes): No need to use <config.h> here.
62885         Clean up if directory hard link was created, otherwise test for
62886         trailing '.'.
62887         * tests/test-linkat.c (main): Simplify.
62888         * tests/test-remove.c (main): Enhance test for trailing '.'.
62889         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62891 2009-10-01  Jim Meyering  <meyering@redhat.com>
62893         maint.mk: requiring "make major" was annoying, for a "minor" release.
62894         What is intended is "stable", to contrast with alpha and beta,
62895         so require "make stable", not "make major".
62896         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62897         (get_tool_versions): Likewise.
62898         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62900 2009-09-30  Ben Pfaff  <blp@gnu.org>
62902         Fix broken build of replacement for Windows tmpfile().
62903         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62904         flags argument added along with the 'mkostemp' module.
62906 2009-09-28  Bruno Haible  <bruno@clisp.org>
62908         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62909         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62910         to 'remove_elt'.
62911         (gl_list_remove): Update.
62912         * lib/gl_list.c (gl_list_remove): Update.
62913         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62914         to 'remove_elt'.
62915         (gl_oset_remove): Update.
62916         * lib/gl_list.c (gl_oset_remove): Update.
62917         Reported by Eric Blake.
62919 2009-09-28  Eric Blake  <ebb9@byu.net>
62921         doc: mention yet more cygwin 1.7 status
62922         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62923         cygwin.
62924         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62925         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62927         argp: fix test failure
62928         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62929         that are not upper-case.  Pass correct range to tolower.
62931 2009-09-27  Jim Meyering  <meyering@redhat.com>
62933         test-yesno: work around sparc-dash here-document infelicity
62934         Without this change, the literal \177 byte in a here document
62935         would make dash 0.5.5.1-3 access uninitialized memory.
62936         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62937         Instead, use a marker, "@", and filter through tr to create the desired
62938         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62940 2009-09-27  Bruno Haible  <bruno@clisp.org>
62942         Disable untested support for new flavours of ACLs on AIX.
62943         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62944         progress.
62945         * lib/set-mode-acl.c (qset_acl): Likewise.
62947 2008-12-07  Bruno Haible  <bruno@clisp.org>
62949         Add support for new flavours of ACLs on AIX. (Untested.)
62950         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62951         (file_has_acl): Add support for newer AIX.
62952         * lib/set-mode-acl.c (qset_acl): Likewise.
62953         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62954         Rainer Tammer <tammer@tammer.net>.
62956 2009-09-26  Eric Blake  <ebb9@byu.net>
62958         argp: fix compilation of getopt
62959         * lib/getopt.in.h (includes): Use different guard than glibc.
62960         Reported by Sergey Poznyakoff.
62962         doc: mention more cygwin 1.7 status
62963         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62964         bug.
62965         * doc/posix-functions/execl.texi (execl): Likewise.
62966         * doc/posix-functions/execle.texi (execle): Likewise.
62967         * doc/posix-functions/execlp.texi (execlp): Likewise.
62968         * doc/posix-functions/execv.texi (execv): Likewise.
62969         * doc/posix-functions/execve.texi (execve): Likewise.
62970         * doc/posix-functions/execvp.texi (execvp): Likewise.
62971         * doc/glibc-functions/canonicalize_file_name.texi
62972         (canonicalize_file_name): Cygwin 1.7 now provides this.
62973         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
62974         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
62975         on AT_SYMLINK_NOFOLLOW.
62977 2009-09-24  Eric Blake  <ebb9@byu.net>
62979         test-linkat: make test more robust
62980         * tests/test-linkat.c (main): Avoid collision with EEXIST.
62982         getopt: fix inclusion guards for cygwin
62983         * modules/getopt-posix (Depends-on): Add include-next.
62984         (Makefile.am): Substitute more items in replacement header.
62985         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
62986         <getopt.h>.
62987         * lib/getopt.in.h (includes): Use split inclusion guard, and
62988         prefer <getopt.h> over include <unistd.h> when one is present.
62989         (option): Also override name of 'struct option'.
62991         same-inode: revert prior change; it is not yet ready
62992         * NEWS: Undo mention of this change.
62993         * lib/same-inode.h (same-inode.h): Undo tri-state change.
62994         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62995         * lib/cycle-check.c (cycle_check): Likewise.
62996         * lib/same.c (same_name): Likewise.
62997         * lib/at-func2.c (at_func2): Likewise.
62999 2009-09-23  Eric Blake  <ebb9@byu.net>
63001         linkat: new module
63002         * modules/linkat: New file.
63003         * lib/at-func2.c (at_func2): Likewise.
63004         * lib/linkat.c (linkat): Likewise.
63005         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63006         * lib/openat-priv.h (at_func2): Add declaration.
63007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63008         * modules/unistd (Makefile.am): Substitute them.
63009         * lib/unistd.in.h (linkat): Declare it.
63010         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63011         * doc/posix-functions/linkat.texi (linkat): Likewise.
63012         * doc/posix-functions/link.texi (link): Tweak wording.
63013         * tests/test-link.c (main): Move guts...
63014         * tests/test-link.h (test_link): ...into new file.
63015         * modules/linkat-tests: New test.
63016         * tests/test-linkat.c: Likewise.
63017         * modules/link-tests (Files): Ship new file.
63018         (Depends-on): Add stdbool.
63020         dirname: add library-safe mdir_name
63021         * lib/dirname.h (mdir_name): New prototype.
63022         * lib/dirname.c (dir_name): Move guts...
63023         (mdir_name): ...to new function that avoids xalloc_die.
63025         fchdir: another mingw fix
63026         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
63027         * lib/fchdir.c (get_name): New helper method; skips canonicalize
63028         on mingw (where it has not yet been ported), and make it optional
63029         elsewhere.
63030         (_gl_register_fd): Use it.
63032         same-inode: make SAME_INODE tri-state, to port to mingw
63033         * NEWS: Mention this change.
63034         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
63035         st_ino always being 0.
63036         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63037         * lib/cycle-check.c (cycle_check): Likewise.
63038         * lib/same.c (same_name): Likewise.
63040         lstat: avoid mingw compilation error
63041         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
63042         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
63043         lstat ourselves.
63044         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
63045         was adequate.
63046         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
63047         the checks for lstat.
63048         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
63050         link: fix test failure on Solaris 9
63051         * lib/link.c (rpl_link): Don't assume link will catch bogus
63052         trailing slash on source.
63054         test-symlinkat: enhance test
63055         * tests/test-readlink.c (main): Move guts...
63056         * tests/test-readlink.h (test_readlink): ...into new file.
63057         * tests/test-symlink.c (main): Move guts...
63058         * tests/test-symlink.h (test_symlink): ...into new file.
63059         * tests/test-symlinkat.c (main): Use new files for further
63060         coverage.
63061         (do_symlink, do_readlink): New helper functions.
63062         * modules/symlink-tests (Files): Ship new file.
63063         (Depends-on): Add stdbool.
63064         * modules/readlink-tests (Files): Ship new file.
63065         (Depends-on): Add stdbool.
63066         * modules/symlinkat-tests (Files): Use new files.
63068 2009-09-23  Eric Blake  <ebb9@byu.net>
63070         readlink: document portability issue with symlink length
63071         * doc/posix-functions/lstat.texi (lstat): Mention that some file
63072         systems have bogus st_size on symlinks, and mention the
63073         areadlink-with-size module.
63074         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
63075         * doc/posix-functions/readlink.texi (readlink): Mention the
63076         areadlink module, and ERANGE failure.
63077         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63078         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
63080         readlink: fix Solaris 9 bug with trailing slash
63081         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
63082         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
63083         * doc/posix-functions/readlink.texi (readlink): Document this.
63084         * modules/readlink-tests: New test.
63085         * tests/test-readlink.c: Likewise.
63087         readlink: fix cygwin 1.5.x bug with return type
63088         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
63089         * lib/unistd.in.h (readlink): Use ssize_t.
63090         * lib/readlink.c (readlink): Likewise.
63091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63092         * modules/unistd (Makefile.am): Substitute it.
63093         * lib/unistd.in.h (readlink): Declare replacement.
63094         * doc/posix-functions/readlink.texi (readlink): Document this.
63096         symlink: use throughout gnulib
63097         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
63098         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
63099         symlink is not used.
63100         * modules/symlinkat (Depends-on): Add symlink.
63101         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63102         * modules/canonicalize-tests (Depends-on): Likewise.
63103         * modules/lstat-tests (Depends-on): Likewise.
63104         * modules/openat-tests (Depends-on): Likewise.
63105         * modules/remove-tests (Depends-on): Likewise.
63106         * modules/rmdir-tests (Depends-on): Likewise.
63107         * modules/unlink-tests (Depends-on): Likewise.
63108         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
63109         * tests/test-canonicalize.c (symlink): Likewise.
63110         * tests/test-fstatat.c (symlink): Likewise.
63111         * tests/test-lstat.c (symlink): Likewise.
63112         * tests/test-remove.c (symlink): Likewise.
63113         * tests/test-rmdir.c (symlink): Likewise.
63114         * tests/test-unlink.c (symlink): Likewise.
63115         * tests/test-unlinkat.c (symlink): Likewise.
63117         symlink: new module, for Solaris 9 bug
63118         * modules/symlink: New file.
63119         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63120         * lib/symlink.c: Likewise.
63121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
63122         * modules/unistd (Makefile.am): Substitute them.
63123         * lib/unistd.in.h (symlink): Declare replacement.
63124         * MODULES.html.sh (File system functions): Mention it.
63125         * doc/posix-functions/symlink.texi (symlink): Likewise.
63126         * modules/symlink-tests: New test.
63127         * tests/test-symlink.c: Likewise.
63129 2009-09-23  Bruno Haible  <bruno@clisp.org>
63131         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
63132         when needed.
63133         Test case: gnulib-tool --import --with-tests atexit inttypes.
63134         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
63136 2009-09-23  Bruno Haible  <bruno@clisp.org>
63138         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
63139         subcommand, not in a subshell.
63141 2009-09-22  Eric Blake  <ebb9@byu.net>
63143         unistd: sort replacement declarations
63144         * lib/unistd.in.h: Sort declarations.
63146         open, openat: minor optimization
63147         * lib/open.c (open): If open succeeded, len is non-zero.
63148         * lib/openat.c (rpl_openat): Likewise.
63150         link-follow: ensure correct result
63151         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
63152         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
63153         distinguish between possible failures.
63155 2009-09-21  Eric Blake  <ebb9@byu.net>
63157         fts: avoid compiler warning
63158         * lib/fts.c (dirent_inode_sort_may_be_useful)
63159         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
63161 2009-09-19  Bruno Haible  <bruno@clisp.org>
63163         * lib/progreloc.c (canonicalize_file_name): New declaration.
63165 2009-09-19  Eric Blake  <ebb9@byu.net>
63167         link: fix quoting
63168         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
63170         openat: fix openat bugs on Solaris 9
63171         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
63172         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
63173         * modules/openat (Depends-on): Add open.
63174         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
63175         * modules/fcntl-h (Makefile.am): Substitute it.
63176         * lib/fcntl.in.h (openat): Declare replacement.
63177         * doc/posix-functions/openat.texi (openat): Document this.
63179         openat: move fstatat and unlinkat into correct files
63180         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
63181         compiled.
63182         * lib/openat.c (fstatat, unlinkat): Move...
63183         * lib/fstatat.c (fstatat): ...into correct files.
63184         * lib/unlinkat.c (unlinkat): Likewise.
63186         openat: fix unlinkat bugs on Solaris 9
63187         * lib/unlinkat.c (unlinkat): New file.
63188         * modules/openat (Depends-on): Add unlink.
63189         (Files): Distribute it.
63190         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
63191         trailing slash behavior is broken.
63192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63193         * modules/unistd (Makefile.am): Substitute it.
63194         * lib/unistd.in.h (unlinkat): Declare replacement.
63195         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
63197         openat: fix fstatat bugs on Solaris 9
63198         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
63199         stat.
63200         * doc/posix-functions/fstatat.texi (fstatat): Document this.
63202         test-unlinkat: enhance test, to expose Solaris 9 bug
63203         * tests/test-unlink.c (main): Factor guts...
63204         * tests/test-unlink.h (test_rmdir_func): ...into new file.
63205         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
63206         * tests/test-rmdir.c (main): Adjust caller.
63207         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
63208         (unlinker): New helper function.
63209         (rmdirat): Enhance check.
63210         * modules/rmdir-tests (Depends-on): Add stdbool.
63211         * modules/unlink-tests (Depends-on): Likewise.
63212         (Files): Add test-unlink.h.
63213         * modules/openat-tests (Files): Likewise.
63214         (Depends-on): Add unlinkdir.
63216         test-fstatat: new test, to expose Solaris 9 bugs
63217         * tests/test-stat.c (main): Factor guts...
63218         * tests/test-stat.h (test_stat_func): ...into new file.
63219         * tests/test-lstat.c (main): Factor guts...
63220         * tests/test-lstat.h (test_lstat_func): ...into new file.
63221         * tests/test-fstatat.c: New file.
63222         * modules/stat-tests (Files): Add test-stat.h.
63223         * modules/lstat-tests (Files): Add test-lstat.h.
63224         (Depends-on): Add stdbool.
63225         * modules/openat-tests (Depends-on): Add pathmax.
63226         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
63227         (Makefile.am): Run new test.
63229         remove: new module, for mingw and Solaris 9 bugs
63230         * modules/remove: New file.
63231         * lib/remove.c: Likewise.
63232         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
63233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
63234         * modules/stdio (Makefile.am): Use them.
63235         * lib/stdio.in.h (remove): Declare replacement.
63236         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63237         * doc/posix-functions/remove.texi (remove): Likewise.
63238         * modules/remove-tests: New test.
63239         * tests/test-remove.c: Likewise.
63241         unlink: new module, for Solaris 9 bug
63242         * modules/unlink: New file.
63243         * lib/unlink.c: Likewise.
63244         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63246         * modules/unistd (Makefile.am): Use them.
63247         * lib/unistd.in.h (stat): Declare replacement.
63248         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63249         * doc/posix-functions/unlink.texi (unlink): Likewise.
63250         * modules/unlink-tests: New test.
63251         * tests/test-unlink.c: Likewise.
63253         lstat: fix Solaris 9 bug
63254         * lib/lstat.c (lstat): Also check for trailing slash on
63255         non-symlink, non-directories.  Use stat module to simplify logic.
63256         * doc/posix-functions/lstat.texi (lstat): Document it.
63257         * modules/lstat-tests (Depends-on): Add errno, same-inode.
63258         (configure.ac): Check for symlink.
63259         * tests/test-lstat.c (main): Add more tests.
63261         stat: add as dependency to other modules
63262         * modules/chown (Depends-on): Add stat.
63263         * modules/euidaccess (Depends-on): Likewise.
63264         * modules/fchdir (Depends-on): Likewise.
63265         * modules/isdir (Depends-on): Likewise.
63266         * modules/link (Depends-on): Likewise.
63267         * modules/lstat (Depends-on): Likewise.
63268         * modules/mkdir-p (Depends-on): Likewise.
63269         * modules/modechange (Depends-on): Likewise.
63270         * modules/open (Depends-on): Likewise.
63271         * modules/readlink (Depends-on): Likewise.
63272         * modules/same (Depends-on): Likewise.
63274         stat: fix Solaris 9 bug
63275         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
63276         slash.
63277         * lib/stat.c (rpl_stat): Work around it.
63278         * doc/posix-functions/stat.texi (stat): Update documentation.
63280         stat: new module, for mingw bug
63281         * modules/stat: New file.
63282         * lib/stat.c: Likewise.
63283         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63284         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63285         * modules/sys_stat (Makefile.am): Use them.
63286         * lib/sys_stat.in.h (stat): Declare replacement.
63287         * lib/openat.c (fstatat): Deal with lstat and stat being function
63288         macros.
63289         * modules/openat (Depends-on): Add inline.
63290         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63291         * doc/posix-functions/stat.texi (stat): Likewise.
63292         * modules/stat-tests: New test.
63293         * tests/test-stat.c: Likewise.
63295 2009-09-19  Jim Meyering  <meyering@redhat.com>
63297         syntax-check: detect unnecessary inclusion of canonicalize.h
63298         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
63300 2009-09-19  Eric Blake  <ebb9@byu.net>
63302         canonicalize-lgpl: adjust clients to use correct header
63303         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63304         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
63305         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
63306         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
63307         * lib/progreloc.c (includes): Likewise.
63309 2009-09-19  Jim Meyering  <meyering@redhat.com>
63311         test-posixtm.c: correct a comment
63312         * tests/test-posixtm.c: Correct first-line comment.
63313         Spotted by Eric Blake.
63315 2009-09-16  Jim Meyering  <meyering@redhat.com>
63317         posixtm-tests: make T const-correct; add a test case
63318         * tests/test-posixtm.c (T): Declare const.
63319         Add a test for -(2^31+1).
63320         Remove useless can-succeed-only-in-2002 test.
63322         posixtm-tests: adjust the sole failing test
63323         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
63324         expected output matches what mktime now produces.  Cross-checked via
63325         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
63327         posixtm: move #ifdef'd tests into a new module
63328         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
63329         * tests/test-posixtm.c: ... this new file.
63330         * modules/posixtm-tests: New module.
63332 2009-09-19  Eric Blake  <ebb9@byu.net>
63334         openat: simplify use of at-func.c
63335         * lib/at-func.c (includes): Include prerequisites here, to
63336         simplify requirements on client files.
63337         * lib/openat-priv.h: Add double-inclusion guard.
63338         * lib/faccessat.c (includes): Simplify.
63339         * lib/fchmodat.c (includes): Likewise.
63340         * lib/fchownat.c (includes): Likewise.
63341         * lib/mkdirat.c (includes): Likewise.
63342         * lib/mkfifoat.c (includes): Likewise.
63343         * lib/symlinkat.c (includes): Likewise.
63345         openat: allow return of fd 0
63346         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
63347         * modules/save-cwd (Depends-on): Replace fcntl-safer with
63348         unistd-safer.
63349         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
63350         <fcntl.h>; this module does not leak fds.
63351         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
63352         must be allowed to return 0, leaving openat_safer to add the
63353         safety.
63354         (openat_permissive): Avoid writing to just-opened fd 2 if
63355         restoring the current directory fails.
63356         * lib/openat-die.c (openat_restore_fail): Add comment.
63357         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
63358         (save_cwd): Guarantee safe fd, but without use of open_safer.
63359         * tests/test-openat.c: New test.
63360         * modules/openat-tests (Files, Makefile.am): Distribute and build
63361         new file.
63363         relocatable-prog-wrapper: fix build
63364         * modules/relocatable-prog-wrapper (Files): Update name of
63365         canonicalize m4 file, broken on 2009-09-17.
63366         Reported by emad hajjar <aleppos@hotmail.com>.
63368 2009-09-19  Bruno Haible  <bruno@clisp.org>
63370         * lib/safe-alloc.h: Use the standard header with GPL copyright.
63371         * lib/safe-alloc.c: Likewise.
63372         Reported by Ian Beckwith <ianb@erislabs.net>.
63374 2009-09-18  Bruno Haible  <bruno@clisp.org>
63376         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
63377         Reported by <erobles@sensacd.com.mx>.
63379 2009-09-17  Eric Blake  <ebb9@byu.net>
63381         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
63382         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
63383         slashes when checking if last component is missing.
63384         * tests/test-canonicalize.c (main): Test this.
63386         canonicalize, canonicalize-lgpl: honor // if distinct from /
63387         * modules/canonicalize (Files): Add double-slash-root.m4.
63388         * modules/canonicalize-lgpl (Files): Likewise.
63389         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63390         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
63391         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
63392         fallback definition.
63393         (canonicalize_filename_mode): Use it to protect //.
63394         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
63395         (__realpath): Likewise.
63396         * tests/test-canonicalize.c (main): Test this.
63397         * tests/test-canonicalize-lgpl.c (main): Likewise.
63398         * modules/canonicalize-tests (Depends-on): Add same-inode.
63399         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63401         canonicalize-lgpl: fix glibc bug with trailing slash
63402         * m4/canonicalize-lgpl.m4: Move contents...
63403         * m4/canonicalize.m4: ...here.
63404         (gl_CANONICALIZE_LGPL): Factor realpath check...
63405         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
63406         glibc 2.3.5 bug, fixed 2005-04-27.
63407         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
63408         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
63409         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
63410         * modules/canonicalize-lgpl (Files): Manage file rename.
63411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63412         * modules/stdlib (Makefile.am): Substitute witness.
63413         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
63414         is needed.
63415         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
63416         replacement is required.
63417         * lib/canonicalize.c (canonicalize_file_name): Likewise.
63418         * doc/glibc-functions/canonicalize_file_name.texi
63419         (canonicalize_file_name): Document this.
63420         * doc/posix-functions/realpath.texi (realpath): Likewise.
63422         canonicalize-lgpl: reject non-directory with trailing slash
63423         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
63424         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
63425         catches failures in glibc 2.3.5.
63426         * tests/test-canonicalize.c (main): Likewise.
63428         canonicalize-lgpl: use native realpath if it works
63429         * lib/canonicalize-lgpl.c (realpath): Guard with
63430         FUNC_REALPATH_WORKS.
63431         * lib/stdlib.in.h (realpath): Make declaration optional based on
63432         HAVE_REALPATH.
63433         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
63434         native realpath works.
63435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63436         * modules/stdlib (Makefile.am): Substitute witness.
63438         canonicalize, canonicalize-lgpl: use <stdlib.h>
63439         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
63440         (Include): Mention <stdlib.h>.
63441         (configure.ac): Mention functions we provide.
63442         * modules/canonicalize (configure.ac): Likewise.
63443         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
63444         realpath if canonicalize_file_name is missing.
63445         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
63446         * modules/stdlib (Makefile.am): Substitute witnesses.
63447         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
63448         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
63449         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
63450         * NEWS: Document this.
63451         * doc/glibc-functions/canonicalize_file_name.texi
63452         (canonicalize_file_name): Likewise.
63453         * doc/posix-functions/realpath.texi (realpath): Likewise.
63454         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
63456         test-canonicalize: consolidate into single C program
63457         * tests/test-canonicalize.sh: Delete; move setup into...
63458         * tests/test-canonicalize.c (main): ...the program, making it
63459         easier to run in debugger.  Add some tests.
63460         * modules/canonicalize-tests (Files): Remove unused file.
63461         (Depends-on): Add progname.
63462         (configure.ac, Makefile.am): Simplify.
63464         test-canonicalize-lgpl: consolidate into single C program
63465         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
63466         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
63467         easier to run in debugger.  Add some tests.
63468         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
63469         (configure.ac, Makefile.am): Simplify.
63471         canonicalize: avoid resolvepath
63472         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
63473         unnecessary checks.
63474         * lib/canonicalize.c (includes): Simplify.
63475         (canonicalize_file_name): Drop resolvepath implementation.
63476         * modules/canonicalize (Depends-on): Drop filenamecat.
63478         canonicalize: don't lose errno
63479         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
63480         over calls to free.
63482         canonicalize: simplify errno handling
63483         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
63484         assignment.
63486         canonicalize, canonicalize-lgpl: update module dependencies
63487         * modules/canonicalize (Depends-on): Add extensions, lstat,
63488         pathmax, stdlib.
63489         (Files): Drop pathmax.h.
63490         (configure.ac): Adjust macro name.
63491         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
63492         lstat, stdlib, sys_stat.
63493         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
63494         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
63495         extensions.
63496         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
63497         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
63498         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
63499         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
63500         declaration, if available.
63501         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
63502         we can rely on the readlink module.
63503         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
63504         (includes): Use <unistd.h> unconditionally.
63506 2009-09-17  Eric Blake  <ebb9@byu.net>
63508         maint: make Include sections of modules consistent
63509         * modules/alloca: Use only header name; no need to list #include.
63510         * modules/alloca-opt: Likewise.
63511         * modules/arpa_inet: Likewise.
63512         * modules/canon-host: Likewise.
63513         * modules/configmake: Likewise.
63514         * modules/dirent: Likewise.
63515         * modules/eealloc: Likewise.
63516         * modules/environ: Likewise.
63517         * modules/fchdir: Likewise.
63518         * modules/fcntl: Likewise.
63519         * modules/fcntl-h: Likewise.
63520         * modules/gethrxtime: Likewise.
63521         * modules/gettime: Likewise.
63522         * modules/ignore-value: Likewise.
63523         * modules/inet_ntop: Likewise.
63524         * modules/inet_pton: Likewise.
63525         * modules/inttypes: Likewise.
63526         * modules/isnand-nolibm: Likewise.
63527         * modules/isnanf-nolibm: Likewise.
63528         * modules/mbchar: Likewise.
63529         * modules/mbfile: Likewise.
63530         * modules/mbiter: Likewise.
63531         * modules/mbuiter: Likewise.
63532         * modules/netdb: Likewise.
63533         * modules/netinet_in: Likewise.
63534         * modules/nproc: Likewise.
63535         * modules/pagealign_alloc: Likewise.
63536         * modules/poll: Likewise.
63537         * modules/printf-frexp: Likewise.
63538         * modules/pthread: Likewise.
63539         * modules/putenv: Likewise.
63540         * modules/random_r: Likewise.
63541         * modules/relocatable-prog: Likewise.
63542         * modules/search: Likewise.
63543         * modules/select: Likewise.
63544         * modules/selinux-h: Likewise.
63545         * modules/settime: Likewise.
63546         * modules/signal: Likewise.
63547         * modules/size_max: Likewise.
63548         * modules/socklen: Likewise.
63549         * modules/ssize_t: Likewise.
63550         * modules/stdarg: Likewise.
63551         * modules/stdbool: Likewise.
63552         * modules/stddef: Likewise.
63553         * modules/stdint: Likewise.
63554         * modules/stdio: Likewise.
63555         * modules/stdlib: Likewise.
63556         * modules/string: Likewise.
63557         * modules/strings: Likewise.
63558         * modules/sys_file: Likewise.
63559         * modules/sys_ioctl: Likewise.
63560         * modules/sys_select: Likewise.
63561         * modules/sys_socket: Likewise.
63562         * modules/sys_stat: Likewise.
63563         * modules/sys_time: Likewise.
63564         * modules/sys_times: Likewise.
63565         * modules/sys_utsname: Likewise.
63566         * modules/sys_wait: Likewise.
63567         * modules/sysexits: Likewise.
63568         * modules/time: Likewise.
63569         * modules/times: Likewise.
63570         * modules/tmpfile: Likewise.
63571         * modules/trim: Likewise.
63572         * modules/unistd: Likewise.
63573         * modules/wchar: Likewise.
63574         * modules/wctype: Likewise.
63576 2009-09-17  Bruno Haible  <bruno@clisp.org>
63578         Make getdate.y compile on QNX and NetBSD 5 / i386.
63579         * m4/getdate.m4 (gl_GETDATE): Conditionally define
63580         TIME_T_FITS_IN_LONG_INT.
63581         * lib/getdate.y (long_time_t): New type.
63582         (relative_time): Change type of 'seconds' field to long_time_t.
63583         (get_date): Update types of local variables. Check against overflow
63584         during conversion from long_time_t to time_t.
63585         Reported by Matt Kraai <kraai@ftbfs.org>
63586         and Hasso Tepper <hasso@netbsd.org>.
63588 2009-09-17  Bruno Haible  <bruno@clisp.org>
63590         * modules/COPYING: Update copyright years.
63591         * modules/README: Likeiwse.
63592         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
63593         Reported by Ian Beckwith <ianb@erislabs.net>.
63595 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63597         * users.txt: Update references for gnuit package.
63599 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63601         * m4/getdelim.m4: Fix typo in copyright line.
63603 2009-09-17  Bruno Haible  <bruno@clisp.org>
63605         * lib/atoll.c: Use the standard header with GPL copyright.
63606         * lib/argz.in.h: Likewise.
63607         * lib/glob.c: Likewise.
63608         * lib/glob-libc.h: Likewise.
63609         * lib/random_r.c: Likewise.
63610         * lib/siglist.h: Likewise.
63611         * lib/strsignal.c: Likewise.
63612         Reported by Ian Beckwith <ianb@erislabs.net>.
63614 2009-09-17  Eric Blake  <ebb9@byu.net>
63616         rmdir: ensure correct dependency order
63617         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
63619 2009-09-17  Bruno Haible  <bruno@clisp.org>
63621         Disable assertion that fails on NetBSD 5 / i386.
63622         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
63623         Reported by Sam Steingold <sds@gnu.org>
63624         and Hasso Tepper <hasso@netbsd.org>.
63626 2009-09-16  Eric Blake  <ebb9@byu.net>
63628         unlinkdir: port to mingw
63629         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
63630         on which no one can unlink a directory.
63632         stdlib: sort witness names
63633         * modules/stdlib (Makefile.am): Sort replacements.
63634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
63635         * lib/stdlib.in.h: Likewise.
63637         parse-duration-tests: avoid link failure
63638         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
63639         LIBINTL.
63640         Reported by Tom G. Christensen.
63642         openat-tests: ensure unlinkat behaves like rmdir
63643         * tests/test-rmdir.c (main): Factor guts...
63644         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
63645         * modules/rmdir-tests (Files): Ship new file.
63646         * modules/openat-tests: New test.
63647         * tests/test-unlinkat.c: Likewise.
63649         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
63650         * modules/rmdir-errno (Status, Notice): Now obsolete.
63652         rmdir: work around cygwin 1.5.x and mingw bugs
63653         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
63654         * lib/rmdir.c (rmdir): Work around it.
63655         * modules/rmdir (Status, Notice): No longer obsolete.
63656         (Files): Add dos.m4.
63657         (Depends-on): Add unistd.
63658         (configure.ac): Set witnesses.
63659         (License): Relax to LGPLv2+.
63660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
63661         * modules/unistd (Makefile.am): Substitute witnesses.
63662         * lib/unistd.in.h (rmdir): Declare replacement.
63663         * doc/posix-functions/rmdir.texi (rmdir): Document this.
63664         * modules/rmdir-tests: New tests.
63665         * tests/test-rmdir.c: Likewise.
63667 2009-09-15  Eric Blake  <ebb9@byu.net>
63669         fchdir: improve use of replacement functions
63670         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
63671         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
63672         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
63673         REPLACE_CLOSEDIR.
63674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
63675         * modules/sys_stat (Makefile.am): Substitute correct witness.
63676         * modules/dirent (Makefile.am): Likewise.
63677         * modules/unistd (Makefile.am): Likewise.
63678         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
63679         * lib/unistd.in.h (dup): Likewise.
63680         * lib/sys_stat.in.h (fstat): Likewise.
63682         maint: ignore gnulib-tool temp files
63683         * .gitignore: Ignore files created during gnulib-tool --test.
63685 2009-09-13  Jim Meyering  <meyering@redhat.com>
63687         posixtm: don't reject a time that specify "60" as the number of seconds
63688         * lib/posixtm.c (posixtime): The code to reject invalid dates
63689         would also reject a time specified with the .60 suffix.
63690         But POSIX allows that, in order to accommodate leap seconds.
63691         So don't reject it.
63692         (main): Adjust tests accordingly.
63693         * modules/posixtm (Depends-on): Add stpcpy.
63695 2009-09-11  Jim Meyering  <meyering@redhat.com>
63697         announce-gen: include [$release_type] in emitted Subject:
63698         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
63699         e.g., [stable] in the emitted Subject: line.
63701 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63703         Remove obsolete macros from several modules.
63704         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
63705         obsolete Autoconf macros with their modern counterparts.
63706         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
63707         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
63708         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
63709         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63710         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
63711         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63712         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63713         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63714         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63715         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
63716         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
63717         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
63718         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
63719         * m4/sockets.m4 (gl_SOCKETS): Likewise.
63720         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
63721         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
63722         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63723         * m4/time_r.m4 (gl_TIME_R): Likewise.
63724         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63725         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
63726         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63728         Fix copyright header in build-aux scripts.
63729         * build-aux/git-version-gen: Fix copyright header to match GPLv3
63730         recommendation.
63731         * build-aux/ncftpput-ftp: Likewise.
63732         * build-aux/update-copyright: Likewise.
63734 2009-09-09  Eric Blake  <ebb9@byu.net>
63736         test-link: allow Linux choice of errno
63737         * tests/test-link.c (main): Relax test for alternate error.
63739         strndup: fix improper m4 caching
63740         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63741         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63742         (gl_PREREQ_STRNDUP): Delete.
63743         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63744         * modules/string (Makefile.am): Substitute it.
63745         * lib/string.in.h (strndup): Modernize prototype.
63747         getcwd: port to mingw
63748         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63749         different from the POSIX assumptions made throughout the getcwd
63750         module; fortunately, the mingw getcwd does not need replacement.
63751         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63752         * modules/getcwd-tests: New test.
63753         * tests/test-getcwd.c: Likewise.
63755         link: fix platform bugs
63756         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63757         * lib/link.c (link): Work around them.  Fix related mingw bug.
63758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63759         * modules/unistd (Makefile.am): Substitute it.
63760         * lib/unistd.in.h (link): Declare replacement.
63761         * doc/posix-functions/link.texi (link): Document this.
63762         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63764         test-link: consolidate into single C program, test more cases
63765         * tests/test-link.sh: Delete.
63766         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63767         at least Cygwin and Solaris.
63768         * modules/link-tests (Files): Remove unused file.
63769         (Depends-on): Add errno, sys_stat.
63770         (Makefile.am): Simplify.
63772 2009-09-08  Bruno Haible  <bruno@clisp.org>
63774         Work around towlower, towupper bug on mingw.
63775         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63776         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63777         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63778         * doc/posix-functions/towupper.texi: Likewise.
63779         Reported by Eric Blake.
63781 2009-09-08  Jim Meyering  <meyering@redhat.com>
63783         build: don't try to run autoheader if we don't use it
63784         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63785         is not used in configure.ac.
63787 2009-09-08  Eric Blake  <ebb9@byu.net>
63789         euidaccess: fix compilation error
63790         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63792         rawmemchr: relax license
63793         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63794         okay.
63795         Reported by Jim Meyering.
63797         mkfifoat: new module
63798         * modules/mkfifoat: New file.
63799         * lib/mkfifoat.c: Likewise.
63800         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63801         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63802         * modules/sys_stat (Makefile.am): Use them.
63803         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63804         * MODULES.html.sh (File system functions): Mention module.
63805         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63806         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63807         * modules/mkfifoat-tests: New test.
63808         * tests/test-mkfifoat.c: Likewise.
63810         strchrnul: relax license
63811         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63812         okay.
63813         Reported by Jim Meyering.
63815 2009-09-08  Eric Blake  <ebb9@byu.net>
63817         fstatat: fix compilation on Solaris
63818         * lib/fstatat.c (includes): Add fcntl.h.
63819         Reported by Pádraig Brady.
63821 2009-09-07  Eric Blake  <ebb9@byu.net>
63823         rename: modernize replacement
63824         * modules/rename (Depends-on): Add stdio.
63825         (configure.ac): Declare witness.
63826         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63827         stdio take care of replacement.
63828         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63829         * modules/stdio (Makefile.am): Substitute them.
63830         * lib/stdio.in.h (rename): Declare replacement.
63831         * lib/rename.c (includes): Allow cross-compilation to non-windows
63832         machines.
63833         * doc/posix-functions/rename.texi (rename): Improve
63834         documentation.
63836         stdio: sort witness names
63837         * modules/stdio (Makefile.am): Sort replacements.
63838         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63839         * lib/stdio.in.h: Likewise.
63841         getcwd: minor cleanups
63842         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63843         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63845         openat: provide more convenience names
63846         * modules/faccessat (configure.ac): Add C witness.
63847         * lib/unistd.in.h (readlinkat): Fix typo.
63848         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63849         convenience wrappers.
63850         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63851         wrappers in syntax checks.
63853 2009-09-06  Eric Blake  <ebb9@byu.net>
63855         doc: fix comments in recent patches
63856         * lib/faccessat.c: Mention correct function.
63857         * lib/fchmodat.c: Likewise.
63858         * lib/fchownat.c: Likewise.
63859         * lib/symlinkat.c: Likewise.
63860         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63861         constants.
63863         faccessat, symlinkat: continue cleanup of previous patch
63864         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63865         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63866         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63868         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63869         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63870         set.
63872 2009-09-06  Bruno Haible  <bruno@clisp.org>
63874         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63875         (fstatat): Declare if GNULIB_FSTATAT is set.
63876         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63877         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63878         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63879         * modules/fcntl-h (Files): Remove m4/openat.m4.
63880         * modules/sys_stat (Files): Remove m4/openat.m4.
63881         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63882         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63883         * modules/unistd (Files): Remove m4/openat.m4.
63884         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63885         GNULIB_OPENAT.
63886         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63887         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63888         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63889         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63890         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63891         gl_OPENAT_DEFAULTS.
63892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63893         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63894         Don't require gl_OPENAT_DEFAULTS.
63895         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63896         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63897         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63898         (gl_OPENAT_DEFAULTS): Remove macro.
63900 2009-09-06  Bruno Haible  <bruno@clisp.org>
63902         * modules/openat (configure.ac): Remove unneeded witness.
63904 2009-09-06  Bruno Haible  <bruno@clisp.org>
63906         Set errno to ENOSYS when a function is entirely unsupported.
63907         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63908         EOPNOTSUPP.
63909         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63910         * modules/chown (Depends-on): Remove errno.
63912 2009-09-06  Bruno Haible  <bruno@clisp.org>
63914         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63916 2009-09-06  Bruno Haible  <bruno@clisp.org>
63918         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63920 2009-09-06  Ben Pfaff  <blp@gnu.org>
63921             Bruno Haible  <bruno@clisp.org>
63923         Work around a glibc bug in strtok_r.
63924         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63925         Undefine if UNDEFINE_STRTOK_R is set.
63926         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63927         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63928         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63929         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63930         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63931         UNDEFINE_STRTOK_R.
63932         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63934 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63936         exclude: minor fix
63937         * lib/exclude.c: Include wctype.h
63939 2009-09-06  Akim Demaille  <demaille@gostai.com>
63941         bootstrap: improve error message
63942         * build-aux/bootstrap (find_tool): Upon failure, report the list
63943         of candidates.
63944         Honor the initial value of the envvar.
63946 2009-09-05  Eric Blake  <ebb9@byu.net>
63948         symlinkat: new module
63949         * modules/symlinkat: New file.
63950         * lib/symlinkat.c: Likewise.
63951         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63953         * modules/unistd (Makefile.am): Use them.
63954         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63955         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63956         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63957         * MODULES.html.sh (File system functions): Mention module.
63958         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63959         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63960         * modules/symlinkat-tests: New test.
63961         * tests/test-symlinkat.c: Likewise.
63963         test-openat-safer: add more checks
63964         * tests/test-openat-safer.c (main): Check more code paths.
63966 2009-09-05  Jim Meyering  <meyering@redhat.com>
63968         syntax-check: detect unnecessary inclusion of openat.h
63969         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
63971 2009-09-05  Bruno Haible  <bruno@clisp.org>
63973         Support towlower, towupper.
63974         * doc/posix-functions/towlower.texi: Mention module wctype.
63975         * doc/posix-functions/towupper.texi: Likewise.
63976         * lib/wctype.in.h (towlower, towupper): New functions.
63977         * tests/test-wctype.c: Include stdio.h, stdlib.h.
63978         (ASSERT): New macro.
63979         (e): New variable.
63980         (main): Test also towlower, towupper. Test WEOF argument.
63981         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
63983 2009-09-05  Bruno Haible  <bruno@clisp.org>
63985         Fix conversion behaviour when the input is invalid.
63986         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
63987         mark occurring in first pass of indirect conversion.
63988         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
63989         input.
63990         Found by clang's static analyzer.
63992 2009-09-05  Bruno Haible  <bruno@clisp.org>
63994         * tests/test-striconveh.c (main): Test indirect conversion on platforms
63995         where direct conversion is possible.
63997 2009-09-04  Eric Blake  <ebb9@byu.net>
63999         openat: fail with ENOENT on empty name
64000         * lib/openat-proc.c (openat_proc_name): Special-case the empty
64001         buffer.
64003         link-follow: fix logic bug in prior patch
64004         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
64005         reversed sense of yes and no in prior patch.  Avoid confusing
64006         compilation failure with desired semantics.
64008         link-follow: accommodate mingw and cross-compilation
64009         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
64010         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
64011         cross-compilation results to -1, to make linkat easier to
64012         implement when cross-compiling.  Trivially support mingw.
64013         * modules/link-follow (configure.ac): Call new name.
64014         * NEWS: Mention this.
64016 2009-09-03  Eric Blake  <ebb9@byu.net>
64018         faccessat: compile replacement
64019         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
64020         needed.
64022         fts: fix compilation error
64023         * lib/fts.c (includes): Re-add "openat.h", for
64024         openat_needs_fchdir.
64026         faccessat: new module
64027         * modules/faccessat: New file.
64028         * lib/faccessat.c: Likewise.
64029         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
64030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
64031         * modules/unistd (Makefile.am): Use it.
64032         * lib/unistd.in.h (faccessat): Declare it.
64033         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
64034         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
64035         * MODULES.html.sh (File system functions): Mention it.
64036         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
64037         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
64039         euidaccess: prefer POSIX over non-standard implementation
64040         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
64041         * lib/euidaccess.c (euidaccess): Use it if available.
64043         openat: make template easier to use
64044         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
64045         AT_FUNC_F2 to be undefined.
64046         (VALIDATE_FLAG): New macro; use it to reject bad flags.
64047         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
64048         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
64049         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
64050         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
64051         Likewise.
64052         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
64053         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
64054         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
64055         Likewise.
64057         openat: declare in POSIX headers
64058         * NEWS: Mention this.
64059         * modules/openat (configure.ac): Declare witnesses.
64060         (Depends-on): Add fcntl-h, sys_stat, unistd.
64061         (Include): Mention correct headers.
64062         * modules/fcntl-h (Depends-on): Add link-warning.
64063         (Files): Add openat.m4.
64064         (Makefile.am): Substitute witnesses.
64065         * modules/sys_stat (Files, Makefile.am): Likewise.
64066         * modules/unistd (Files, Makefile.am): Likewise.
64067         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
64068         (gl_OPENAT_DEFAULTS): New macro.
64069         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
64070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
64071         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
64072         (SYS_STAT_H): Remove unused variable.
64073         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
64074         * lib/fcntl--.h (includes): Remove unneeded header.
64075         * lib/openat-safer.c (includes): Likewise.
64076         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
64077         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
64078         appropriate headers.
64079         (__OPENAT_PREFIX): Delete.
64080         * lib/fcntl.in.h (openat): Provide declaration.
64081         (AT_FDCWD): Fix Solaris bug.
64082         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
64083         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
64084         * lib/fchmodat.c (includes):  Adjust to find declaration.
64085         * lib/fchownat.c (includes): Likewise.
64086         * lib/mkdirat.c (includes): Likewise.
64087         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
64088         still visible.
64090 2009-09-02  Eric Blake  <ebb9@byu.net>
64092         errno: use consistently
64093         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
64094         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
64095         * lib/canonicalize.c (ELOOP): Likewise.
64096         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
64097         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
64098         * lib/lchown.c (EOPNOTSUPP): Likewise.
64099         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
64100         * lib/savewd.c (ESTALE): Likewise.
64101         * lib/settime.c (ENOSYS): Likewise.
64102         * lib/utimens.c (ENOSYS): Likewise.
64103         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
64104         * lib/chdir-safer.c (ELOOP): Likewise.
64105         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
64106         * modules/c-stack (Depends-on): Add errno.
64107         * modules/canonicalize (Depends-on): Likewise.
64108         * modules/chdir-safer (Depends-on): Likewise.
64109         * modules/fdopendir (Depends-on): Likewise.
64110         * modules/inet_ntop (Depends-on): Likewise.
64111         * modules/inet_pton (Depends-on): Likewise.
64112         * modules/lchown (Depends-on): Likewise.
64113         * modules/openat (Depends-on): Likewise.
64114         * modules/savewd (Depends-on): Likewise.
64115         * modules/settime (Depends-on): Likewise.
64116         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
64118         fts: avoid leaking fds
64119         * modules/fts (Depends-on): Add cloexec.
64120         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
64121         flag.
64123         fts: make directory fds more robust
64124         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
64125         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
64127         backupfile, chdir-long, fts, savedir: make safer
64128         * lib/backupfile.c (includes): Use "dirent--.h", since
64129         numbered_backup can write to stderr during readdir.
64130         * lib/savedir.c (includes): Likewise.
64131         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
64132         emulation can write to stderr on failure.
64133         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
64134         * lib/getcwd.c: Document why opendir_safer is unused.
64135         * lib/glob.c: Likewise.
64136         * lib/scandir.c: Likewise.
64137         * lib/openat-proc.c: Likewise, for open_safer.
64138         * modules/backupfile (Depends-on): Add dirent-safer.
64139         * modules/savedir (Depends-on): Likewise.
64140         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
64141         * modules/chdir-long (Depends-on): Add openat-safer.
64143         openat-safer: new module
64144         * modules/openat-safer: New file.
64145         * lib/openat-safer.c: Likewise.
64146         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
64147         * lib/fcntl-safer.h (openat_safer): Declare.
64148         * lib/fcntl--.h (openat): Override.
64149         * MODULES.html.sh (File descriptor based I/O): Mention it.
64150         * lib/openat.h: Add double-inclusion guards.
64151         * lib/openat.c (includes): Only include "fcntl-safer.h", not
64152         "fcntl--.h", so we can implement openat.
64153         * modules/openat-safer-tests: New test.
64154         * tests/test-openat-safer.c: New file.
64156         dirent-safer: new module
64157         * modules/dirent-safer: New file.
64158         * lib/dirent--.h: Likewise.
64159         * lib/dirent-safer.h: Likewise.
64160         * lib/opendir-safer.c: Likewise.
64161         * m4/dirent-safer.m4: Likewise.
64162         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
64163         * modules/dirent-safer-tests: New test.
64164         * tests/test-dirent-safer.c: New file.
64165         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
64167         fdopendir: optimize on mingw
64168         * lib/unistd.in.h (_gl_directory_name): New prototype.
64169         * lib/fchdir.c (_gl_directory_name): Implement it.
64170         (fchdir): Use it to simplify implementation.
64171         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
64172         fchdir, when available, to avoid calling [f]chdir().
64174         fdopendir: split into its own module
64175         * lib/openat.c (fdopendir): Move...
64176         * lib/fdopendir.c: ...into new file.
64177         * modules/fdopendir: New module.
64178         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
64179         * modules/openat (Depends-on): Add fdopendir.
64180         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
64181         fdopendir here.
64182         * modules/savedir (Depends-on): Only need fdopendir, not full
64183         openat.
64184         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
64185         * lib/openat.h (fdopendir): Drop prototype.
64186         * lib/dirent.in.h (fdopendir): Provide prototype.
64187         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
64188         * modules/dirent (Makefile.am): Substitute them.
64189         * MODULES.html.sh (File system functions): Mention it.
64190         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
64191         * modules/fdopendir-tests: New file.
64192         * tests/test-fdopendir.c: Likewise.
64194         fchdir: use more consistent macro convention
64195         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
64196         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
64197         REPLACE_FCHDIR, rather than relying on config.h macros.
64198         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
64199         inside a single make-time REPLACE_FCHDIR block, rather than using
64200         the config.h FCHDIR_REPLACEMENT.
64201         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
64202         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
64203         Manage fstat replacement.
64204         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
64205         REPLACE_FCHDIR.
64206         * modules/sys_stat (Files): Add m4/unistd_h.m4.
64207         (Makefile.am): Substitute REPLACE_FCHDIR.
64208         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
64209         FCHDIR_REPLACEMENT.
64210         * lib/dup-safer.c (dup_safer): Likewise.
64211         * lib/dup2.c (rpl_dup2): Likewise.
64212         * lib/dup3.c (rpl_dup3): Likewise.
64213         * lib/open.c (rpl_open): Likewise.
64215         fchdir: simplify error handling, and support dup3
64216         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
64217         stdbool, malloc-posix, realloc-posix.
64218         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
64219         (ensure_dirs_slot): Return false on allocation failure.
64220         (rpl_dup2): Delete.
64221         (_gl_register_dup): New function.
64222         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
64223         (_gl_register_fd): Close fd on allocation failure.
64224         * lib/fcntl.in.h (_gl_register_fd): Update signature.
64225         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
64226         prototype.
64227         (rpl_dup2_fchdir): Delete prototype.
64228         * lib/open.c (open): Update caller.
64229         * lib/dup2.c (dup2): Track fchdir metadata.
64230         * lib/dup3.c (dup3): Likewise.
64231         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
64232         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
64234 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64236         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
64237         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
64238         don't pass arguments to AC_OUTPUT.
64240 2009-09-02  Bruno Haible  <bruno@clisp.org>
64242         * modules/mkdtemp (License): Relicense under LGPLv2+.
64243         Reported by Paolo Bonzini.
64245 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64247         Replace uses of obsolete autoconf macros in Jim's modules.
64248         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
64249         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
64250         can evoke a warning from autoconf when run with -Wobsolete
64251         enabled.  They were declared obsolete for good reasons (see
64252         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
64253         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
64254         should not continue using the deprecated macros.
64255         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
64256         obsolete Autoconf macros with modern counterparts.
64257         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64258         * m4/dos.m4 (gl_AC_DOS): Likewise.
64259         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
64260         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64261         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
64262         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
64263         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
64264         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
64265         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
64266         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
64267         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
64268         Likewise.
64269         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
64270         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64271         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
64272         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
64273         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64274         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64276 2009-09-01  Eric Blake  <ebb9@byu.net>
64278         fchdir: fix off-by-one bug in previous patch
64279         * lib/fchdir.c (rpl_fstat): Use correct bounds.
64280         (_gl_unregister_fd): Delete useless if.
64282 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
64284         maint.mk: sort the list of syntax-check rules
64285         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
64286         easier to get a sense of progress when the rules are run sequentially
64287         and take a long time.
64289 2009-09-01  Simon Josefsson  <simon@josefsson.org>
64291         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
64292         * modules/netinet_in: Likewise.
64293         * modules/sys_file: Likewise.
64294         * modules/sys_ioctl: Likewise.
64295         * modules/sys_select: Likewise.
64296         * modules/sys_socket: Likewise.
64297         * modules/sys_stat: Likewise.
64298         * modules/sys_time: Likewise.
64299         * modules/sys_times: Likewise.
64300         * modules/sys_utsname: Likewise.
64301         * modules/sys_wait: Likewise.
64303 2009-09-01  Jim Meyering  <meyering@redhat.com>
64305         fts: help ensure that return values are not ignored
64306         * lib/fts_.h (__GNUC_PREREQ): Define.
64307         (__attribute_warn_unused_result__): Define.
64308         (fts_children, fts_close, fts_open, fts_read): Declare with
64309         __attribute_warn_unused_result__.
64311         fts: fts_close now fails also when closing a dir file descriptor fails
64312         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
64313         and propagate to caller, along with errno.
64315         announce-gen: correct formatting in --help output
64316         * build-aux/announce-gen (usage): Move the one-line description in
64317         --help output "up", to where it belongs, just after Usage:.
64319 2009-08-31  Eric Blake  <ebb9@byu.net>
64321         fchdir: port to mingw
64322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
64323         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
64324         opened, then use a substitute.
64325         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
64326         replacement.
64327         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
64328         (_gl_register_fd): No need to check stat if open already filters
64329         all directories.
64330         (fchdir): Fix error condition to match POSIX.
64331         * modules/fchdir (Depends-on): Add sys_stat.
64332         * doc/posix-functions/open.texi (open): Document the limitation.
64333         * modules/fchdir-tests: New file.
64334         * tests/test-fchdir.c: Likewise.
64336         canonicalize: allow cross-testing from cygwin to mingw
64337         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
64338         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
64339         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
64340         Likewise.
64341         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
64342         target does not support symlinks.
64343         * tests/test-canonicalize-lgpl.sh: Likewise.
64345         chown: avoid compilation warning on mingw
64346         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
64347         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
64348         mingw.
64349         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
64350         * modules/chown (Depends-on): Add errno.
64352 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
64354         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
64355         command.
64357 2009-08-31  Jim Meyering  <meyering@redhat.com>
64359         canonicalize: remove useless initialization
64360         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
64361         initialization of local, "end".
64363 2009-08-30  Bruno Haible  <bruno@clisp.org>
64365         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
64366         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
64367         ENOSYS.
64369 2009-08-30  Bruno Haible  <bruno@clisp.org>
64371         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
64372         /usr/xpg4/bin/tr when it exists.
64373         * tests/test-pipe-filter-gi1.sh: Likewise.
64375 2009-08-30  Bruno Haible  <bruno@clisp.org>
64377         Work around deficient /usr/bin/id program on Solaris.
64378         * tests/test-file-has-acl.sh (ID): New variable.
64379         * tests/test-set-mode-acl.sh (ID): Likewise.
64380         * tests/test-copy-acl.sh (ID): Likewise.
64381         * tests/test-copy-file.sh (ID): Likewise.
64383 2009-08-30  Bruno Haible  <bruno@clisp.org>
64385         New module 'xstriconveh'.
64386         * lib/xstriconveh.h: New file.
64387         * lib/xstriconveh.c: New file.
64388         * modules/xstriconveh: New file.
64390 2009-08-30  Bruno Haible  <bruno@clisp.org>
64392         Make it easier to use mem_cd_iconveh.
64393         * lib/striconveh.h (iconveh_t): New type.
64394         (iconveh_open, iconveh_close): New declarations.
64395         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64396         with a single 'const iconveh_t *' argument.
64397         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
64398         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64399         with a single 'const iconveh_t *' argument.
64400         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
64401         * tests/test-striconveh.c (main): Update.
64402         * NEWS: Mention the change.
64404 2009-08-30  Bruno Haible  <bruno@clisp.org>
64406         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
64407         problem.
64409 2009-08-30  Bruno Haible  <bruno@clisp.org>
64411         Work around iconv_open problem on Solaris.
64412         * lib/iconv_open-solaris.gperf: New file.
64413         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
64414         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
64415         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
64416         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
64417         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
64418         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
64420 2009-08-29  Jim Meyering  <meyering@redhat.com>
64422         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
64423         * top/maint.mk (cvs-check): Remove target; it was just an alias
64424         to the better-named vc-diff-check.
64425         (maintainer-distcheck): Remove rule.  It was used only from
64426         the (alpha/beta/major) target, and all of its commands but one
64427         were coreutils-specific.
64428         (vc-dist): Remove rule.
64429         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
64430         Run vc-diff-check, not vc-dist.
64431         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
64433 2009-08-27  Bruno Haible  <bruno@clisp.org>
64435         * tests/test-bitrotate.c (main): Remove test that uses a shift count
64436         of 0.
64438 2009-08-27  Bruno Haible  <bruno@clisp.org>
64440         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
64441         compilers.
64442         * doc/func.texi: Document the SunPRO C bug.
64444 2009-08-27  Bruno Haible  <bruno@clisp.org>
64446         Fix link error on Solaris.
64447         * tests/test-parse-duration.c (xstrdup): Remove function.
64449 2009-08-26  Pádraig Brady  <P@draigbrady.com>
64451         ignore-value: handle pointer types, too
64452         * lib/ignore-value.h (__attribute__): Remove definition.
64453         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64454         of a more concise and more-often effective "(void) i" statement.
64455         (ignore_ptr): New function to suppress warnings from functions that
64456         return pointers, and to make it explicit that one function doesn't
64457         handle all cases.
64459 2009-08-25  Bruno Haible  <bruno@clisp.org>
64461         dup2: work around a Linux bug.
64462         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
64463         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
64464         * doc/posix-functions/dup2.texi: Mention the Linux bug.
64465         Reported by Simon Josefsson.
64467 2009-08-25  Jim Meyering  <meyering@redhat.com>
64469         libguestfs uses gnulib
64470         * users.txt: Add libguestfs.
64472 2009-08-24  Eric Blake  <ebb9@byu.net>
64474         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
64475         * lib/pipe2.c (includes): Add binary-io.h.
64476         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
64478 2009-08-24  Bruno Haible  <bruno@clisp.org>
64480         Tolerate declared but missing accept4 syscall.
64481         * lib/accept4.c (accept4): Invoke original accept4 function first, if
64482         available.
64483         * lib/sys_socket.in.h (accept4): If the function is already present,
64484         override it.
64485         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
64486         * modules/accept4 (Makefile.am): Compile accept4.c always.
64487         Reported by Paolo Bonzini and Eric Blake.
64489 2009-08-23  Bruno Haible  <bruno@clisp.org>
64491         New module 'accept4'.
64492         * lib/sys_socket.in.h (accept4): New declaration.
64493         * lib/accept4.c: New file.
64494         * m4/accept4.m4: New file.
64495         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64496         GNULIB_ACCEPT4, HAVE_ACCEPT4.
64497         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
64498         HAVE_ACCEPT4.
64499         * modules/accept4: New file.
64500         * doc/glibc-functions/accept4.texi: Mention the new module.
64502 2009-08-24  Jim Meyering  <meyering@redhat.com>
64504         progname: also set global program_invocation_name, when possible
64505         Before this change, a libtool-enabled program that calls glibc's
64506         error function would report the program name as
64507         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
64508         * modules/progname (configure.ac): Check for a declaration of
64509         program_invocation_name.
64510         * lib/progname.c:  Include <errno.h>.
64511         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
64512         Set program_invocation_name.
64514 2009-08-23  Bruno Haible  <bruno@clisp.org>
64516         * lib/dup3.c: Include <string.h>.
64518 2009-08-23  Bruno Haible  <bruno@clisp.org>
64520         * lib/dup3.c (dup3): Test only once whether the system actually exists.
64521         * lib/pipe2.c (pipe2): Likewise.
64522         Suggested by Eric Blake.
64524 2009-08-23  Bruno Haible  <bruno@clisp.org>
64526         Tolerate declared but missing dup3 syscall.
64527         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
64528         * lib/unistd.in.h (dup3): If the function is already present,
64529         override it.
64530         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
64531         * modules/dup3 (Makefile.am): Compile dup3.c always.
64532         Reported by Paolo Bonzini.
64534 2009-08-23  Bruno Haible  <bruno@clisp.org>
64536         Tolerate declared but missing pipe2 syscall.
64537         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
64538         available.
64539         * lib/unistd.in.h (pipe2): If the function is already present,
64540         override it.
64541         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
64542         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
64543         Reported by Paolo Bonzini.
64545 2009-08-23  Bruno Haible  <bruno@clisp.org>
64547         * lib/pipe2.c (pipe2): Move #ifs inside function.
64549 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64551         quotearg: document limitations of quote_these_too
64552         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
64553         those limitations are created.
64554         * lib/quotearg.h (set_char_quoting): Document that digits and
64555         letters that are special after backslash are not permitted.
64556         (quotearg_char): Cross-reference set_char_quoting documentation.
64558 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
64560         quotearg: implement custom_quoting_style
64561         * lib/quotearg.c: (struct quoting_options): Add left_quote and
64562         right_quote fields.
64563         (set_custom_quoting): New public function.
64564         (quotearg_buffer_restyled): Add left_quote and right_quote
64565         arguments, handle them very much like locale quoting, and update
64566         all uses.
64567         (quotearg_n_custom): New public function.
64568         (quotearg_n_custom_mem): New public function.
64569         (quotearg_custom): New public function.
64570         (quotearg_custom_mem): New public function.
64571         * lib/quotearg.h: Prototype and document new public functions.
64572         (enum quoting_style): For escape_quoting_style and
64573         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
64574         ignored even though they're otherwise like c_quoting_style.
64575         Add custom_quoting_style member and document with comparison to
64576         clocale_quoting_style.
64577         * tests/test-quotearg.c (custom_quotes): New array.
64578         (custom_results): New array.
64579         (main): Extend to test custom quoting.
64581 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64583         quotearg: fix right quote escaping when it's in quote_these_too
64584         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
64585         quote, be sure to prepend only one backslash.
64586         * tests/test-quotearg.c (use_quote_double_quotes): New function.
64587         (main): Test it.
64589 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64591         quotearg-tests: test escaping of embedded locale quotes
64592         * tests/test-quotearg.c (struct result_strings): Add member for
64593         new input.
64594         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
64595         (inputs): Add new input.
64596         (results_g): Add expected results.
64597         (flag_results): Likewise.
64598         (locale_results): Likewise.
64599         (compare_strings): Check those.
64601 2009-08-23  Bruno Haible  <bruno@clisp.org>
64603         Tests for module 'dup3'.
64604         * modules/dup3-tests: New file.
64605         * tests/test-dup3.c: New file.
64607         New module 'dup3'.
64608         * lib/unistd.in.h (dup3): New declaration.
64609         * lib/dup3.c: New file.
64610         * m4/dup3.m4: New file.
64611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
64612         HAVE_DUP3.
64613         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
64614         * modules/dup3: New file.
64615         * doc/glibc-functions/dup3.texi: Mention the new module.
64617 2009-08-23  Bruno Haible  <bruno@clisp.org>
64619         Tweak the dup2 test.
64620         * tests/test-dup2.c (main): Create the test file empty. Verify that an
64621         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
64622         the test file is still empty. Fix argument order of lseek.
64624 2009-08-23  Bruno Haible  <bruno@clisp.org>
64626         Avoid test link errors when the modules getopt-gnu, gettext are used.
64627         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
64628         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64630 2009-08-23  Bruno Haible  <bruno@clisp.org>
64632         Fix getdtablesize() on mingw.
64633         * lib/getdtablesize.c (getdtablesize): Implement differently.
64634         * lib/unistd.in.h (getdtablesize): Improve comment.
64636 2009-08-23  Bruno Haible  <bruno@clisp.org>
64638         New module 'mkostemp'.
64639         Based on Ulrich Drepper's 2007-08-10 change in glibc.
64640         * lib/stdlib.in.h (mksotemp): New declaration.
64641         * lib/mkostemp.c: New file, from glibc with modifications.
64642         * lib/tempname.h (GT_FILE): Remove outdated comment.
64643         (gen_tempname): Add flags argument.
64644         * lib/tempname.c (__GT_BIGFILE): Remove macro.
64645         (__GT_FILE): Map to 1.
64646         (small_open, large_open): Remove macros.
64647         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
64648         * lib/mkstemp.c (mkstemp): Update.
64649         * lib/mkdtemp.c (mkdtemp): Likewise.
64650         * m4/mkostemp.m4: New file.
64651         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
64652         HAVE_MKOSTEMP.
64653         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
64654         HAVE_MKOSTEMP.
64655         * modules/mkostemp: New file, based on modules/mkstemp.
64656         * doc/glibc-functions/mkostemp.texi: Mention the new module.
64657         * NEWS: Mention the change.
64659 2009-08-23  Bruno Haible  <bruno@clisp.org>
64661         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
64662         Reported by Eric Blake.
64664 2009-08-23  Bruno Haible  <bruno@clisp.org>
64666         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
64667         Reported by Eric Blake.
64669 2009-08-23  Bruno Haible  <bruno@clisp.org>
64671         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
64672         * modules/pipe2 (Depends-on): Likewise.
64674 2009-08-23  Eric Blake  <ebb9@byu.net>
64676         fcntl-h: add O_TTY_INIT support
64677         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
64678         * tests/test-fcntl-h.c (o): Test it.
64679         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64681         fcntl-h: rename from fcntl, in preparation for fcntl(2)
64682         * modules/fcntl: Move <fcntl.h> header replacement...
64683         * modules/fcntl-h: ...to new name, so as not to collide with
64684         like-named function.
64685         * tests/test-fcntl.c: Rename...
64686         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
64687         * modules/fcntl-tests: Rename...
64688         * modules/fcntl-h-tests: ...to this.  Update test file name.
64689         * modules/chdir-long (Depends-on): Update clients.
64690         * modules/chdir-safer (Depends-on): Likewise.
64691         * modules/fcntl-safer (Depends-on): Likewise.
64692         * modules/fts (Depends-on): Likewise.
64693         * modules/mkancesdirs (Depends-on): Likewise.
64694         * modules/mkdir-p (Depends-on): Likewise.
64695         * modules/open (Depends-on): Likewise.
64696         * modules/savewd (Depends-on): Likewise.
64697         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
64698         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64700 2009-08-22  Bruno Haible  <bruno@clisp.org>
64702         * modules/binary-io (License): Relicense under LGPL.
64703         * modules/pipe2 (License): Likewise.
64705 2009-08-22  Bruno Haible  <bruno@clisp.org>
64707         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
64708         return value.
64709         * lib/pipe-filter-gi.c (filter_init): Likewise.
64710         Reported by Eric Blake.
64712 2009-08-22  Bruno Haible  <bruno@clisp.org>
64714         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
64715         * modules/pipe (Depends-on): Add pipe2.
64717 2009-08-22  Bruno Haible  <bruno@clisp.org>
64719         Tests for module 'pipe2'.
64720         * modules/pipe2-tests: New file.
64721         * tests/test-pipe2.c: New file.
64723         New module 'pipe2'.
64724         * lib/unistd.in.h (pipe2): New declaration.
64725         * lib/pipe2.c: New file.
64726         * m4/pipe2.m4: New file.
64727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
64728         HAVE_PIPE2.
64729         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
64730         * modules/pipe2: New file.
64731         * doc/glibc-functions/pipe2.texi: Mention the new module.
64733 2009-08-22  Bruno Haible  <bruno@clisp.org>
64735         Reference some new glibc functions.
64736         * doc/glibc-functions/accept4.texi: New file.
64737         * doc/glibc-functions/dup3.texi: New file.
64738         * doc/glibc-functions/mkostemp.texi: New file.
64739         * doc/glibc-functions/pipe2.texi: New file.
64740         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64741         (Glibc sys/socket.h): Refer to accept4.
64742         (Glibc unistd.h): Refer to dup3, pipe2.
64743         Reported by Eric Blake.
64745 2009-08-22  Jim Meyering  <meyering@redhat.com>
64746             Bruno Haible  <bruno@clisp.org>
64748         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64749         This makes it so packages using automake-1.11's silent-rules option
64750         can print e.g., a single "GEN    configmake.h" line, rather than
64751         the 30+ statements that perform the job.  If you want to see the
64752         actual commands, you can still run "make V=1".
64753         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64754         so that make output is abbreviated when those variables are defined
64755         appropriately.
64756         * modules/argz: Likewise.
64757         * modules/arpa_inet: Likewise.
64758         * modules/byteswap: Likewise.
64759         * modules/configmake: Likewise.
64760         * modules/dirent: Likewise.
64761         * modules/errno: Likewise.
64762         * modules/fcntl: Likewise.
64763         * modules/float: Likewise.
64764         * modules/fnmatch: Likewise.
64765         * modules/getopt-posix: Likewise.
64766         * modules/glob: Likewise.
64767         * modules/iconv_open: Likewise.
64768         * modules/inttypes: Likewise.
64769         * modules/localcharset: Likewise.
64770         * modules/locale: Likewise.
64771         * modules/math: Likewise.
64772         * modules/netdb: Likewise.
64773         * modules/netinet_in: Likewise.
64774         * modules/poll: Likewise.
64775         * modules/posix_spawnp-tests: Likewise.
64776         * modules/sched: Likewise.
64777         * modules/search: Likewise.
64778         * modules/selinux-h: Likewise.
64779         * modules/signal: Likewise.
64780         * modules/spawn: Likewise.
64781         * modules/stdarg: Likewise.
64782         * modules/stdbool: Likewise.
64783         * modules/stddef: Likewise.
64784         * modules/stdint: Likewise.
64785         * modules/stdio: Likewise.
64786         * modules/stdlib: Likewise.
64787         * modules/string: Likewise.
64788         * modules/strings: Likewise.
64789         * modules/sys_file: Likewise.
64790         * modules/sys_ioctl: Likewise.
64791         * modules/sys_select: Likewise.
64792         * modules/sys_socket: Likewise.
64793         * modules/sys_stat: Likewise.
64794         * modules/sys_time: Likewise.
64795         * modules/sys_times: Likewise.
64796         * modules/sys_utsname: Likewise.
64797         * modules/sys_wait: Likewise.
64798         * modules/sysexits: Likewise.
64799         * modules/time: Likewise.
64800         * modules/unistd: Likewise.
64801         * modules/wchar: Likewise.
64802         * modules/wctype: Likewise.
64804 2009-08-22  Jim Meyering  <meyering@redhat.com>
64806         announce-gen: detect write failure
64807         * build-aux/announce-gen: Add Coda at end.
64808         Remove equivalent-but-more-verbose block at top.
64810 2009-08-19  Akim Demaille  <demaille@gostai.com>
64812         bootstrap: --help to stdout.
64813         * bootstrap (usage): Don't send --help to stderr.
64814         Use a here doc instead of a long string.
64816 2009-08-21  Eric Blake  <ebb9@byu.net>
64818         test-popen-safer: split from test-popen
64819         * tests/test-popen.c (main): Move...
64820         * tests/test-popen.h: ...into new file.
64821         * tests/test-popen-safer2.c: New file.
64822         * modules/popen-tests (Files): Add test-popen.h.
64823         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64824         Suggested by Bruno Haible.
64826         test-fcntl-safer: split from test-open
64827         * tests/test-open.c (main): Move...
64828         * tests/test-open.h: ...into new file.
64829         * tests/test-fcntl-safer.c: New file.
64830         * modules/open-tests (Files): Add test-open.h.
64831         * modules/fcntl-safer-tests: New file.
64832         Suggested by Bruno Haible.
64834         test-fopen-safer: split from test-fopen
64835         * tests/test-fopen.c (main): Move...
64836         * tests/test-fopen.h: ...into new file.
64837         * tests/test-fopen-safer.c: New file.
64838         * modules/fopen-tests (Files): Add test-fopen.h.
64839         * modules/fopen-safer-tests: New file.
64840         Suggested by Bruno Haible.
64842 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64844         popen-safer: test O_CLOEXEC at run-time.
64845         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64847 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64849         fcntl: move more flags to the header
64850         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64851         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64852         * lib/fcntl.in.h: Do both things here.
64854 2009-08-21  Jim Meyering  <meyering@redhat.com>
64856         consistently remove $@-t before redirecting to it
64857         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64858         * modules/alloca-opt: Likewise.
64859         * modules/byteswap: Likewise.
64860         * modules/fnmatch: Likewise.
64861         * modules/getopt-posix: Likewise.
64862         * modules/glob: Likewise.
64863         * modules/poll: Likewise.
64864         * modules/posix_spawnp-tests: Likewise.
64865         * modules/sys_socket: Likewise.
64866         * modules/sysexits: Likewise.
64868 2009-08-21  Eric Blake  <ebb9@byu.net>
64870         popen: simplify access to original popen
64871         * lib/popen.c (rpl_popen): No need to worry about popen being a
64872         macro.
64873         Reported by Bruno Haible.
64875 2009-08-20  Eric Blake  <ebb9@byu.net>
64877         build: avoid some compiler warnings
64878         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64879         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64880         type.
64881         (new_exclude_segment, excluded_file_pattern_p)
64882         (excluded_file_name_p): Reduce scope.
64883         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64884         old-style declaration.
64886 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64888         * tests/test-exclude1.sh: Handle Windows EOL.
64889         * tests/test-exclude2.sh: Likewise.
64890         * tests/test-exclude3.sh: Likewise.
64891         * tests/test-exclude4.sh: Likewise.
64892         * tests/test-exclude5.sh: Likewise.
64893         * tests/test-exclude6.sh: Likewise.
64894         * tests/test-exclude7.sh: Likewise.
64896 2009-08-19  Akim Demaille  <demaille@gostai.com>
64898         bootstrap: find sha1sum when named gsha1sum.
64899         * bootstrap (find_tool): New.
64900         ($SHA1SUM): New.
64901         Use it.
64903 2009-08-20  Jim Meyering  <meyering@redhat.com>
64905         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64906         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64907         expression that converts "." in a file name to "\." in the resulting
64908         regexp.  Start with a dummy statement, so that prior shell variable
64909         definitions are expanded portably.  Reported by Simon Josefsson.
64911 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64913         Fix polling for writeability of a screen buffer.
64914         * lib/poll.c: Distinguish input and screen buffers for the
64915         Win32 implementation.
64916         * lib/select.c: Likewise.
64918 2009-08-19  Eric Blake  <ebb9@byu.net>
64920         popen-safer: prevent popen from clobbering std descriptors
64921         * modules/popen-safer: New file.
64922         * lib/popen-safer.c: Likewise.
64923         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64924         * lib/stdio--.h (popen): Provide override.
64925         * lib/stdio-safer.h (popen_safer): Provide declaration.
64926         * tests/test-popen.c (includes): Partially test this.
64927         * modules/popen-safer-tests: New file, for more tests.
64928         * tests/test-popen-safer.c: Likewise.
64929         * MODULES.html.sh (file stream based Input/Output): Mention it.
64931         tests: test some of the *-safer modules
64932         * modules/fopen-safer (Depends-on): Add fopen.
64933         * modules/fcntl-safer (Depends-on): Add fcntl.
64934         * modules/stdlib-safer (Depends-on): Add stdlib.
64935         (configure.ac): Set indicator.
64936         * modules/unistd-safer (configure.ac): Likewise.
64937         * modules/tmpfile-safer (configure.ac): Likewise.
64938         (Depends-on): Add tmpfile.
64939         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64940         active.
64941         * tests/test-fopen.c (includes): Test safer versions when they are
64942         in use.
64943         * tests/test-open.c (includes): Likewise.
64945         popen: fix cygwin 1.5 bug when stdin closed
64946         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64947         * modules/popen: New file.
64948         * modules/popen-tests: Likewise.
64949         * tests/test-popen.c: Likewise.
64950         * m4/popen.m4: Likewise.
64951         * lib/popen.c: Likewise.
64952         * lib/stdio.in.h (popen): New declaration.
64953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64954         * modules/stdio (Makefile.am): Likewise.
64955         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64957 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64959         maint.mk: give full control over update-copyright exclusions
64960         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64961         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64962         (update-copyright): Don't force inclusion of top-level
64963         ChangeLog.  Don't force exclusion of all COPYING files, but make
64964         them the default exclusion instead.
64966 2009-08-16  Bruno Haible  <bruno@clisp.org>
64968         Fix test failures on Solaris 10.
64969         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
64970         tests when Solaris iconv() is used.
64971         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64972         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64973         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64974         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64975         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64977 2009-08-16  Bruno Haible  <bruno@clisp.org>
64979         Fix test failures on Solaris 10.
64980         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
64981         'tr' program and pass it as first argument.
64982         * tests/test-pipe-filter-gi1.sh: Likewise.
64983         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
64984         program as first argument.
64985         * tests/test-pipe-filter-gi1.c (main): Likewise.
64987 2009-08-16  Eric Blake  <ebb9@byu.net>
64989         fpurge: fix previous commits
64990         * modules/fpurge (Makefile.am): Make replacement conditional,
64991         partially reverting 2007-04-29 change; missed in previous
64992         attempt.
64993         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
64994         is missing.
64996 2009-08-16  Bruno Haible  <bruno@clisp.org>
64998         Clarify fpurge's effect on the file position.
64999         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
65000         * tests/test-fpurge.c (main): Make a second pass for checking the file
65001         position.
65003 2009-08-16  Bruno Haible  <bruno@clisp.org>
65005         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
65006         declaration of fpurge is missing.
65007         * tests/test-fpurge.c (main): Check that the file has not more contents
65008         than expected. Close the file before removing it.
65010 2009-08-15  Eric Blake  <ebb9@byu.net>
65012         fpurge: don't wrap working cygwin implementation
65013         * lib/fpurge.c (fpurge): Fix comment typo.
65014         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
65015         1.7 to avoid replacement.
65016         * tests/test-fpurge.c (main): Enhance test.
65018 2009-08-15  Eric Blake  <ebb9@byu.net>
65019         and Jim Meyering  <meyering@redhat.com>
65021         test-update-copyright: skip if perl is insufficient
65022         * tests/test-update-copyright.sh: Failure to run maintainer tool
65023         should not cause testsuite failure on cygwin 1.5.
65025 2009-08-14  Eric Blake  <ebb9@byu.net>
65027         doc: mention more functions added in cygwin 1.7.0
65028         * doc/posix-headers/limits.texi (limits.h): Update for recent
65029         cygwin additions.
65030         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
65031         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
65032         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
65033         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
65034         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
65036 2009-08-14  Eric Blake  <ebb9@byu.net>
65038         maint.mk: simplify update-copyright rule
65039         * top/maint.mk (update-copyright-local): Delete, and document how
65040         to do it in cfg.mk instead.
65041         (update-copyright-exclude-regexp): Delete, and document how to do
65042         it in .x-update-copyright instead.
65043         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
65044         exclude ChangeLog.
65046 2009-08-14  Bruno Haible  <bruno@clisp.org>
65048         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
65050 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65052         maint.mk: support update-copyright-env
65053         * top/maint.mk (update-copyright-env): Define place-holder.
65054         (update-copyright): Expand $(update-copyright-env) before
65055         invoking update-copyright.
65057 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65059         update-copyright: implement forced reformatting
65060         * build-aux/update-copyright: Implement and document
65061         UPDATE_COPYRIGHT_FORCE.
65062         * tests/test-update-copyright.sh: Test it.
65064 2009-08-14  Eric Blake  <ebb9@byu.net>
65065         and Bruno Haible  <bruno@clisp.org>
65067         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
65068         * tests/test-locale.c: Revert previous patch related to NULL.
65069         * tests/test-stdio.c: Likewise.
65070         * tests/test-stdlib.c: Likewise.
65071         * tests/test-string.c: Likewise.
65072         * tests/test-unistd.c: Likewise.
65073         * modules/time-tests (Depends-on): Add verify.
65074         * modules/wchar-tests (Depends-on): Likewise.
65075         * tests/test-time.c: Test for NULL compliance.
65076         * tests/test-wchar.c: Likewise.
65077         * modules/locale (Depends-on): Add stddef.
65078         * modules/stdio (Depends-on): Likewise.
65079         * modules/stdlib (Depends-on): Likewise.
65080         * modules/string (Depends-on): Likewise.
65081         * modules/time (Depends-on): Likewise.
65082         * modules/unistd (Depends-on): Likewise.
65083         * modules/wchar (Depends-on): Likewise.
65084         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
65085         * lib/stdlib.in.h (includes): Likewise.
65086         * lib/string.in.h (includes): Likewise.
65087         * lib/time.in.h (includes): Likewise.
65088         * lib/unistd.in.h (includes): Likewise.
65089         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
65090         replaced.
65091         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65092         * m4/stddef_h.m4: New file.
65093         * modules/stddef: Likewise.
65094         * lib/stddef.in.h: Likewise.
65095         * modules/stddef-tests: Likewise.
65096         * tests/test-stddef.c: Likewise.
65097         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
65098         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
65099         * doc/posix-headers/locale.texi (locale.h): Likewise.
65100         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
65101         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65102         * doc/posix-headers/string.texi (string.h): Likewise.
65103         * doc/posix-headers/time.texi (time.h): Likewise.
65104         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
65105         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
65107 2009-08-14  Eric Blake  <ebb9@byu.net>
65109         doc: improve git diff of texinfo files
65110         * .gitattributes: Add rule for *.texi files, with hint on how to
65111         use it.
65112         Copied from m4, and based on a report by Bruno Haible.
65114 2009-08-14  Bruno Haible  <bruno@clisp.org>
65116         Disable multithread support by default on Cygwin 1.5.x for real.
65117         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
65119 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65121         update-copyright: much ado about intervals
65122         * build-aux/update-copyright: Implement and document
65123         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
65124         of copyright year intervals.
65125         Also, document UPDATE_COPYRIGHT_YEAR.
65126         * tests/test-update-copyright.sh: Test it.
65128         update-copyright: convert 2-digit to 4-digit years
65129         * build-aux/update-copyright: Implement and document.
65130         * tests/test-update-copyright.sh: Update.
65132 2009-08-14  Jim Meyering  <meyering@redhat.com>
65134         test-exclude: avoid coreutils "make check" failure
65135         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
65136         just as in test-argmatch.c.
65138 2009-08-13  Eric Blake  <ebb9@byu.net>
65140         test-dup2: fix bad assumption
65141         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
65142         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
65144         test-version-etc: fix CRLF portability issue
65145         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
65146         recognize \r.
65147         * tests/test-argp-version-etc-1.sh: Likewise.
65149         getopt: update client modules
65150         * modules/argp (Depends-on): Use getopt-gnu.
65151         * modules/git-merge-changelog (Depends-on): Likewise.
65152         * modules/long-options (Depends-on): Likewise.
65153         * modules/xstrtol (Depends-on): Likewise.
65155 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65157         * tests/test-version-etc.sh: Don't fail on different
65158         project/version.  Don't fail on CRLF differences.  Rewrite to use
65159         multiple -e instead of multiple sed forks, suggested by Eric Blake
65160         <ebb9@byu.net>.
65161         * tests/test-argp-version-etc-1.sh: Likewise.
65163 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65165         * tests/test-version-etc.sh: Don't fail on different
65166         project/version.
65168 2009-08-12  Bruno Haible  <bruno@clisp.org>
65170         Tests for modules 'getopt-posix', 'getopt-gnu'.
65171         * modules/getopt-posix-tests: New file.
65172         * tests/test-getopt.c: New file.
65173         * tests/test-getopt.h: New file.
65174         * tests/test-getopt_long.h: New file.
65176         New modules 'getopt-posix', 'getopt-gnu'.
65177         * modules/getopt-gnu: New file, renamed from modules/getopt.
65178         * modules/getopt-posix: New file.
65179         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
65180         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
65181         (gl_GETOPT): Remove macro.
65182         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
65183         Disable the test against BSD systems that declare optreset. Test
65184         against mingw bug. Test against lack of support of optional arguments
65185         on many platforms.
65186         * doc/glibc-headers/getopt.texi: Update module name and list of
65187         relevant platforms.
65188         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
65189         'getopt-gnu' and more portability problems.
65190         * NEWS: Mention the changes.
65192 2009-08-12  Bruno Haible  <bruno@clisp.org>
65194         Ensure that optarg etc. get declared by <unistd.h>.
65195         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
65196         AC_USE_SYSTEM_EXTENSIONS.
65197         * modules/getopt (Depends-on): Add 'extensions'.
65199 2009-08-12  Bruno Haible  <bruno@clisp.org>
65201         Avoid test link errors.
65202         * modules/pipe-filter-ii-tests (Makefile.am): Define
65203         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
65204         * modules/pipe-filter-gi-tests (Makefile.am): Define
65205         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
65206         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65208 2009-08-12  Bruno Haible  <bruno@clisp.org>
65210         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
65211         gl_GETOPT_SUBSTITUTE before.
65212         (gl_GETOPT): Use it.
65213         * m4/argp.m4 (gl_ARGP): Update.
65214         Reported by Sergey Poznyakoff.
65216         * m4/getopt.m4: Reorder macros.
65217         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
65218         (gl_GETOPT_SUBSTITUTE): Remove macro.
65220 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65222         Minor improvement in gitlog-to-changelog
65224         * build-aux/gitlog-to-changelog: New option `--format' makes
65225         output format string configurable.
65227 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65229         Optimize exclude: use hash tables for non-wildcard patterns.
65231         * lib/exclude.c: Include hash.h and mbuiter.h
65232         (struct exclude_pattern, exclude_segment): New data types.
65233         (struct exclude): Rewrite.
65234         (fnmatch_pattern_has_wildcards): New function.
65235         (new_exclude_segment, free_exclude_segment): New functions.
65236         (excluded_file_pattern_p, excluded_file_name_p): New functions.
65237         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
65238         * lib/exclude.h (is_fnmatch_pattern): New prototype.
65239         * modules/exclude: Depend on hash and mbuiter.
65241         * modules/exclude-tests: New file.
65242         * tests/test-exclude.c: New file.
65243         * tests/test-exclude1.sh: New file.
65244         * tests/test-exclude2.sh: New file.
65245         * tests/test-exclude3.sh: New file.
65246         * tests/test-exclude4.sh: New file.
65247         * tests/test-exclude5.sh: New file.
65248         * tests/test-exclude6.sh: New file.
65249         * tests/test-exclude7.sh: New file.
65251 2009-08-12  Bruno Haible  <bruno@clisp.org>
65253         Ensure that getopt() gets declared by <unistd.h>.
65254         * lib/unistd.in.h: Conditionally include getopt.h.
65255         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
65256         Set GNULIB_UNISTD_H_GETOPT.
65257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65258         GNULIB_UNISTD_H_GETOPT.
65259         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
65261 2009-08-12  Bruno Haible  <bruno@clisp.org>
65263         Clarify logic.
65264         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
65265         gl_replace_getopt instead of GETOPT_H.
65267 2009-08-12  Bruno Haible  <bruno@clisp.org>
65269         * m4/getopt.m4: Add comments.
65271 2009-08-12  Bruno Haible  <bruno@clisp.org>
65273         Disable multithread support by default on Cygwin 1.5.x.
65274         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
65275         set gl_use_threads=no if not specified otherwise.
65277 2009-08-11  Bruno Haible  <bruno@clisp.org>
65279         Avoid compilation error on NetBSD 5.0.
65280         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
65281         * tests/test-stdio.c: Likewise.
65282         * tests/test-stdlib.c: Likewise.
65283         * tests/test-string.c: Likewise.
65284         * tests/test-unistd.c: Likewise.
65285         Reported by Greg Troxel <gdt@ir.bbn.com>
65286         at <https://savannah.gnu.org/support/?106973>.
65288 2009-08-11  Bruno Haible  <bruno@clisp.org>
65290         * modules/dup2-tests (Depends-on): Remove close.
65292         Undo 2009-07-19 commit.
65293         * modules/acl-tests (Depends-on): Remove close.
65294         * modules/binary-io-tests (Depends-on): Likewise.
65295         * modules/closein-tests (Depends-on): Likewise.
65296         * modules/flock-tests (Depends-on): Likewise.
65297         * modules/fsync-tests (Depends-on): Likewise.
65298         * modules/lseek-tests (Depends-on): Likewise.
65299         * modules/pipe-tests (Depends-on): Likewise.
65300         * modules/posix_spawn-tests (Depends-on): Likewise.
65301         * modules/posix_spawnp-tests (Depends-on): Likewise.
65302         * modules/stat-time-tests (Depends-on): Likewise.
65303         * modules/yesno-tests (Depends-on): Likewise.
65305 2009-08-10  Bruno Haible  <bruno@clisp.org>
65307         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
65309 2009-08-10  Bruno Haible  <bruno@clisp.org>
65311         Fix a gcc warning.
65312         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
65314 2009-08-10  Bruno Haible  <bruno@clisp.org>
65316         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
65317         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
65318         not only the first time.
65319         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
65320         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
65321         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
65322         is 1, not only the first time.
65324 2009-08-10  Bruno Haible  <bruno@clisp.org>
65326         Make it possible to use module 'gethostname' without module 'close'.
65327         * lib/unistd.in.h (close): Evoke a link error only if
65328         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65329         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65330         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65331         * modules/unistd (Makefile.am): Substitute
65332         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65333         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
65334         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65335         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
65336         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65337         * modules/sys_ioctl (Makefile.am): Substitute
65338         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65339         * modules/socket (configure.ac): On native Windows, set
65340         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
65341         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65342         Reported by Sam Steingold <sds@gnu.org>.
65344 2009-08-10  Bruno Haible  <bruno@clisp.org>
65346         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
65347         * modules/ioctl (configure.ac): Likewise.
65349 2009-08-10  Bruno Haible  <bruno@clisp.org>
65351         Avoid collision between gnulib wrapper and libintl wrapper.
65352         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
65353         already defined in intl/printf.c.
65354         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
65355         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
65357 2009-08-09  Bruno Haible  <bruno@clisp.org>
65359         Make <sys/select.h> really self-contained, also on Solaris 10.
65360         * lib/sys_select.in.h: Include <string.h>.
65361         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
65362         Solaris 10 problem.
65363         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
65364         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
65365         Reported by Jim Meyering.
65367 2009-08-09  Bruno Haible  <bruno@clisp.org>
65369         Avoid warnings from 'aclocal' that are due to a use of macro name
65370         AM_XGETTEXT_OPTION that is not defined in automake.
65371         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
65372         automake.
65373         * modules/error (configure.ac): Likewise.
65374         * modules/propername (configure.ac): Likewise.
65375         * modules/vasprintf (configure.ac): Likewise.
65376         * modules/verror (configure.ac): Likewise.
65377         * modules/xprintf (configure.ac): Likewise.
65378         * modules/xvasprintf (configure.ac): Likewise.
65380 2009-08-08  Bruno Haible  <bruno@clisp.org>
65382         Avoid compilation error in C++ mode.
65383         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
65384         Reported by Sam Steingold <sds@gnu.org>.
65386 2009-08-08  Bruno Haible  <bruno@clisp.org>
65388         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
65389         for the various Unix platforms.
65390         * doc/posix-headers/limits.texi: Update platforms list regarding
65391         HOST_NAME_MAX.
65392         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65394 2009-08-07  Jim Meyering  <meyering@redhat.com>
65396         selinux-at: fix typo in a comment
65397         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
65398         Spotted by Paolo Bonzini.
65400         selinux-at: remove redundant m4 code, add documentation
65401         * modules/selinux-at (configure.ac): Remove redundant code.
65402         LIB_SELINUX is already set via the dependent module, selinux-h.
65403         (Include): Add quotes around selinux-at.h.
65404         * lib/selinux-at.h: Add documentation.
65405         Reported by Bruno Haible in
65406         http://marc.info/?l=gnulib-bug&m=124958988300749
65408 2009-08-07  Bruno Haible  <bruno@clisp.org>
65410         Avoid link error on MacOS X 10.3 and 10.4.
65411         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
65412         on non-ELF systems.
65413         * lib/argp-pv.c (argp_program_version): Likewise.
65414         Reported by Simon Josefsson.
65416 2009-08-07  Simon Josefsson  <simon@josefsson.org>
65418         * tests/test-version-etc.sh: Use $EXEEXT.
65420 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
65422         update-copyright: update documentation to point to maint.mk
65423         * build-aux/update-copyright: Here.
65425 2009-08-06  Jim Meyering  <meyering@redhat.com>
65427         maint.mk: support update-copyright-local
65428         * top/maint.mk (update-copyright-local): Define place-holder.
65429         (update-copyright): Depend on $(update-copyright-local).
65431 2009-08-06  Jim Meyering  <meyering@redhat.com>
65433         selinux-at: new module
65434         Initially written for coreutils, this module will soon be
65435         used by findutils, too.
65436         * MODULES.html.sh [Misc]: Add selinux-at.
65437         * lib/selinux-at.h: New file, from coreutils.
65438         * lib/selinux-at.c: Likewise.
65439         * modules/selinux-at: Likewise.
65440         (License): Change from LGPL to GPL, since it depends
65441         on the GPL'd openat module.
65443         doc: update README
65444         * README: Remove references to cogito.
65445         Remove cvs-repo-updating instructions from 2007.
65446         Don't imply that CVS is better if you have limited disk space.
65448 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65450         update-copyright: support C-style comments
65451         * build-aux/update-copyright: Implement and document.
65452         * tests/test-update-copyright.sh: Test.
65454 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65456         update-copyright: support omitted "(C)"
65457         * build-aux/update-copyright: Implement and document.  Also,
65458         allow variable whitespace before "(C)".
65459         * tests/test-update-copyright.sh: Test.
65461 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65463         update-copyright: don't trip on non-FSF copyright statements
65464         * build-aux/update-copyright: Fix so that the first correctly
65465         formatted FSF copyright statement is recognized no matter what
65466         appears before it.  Update documentation.
65467         * tests/test-update-copyright.sh: Test that.
65469 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65471         update-copyright: clean up code a little
65472         * build-aux/update-copyright: Append "_re" to the name of any
65473         variable holding a regular expression.
65474         Replace "old" and "new" with "stmt" in variable names.
65475         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
65476         handled correctly.
65477         Format code more consistently.
65479 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65481         update-copyright-tests: improve portability
65482         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
65483         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
65485 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65487         update-copyright: support @copyright{} and &copy;
65488         * build-aux/update-copyright: Implement and document.
65489         * tests/test-update-copyright.sh: Test.
65491 2009-08-04  Jim Meyering  <meyering@redhat.com>
65493         update-copyright-tests: correctly test EOL=\r\n handling
65494         * tests/test-update-copyright.sh: Put \r at the end of some lines
65495         for the dos-eol tests.  Based on a patch by Joel E. Denny.
65497         maint.mk: make update-copyright exclusion list more configurable
65498         * top/maint.mk (update-copyright): Default to excluding COPYING,
65499         but allow an override, in case someone does want to update that file.
65501         maint.mk: don't update copyright date in COPYING
65502         * top/maint.mk (update-copyright): Exclude COPYING.
65504         maint.mk: add a copyright-updating rule
65505         * top/maint.mk (update-copyright): New rule.
65506         Derived from coreutils/Makefile.am.
65508         update-copyright: rename some variables
65509         * build-aux/update-copyright: Rename a few variables for clarity.
65510         Tweak syntax.  List Joel E. Denny as coauthor.
65512 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65514         update-copyright: fix bug for 2-digit last year and add tests
65515         * build-aux/update-copyright: Fix bug.
65516         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
65517         specified.
65518         * modules/update-copyright-tests: New
65519         * tests/test-update-copyright.sh: New.
65521 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65523         update-copyright: handle leading tabs in line prefix
65524         * build-aux/update-copyright: Count leading tabs as 8 spaces
65525         when computing margin.  This helps with the formatting of
65526         ChangeLogs, for example.
65527         Fix documentation a little.
65529 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65531         update-copyright: support EOL=\r\n
65532         * build-aux/update-copyright: Implement that.
65534 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65536         update-copyright: automatically format copyright statements
65537         * build-aux/update-copyright: Implement that.
65538         Also, be a little more predictable and safer by always failing
65539         when the full copyright format is not perfectly recognized as an
65540         unbroken whole.  Discussed at
65541         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
65542         Rewrite documentation.
65544 2009-08-03  Bruno Haible  <bruno@clisp.org>
65546         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
65548 2009-08-02  Bruno Haible  <bruno@clisp.org>
65550         Tests for module 'uname'.
65551         * modules/uname-tests: New file.
65552         * tests/test-uname.c: New file.
65554         New module 'uname'.
65555         * lib/uname.c: New file.
65556         * m4/uname.m4: New file.
65557         * modules/uname: New file.
65558         * doc/posix-functions/uname.texi: Mention the new module.
65560 2009-08-02  Bruno Haible  <bruno@clisp.org>
65562         Tests for module 'sys_utsname'.
65563         * modules/sys_utsname-tests: New file.
65564         * tests/test-sys_utsname.c: New file.
65566         New module 'sys_utsname'.
65567         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
65568         * m4/sys_utsname_h.m4: New file.
65569         * modules/sys_utsname: New file.
65570         * doc/posix-headers/sys_utsname.texi: Mention the new module.
65572 2009-08-02  Bruno Haible  <bruno@clisp.org>
65574         Implicitly initialize the sockets library.
65575         * lib/gethostname.c: Include sockets.h.
65576         (rpl_gethostname): Invoke gl_sockets_startup.
65577         * lib/socket.c: Include sockets.h.
65578         (rpl_socket): Invoke gl_sockets_startup.
65579         * modules/gethostname (Depends-on): Add sockets.
65580         * modules/socket (Depends-on): Likewise.
65581         * tests/test-poll.c: Don't include sockets.h.
65582         (main): Don't invoke gl_sockets_startup.
65583         * tests/test-select.c: Don't include sockets.h.
65584         (main): Don't invoke gl_sockets_startup.
65586 2009-08-02  Bruno Haible  <bruno@clisp.org>
65588         Allow multiple calls to gl_sockets_startup.
65589         * lib/sockets.c (initialized_sockets_version): New variable.
65590         (gl_sockets_startup): Do nothing if already called for this or a higher
65591         version.
65592         (gl_sockets_cleanup): Reset initialized_sockets_version.
65594 2009-08-03  Simon Josefsson  <simon@josefsson.org>
65596         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
65597         different project/version.
65599 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
65600             Bruno Haible  <bruno@clisp.org>
65602         Tests for module 'pipe-filter-gi'.
65603         * modules/pipe-filter-gi-tests: New file.
65604         * tests/test-pipe-filter-gi1.sh: New file.
65605         * tests/test-pipe-filter-gi1.c: New file.
65606         * tests/test-pipe-filter-gi2.sh: New file.
65607         * tests/test-pipe-filter-gi2-main.c: New file.
65608         * tests/test-pipe-filter-gi2-child.c: New file.
65610         New module 'pipe-filter-gi'.
65611         * lib/pipe-filter-gi.c: New file.
65612         * modules/pipe-filter-gi: New file.
65614 2009-08-02  Bruno Haible  <bruno@clisp.org>
65615             Paolo Bonzini  <bonzini@gnu.org>
65617         Tests for module 'pipe-filter-ii'.
65618         * modules/pipe-filter-ii-tests: New file.
65619         * tests/test-pipe-filter-ii1.sh: New file.
65620         * tests/test-pipe-filter-ii1.c: New file.
65621         * tests/test-pipe-filter-ii2.sh: New file.
65622         * tests/test-pipe-filter-ii2-main.c: New file.
65623         * tests/test-pipe-filter-ii2-child.c: New file.
65625         New module 'pipe-filter-ii'.
65626         * lib/pipe-filter.h: New file.
65627         * lib/pipe-filter-ii.c: New file.
65628         * lib/pipe-filter-aux.h: New file.
65629         * modules/pipe-filter-ii: New file.
65631 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65633         * lib/gc-libgcrypt.c: Change copyright to FSF.
65634         * lib/gc-gnulib.c: Likewise.
65636 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
65638         * lib/gethostname.c: Include limits.h.
65640 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65641             Bruno Haible  <bruno@clisp.org>
65643         Ensure HOST_NAME_MAX as part of the gethostname module.
65644         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
65645         define also HOST_NAME_MAX.
65646         * tests/test-gethostname.c: Include <limits.h>.
65647         (main): Check also HOST_NAME_MAX.
65648         * doc/posix-headers/limits.texi: Document the mingw problem.
65650 2009-08-02  Bruno Haible  <bruno@clisp.org>
65652         * lib/gethostname.c (gethostname): Fix handling of large len argument.
65653         Add comments.
65655 2009-03-31  Simon Josefsson  <simon@josefsson.org>
65657         * lib/gethostname.c: Add Windows wrapper.
65658         * m4/gethostname.m4: Look for gethostname in -lws2_32.
65659         * modules/gethostname: Depend on sys_socket & errno, for also
65660         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
65661         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
65663 2009-07-31  Jim Meyering  <meyering@redhat.com>
65665         getloadavg: fix symbol name in comment
65666         * lib/getloadavg.c: Correct a typo I introduced when adding
65667         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
65668         Matt Kraai spotted the problem.
65670 2009-07-29  Matt Kraai  <mkraai@beckman.com>
65672         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
65673         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
65674         code also if ! defined N_NAME_POINTER.
65675         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
65676         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
65677         but the n_name member is a 12-byte array.
65679 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
65681         update-copyright: generalize comment handling
65682         * build-aux/update-copyright: Handle copyright statements
65683         within more comment styles.
65684         Document usage.
65685         Report any file with an external copyright holder or parse failure.
65687 2009-07-29  Jim Meyering  <meyering@redhat.com>
65689         mktime: correct setting of REPLACE_MKTIME
65690         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
65692         update-copyright: new module
65693         * modules/update-copyright: New file.
65694         * build-aux/update-copyright: New file.
65695         * MODULES.html.sh (maint+release support): Add update-copyright.
65697 2009-07-27  Bruno Haible  <bruno@clisp.org>
65699         Fix compilation error when <ctime> is used and mktime is replaced.
65700         * lib/time.in.h (mktime): New declaration.
65701         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
65702         REPLACE_MKTIME instead of defining mktime in config.h.
65703         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
65704         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
65705         Reported by Ross McFarland <rwmcfa1@neces.com>.
65707 2009-07-27  Bruno Haible  <bruno@clisp.org>
65709         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
65710         Reported by Matt Kraai <mkraai@beckman.com>.
65712 2009-07-25  Jim Meyering  <meyering@redhat.com>
65714         maint.mk: avoid warnings about missing files
65715         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
65716         diagnostic when .prev-version does not exist.
65717         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
65718         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
65719         nonexistent cfg.mk.
65720         Suggestions from Simon Josefsson.
65722 2009-07-25  Bruno Haible  <bruno@clisp.org>
65724         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
65725         defined as macros. Needed on QNX 6.4.1.
65726         Reported by Matt Kraai <mkraai@beckman.com>.
65728 2009-07-23  Jim Meyering  <meyering@redhat.com>
65730         maint.mk: invoke "make dist" with a working value of XZ_OPT
65731         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
65733 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
65735         Make fseeko.c compile on QNX.
65736         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
65738 2009-07-22  Peter Simons  <simons@cryp.to>
65740         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65741         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65742         * lib/md4.h: Likewise.
65743         * lib/md5.h: Likewise.
65744         * lib/sha1.h: Likewise.
65745         * lib/sha256.h: Likewise.
65746         * lib/sha512.h: Likewise.
65748         tests-sha1: don't assign literal string to 'char *' variable
65749         * tests/test-sha1.c (main): Declare locals with "const" to match
65750         attributes of the right hand side.
65752 2009-07-21  Eric Blake  <ebb9@byu.net>
65754         dup2: fix more mingw problems
65755         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65756         fd to itself.
65757         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65758         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65759         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65760         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65761         care of mingw bugs.
65763 2009-07-21  Jim Meyering  <meyering@redhat.com>
65765         vc-list-files: avoid failure when /bin/sh is dash
65766         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65767         On some Debian based systems, /bin/sh is a symlink to dash, and running
65768         this command would omit the "/" following each 'tests' prefix:
65769           dash -x build-aux/vc-list-files -C . tests
65770         That is because bash and dash work differently:
65771           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65772           bash ok
65773           dash odd
65775 2009-07-21  Eric Blake  <ebb9@byu.net>
65777         dup2-tests: test previous patch
65778         * modules/dup2-tests: New file.
65779         * tests/test-dup2.c: Likewise.
65780         * tests/test-open.c (main): Avoid unspecified behavior.
65781         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65782         test.
65784         dup2: work around mingw and cygwin 1.5 bug
65785         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65787         * modules/unistd (Makefile.am): Substitute it.
65788         * lib/unistd.in.h (dup2): Declare the replacement.
65789         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65790         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65791         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65792         * modules/execute (Depends-on): Add dup2.
65793         * modules/fseterr (Depends-on): Likewise.
65794         * modules/pipe (Depends-on): Likewise.
65795         * modules/posix_spawn-internal (Depends-on): Likewise.
65797 2009-07-21  Bruno Haible  <bruno@clisp.org>
65799         * modules/.gitattributes: New file.
65801 2009-07-20  Bruno Haible  <bruno@clisp.org>
65803         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65804         (main): Use it.
65806 2009-07-20  Eric Blake  <ebb9@byu.net>
65808         test-pipe: make a bit more robust.
65809         * tests/test-pipe.c (myerr): Allow error messages regardless of
65810         what we do to stderr.
65811         (test_pipe): Rearrange to avoid deadlock.
65812         (child_main): Try a larger read, to ensure we avoided deadlock.
65813         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65814         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65815         if misused.
65817 2009-07-19  Jim Meyering  <meyering@redhat.com>
65819         fts: avoid false-positive cycle-detection
65820         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65821         for each new command line argument.
65823 2009-07-19  Bruno Haible  <bruno@clisp.org>
65825         Fix build error on mingw with the modules sys_select and unistd.
65826         * modules/acl-tests (Depends-on): Add close.
65827         * modules/binary-io-tests (Depends-on): Likewise.
65828         * modules/closein-tests (Depends-on): Likewise.
65829         * modules/flock-tests (Depends-on): Likewise.
65830         * modules/fsync-tests (Depends-on): Likewise.
65831         * modules/lseek-tests (Depends-on): Likewise.
65832         * modules/pipe-tests (Depends-on): Likewise.
65833         * modules/posix_spawn-tests (Depends-on): Likewise.
65834         * modules/posix_spawnp-tests (Depends-on): Likewise.
65835         * modules/stat-time-tests (Depends-on): Likewise.
65836         * modules/yesno-tests (Depends-on): Likewise.
65838 2009-07-19  Bruno Haible  <bruno@clisp.org>
65840         Unify conditionals.
65841         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65842         macros, not at the compiler macros.
65843         * lib/pipe.c: Likewise.
65844         * lib/execute.c: Likewise.
65845         * lib/spawni.c: Likewise.
65847 2009-07-19  Bruno Haible  <bruno@clisp.org>
65849         Fix handling of closed stdin/stdout/stderr on mingw.
65850         * lib/w32spawn.h: Include unistd.h.
65851         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65852         file descriptor with O_NOINHERIT flag.
65853         (fd_safer_noinherit): New function, based on fd-safer.c.
65854         (dup_safer_noinherit): New function, based on dup-safer.c.
65855         (undup_safer_noinherit): New function.
65856         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65857         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65858         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65859         instead of fd_safer.
65860         * tests/test-pipe.c: Include <windows.h>.
65861         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65862         result.
65864         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65865         from main.
65866         (test_pipe): Pass an extra argument for disambiguation.
65867         (main): Invoke parent_main or child_main.
65869         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65870         consistently.
65872 2009-07-18  Eric Blake  <ebb9@byu.net>
65874         test-pipe: fix mingw build
65875         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65877 2009-07-18  Bruno Haible  <bruno@clisp.org>
65879         * modules/pipe-tests (Makefile.am): Fix typo.
65881 2009-07-18  Eric Blake  <ebb9@byu.net>
65883         error: fix mingw build
65884         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65885         Reported by Bruno Haible.
65887         error: avoid undefined use of stdout
65888         * lib/error.c (error, error_at_line): Check that fd 1 is open
65889         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65890         is handling faults and the close_stdout module wants to report the
65891         detection of closed stdout as an error.
65893 2009-07-17  Eric Blake  <ebb9@byu.net>
65895         pipe: be robust in face of closed fds
65896         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65897         should cause child to misbehave.
65898         * modules/pipe-tests: New module.
65899         * tests/test-pipe.c: New file.
65900         * tests/test-pipe.sh: New file.
65901         Reported by Akim Demaille.
65903 2009-07-14  Bruno Haible  <bruno@clisp.org>
65905         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65906         Reported by anonymous kc.
65908 2009-07-07  Jim Meyering  <meyering@redhat.com>
65910         maint.mk: don't look for translatable strings in *.m4 or *.mk
65911         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65912         when searching for translatable strings.
65914 2009-07-05  Jim Meyering  <meyering@redhat.com>
65916         remove superfluous parentheses in STREQ definition
65917         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65918         * lib/getugroups.c (STREQ): Likewise.
65919         * lib/fnmatch.c (STREQ): Likewise.
65920         Spotted by Bruno Haible.
65922 2009-07-04  Jim Meyering  <meyering@redhat.com>
65924         argv-iter: new module
65925         * MODULES.html.sh: Add argv-iter.
65926         * lib/argv-iter.c, lib/argv-iter.h: New files.
65927         * modules/argv-iter: New file.
65928         * modules/argv-iter-tests: New file.
65929         * tests/test-argv-iter.c: Test it.
65931 2009-07-04  Bruno Haible  <bruno@clisp.org>
65933         Fix assertion.
65934         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65935         contains more exact copies of a given entry than file2, leave the extra
65936         copies unpaired rather than aborting.
65937         Reported by Eric Blake.
65939 2009-07-02  Bruno Haible  <bruno@clisp.org>
65941         Speedup git-merge-changelog for git cherry-pick.
65942         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65943         (entries_mapping_get): New function, extracted from compute_mapping.
65944         (entries_mapping_reverse_get): New function.
65945         (compute_mapping): Add a 'full' argument. Return the result in a
65946         'struct entries_mapping'.
65947         (main): Update. Access the mappings through entries_mapping_get.
65948         Reported by Eric Blake.
65950 2009-07-02  Bruno Haible  <bruno@clisp.org>
65952         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65953         best_i.
65955 2009-07-02  Bruno Haible  <bruno@clisp.org>
65957         Speed up approximate search for matching ChangeLog entries.
65958         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65959         argument. Call fstrcmp_bounded instead of fstrcmp.
65960         (compute_mapping, try_split_merged_entry, main): Update callers.
65962 2009-07-02  Bruno Haible  <bruno@clisp.org>
65964         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
65966 2009-06-30  Bruno Haible  <bruno@clisp.org>
65968         Reduce the number of uc_is_cased calls.
65969         * lib/unicase.h (casing_suffix_context_t): Add
65970         'first_char_except_ignorable' field.
65971         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
65972         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
65973         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
65974         Update initializer.
65975         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
65976         case-ignorable characters.
65977         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
65978         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
65979         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
65980         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
65981         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
65983 2009-06-30  Bruno Haible  <bruno@clisp.org>
65985         Tests for module 'unicase/ignorable'.
65986         * modules/unicase/ignorable-tests: New file.
65987         * tests/unicase/test-ignorable.c: New file, generated by
65988         gen-uni-tables.
65990         Tests for module 'unicase/cased'.
65991         * modules/unicase/cased-tests: New file.
65992         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
65993         * tests/unicase/test-predicate-part1.h: New file, derived from
65994         tests/unictype/test-predicate-part1.h.
65995         * tests/unicase/test-predicate-part2.h: New file, same as
65996         tests/unictype/test-predicate-part2.h.
65998         Fix evaluation of "Before C" condition of FINAL_SIGMA.
65999         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
66000         (output_casing_properties): New function.
66001         (main): Call it.
66002         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
66003         * lib/unicase/cased.c: Include unictype/bitmap.h.
66004         (uc_is_cased): Define through a bitmap lookup.
66005         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
66006         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
66007         (uc_is_case_ignorable): Define through a bitmap lookup.
66008         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
66009         lib/unictype/bitmap.h.
66010         (Depends-on): Add inline. Clean up.
66011         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
66012         lib/unictype/bitmap.h.
66013         (Depends-on): Add inline. Clean up.
66014         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
66015         recognition.
66016         * tests/unicase/test-u16-tolower.c (main): Likewise.
66017         * tests/unicase/test-u32-tolower.c (main): Likewise.
66019 2009-06-30  Bruno Haible  <bruno@clisp.org>
66021         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
66022         * lib/unicase/u16-casemap.c: Likewise.
66023         * lib/unicase/u32-casemap.c: Likewise.
66025 2009-06-29  Bruno Haible  <bruno@clisp.org>
66027         Define u32_casefold as a wrapper around u32_ct_casefold.
66028         * lib/unicase/u32-casefold.c: Update.
66029         * modules/unicase/u32-casefold (Depends-on): Add
66030         unicase/u32-ct-casefold, unicase/empty-prefix-context,
66031         unicase/empty-suffix-context. Clean up.
66033         Define u16_casefold as a wrapper around u16_ct_casefold.
66034         * lib/unicase/u16-casefold.c: Update.
66035         * modules/unicase/u16-casefold (Depends-on): Add
66036         unicase/u16-ct-casefold, unicase/empty-prefix-context,
66037         unicase/empty-suffix-context. Clean up.
66039         Define u8_casefold as a wrapper around u8_ct_casefold.
66040         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
66041         * lib/unicase/u8-casefold.c: Update.
66042         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
66043         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66045         Define u32_totitle as a wrapper around u32_ct_totitle.
66046         * lib/unicase/u32-totitle.c: Update.
66047         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
66048         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66050         Define u16_totitle as a wrapper around u16_ct_totitle.
66051         * lib/unicase/u16-totitle.c: Update.
66052         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
66053         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66055         Define u8_totitle as a wrapper around u8_ct_totitle.
66056         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
66057         functions.
66058         (FUNC): Delegate to U_CT_TOTITLE.
66059         * lib/unicase/u8-totitle.c: Update.
66060         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
66061         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66063         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
66064         invocation.
66065         * modules/unicase/u32-tolower (Depends-on): Add
66066         unicase/empty-prefix-context, unicase/empty-suffix-context.
66068         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
66069         invocation.
66070         * modules/unicase/u16-tolower (Depends-on): Add
66071         unicase/empty-prefix-context, unicase/empty-suffix-context.
66073         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
66074         * modules/unicase/u8-tolower (Depends-on): Add
66075         unicase/empty-prefix-context, unicase/empty-suffix-context.
66077         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
66078         invocation.
66079         * modules/unicase/u32-toupper (Depends-on): Add
66080         unicase/empty-prefix-context, unicase/empty-suffix-context.
66082         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
66083         invocation.
66084         * modules/unicase/u16-toupper (Depends-on): Add
66085         unicase/empty-prefix-context, unicase/empty-suffix-context.
66087         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
66088         * modules/unicase/u8-toupper (Depends-on): Add
66089         unicase/empty-prefix-context, unicase/empty-suffix-context.
66091         New module 'unicase/u32-ct-casefold'.
66092         * lib/unicase/u32-ct-casefold.c: New file.
66093         * modules/unicase/u32-ct-casefold: New file.
66095         New module 'unicase/u16-ct-casefold'.
66096         * lib/unicase/u16-ct-casefold.c: New file.
66097         * modules/unicase/u16-ct-casefold: New file.
66099         New module 'unicase/u8-ct-casefold'.
66100         * lib/unicase/u8-ct-casefold.c: New file.
66101         * lib/unicase/u-ct-casefold.h: New file, derived from
66102         lib/unicase/u-casefold.h.
66103         * modules/unicase/u8-ct-casefold: New file.
66105         New module 'unicase/u32-ct-totitle'.
66106         * lib/unicase/u32-ct-totitle.c: New file.
66107         * modules/unicase/u32-ct-totitle: New file.
66109         New module 'unicase/u16-ct-totitle'.
66110         * lib/unicase/u16-ct-totitle.c: New file.
66111         * modules/unicase/u16-ct-totitle: New file.
66113         New module 'unicase/u8-ct-totitle'.
66114         * lib/unicase/u8-ct-totitle.c: New file.
66115         * lib/unicase/u-ct-totitle.h: New file, derived from
66116         lib/unicase/u-totitle.h.
66117         * modules/unicase/u8-ct-totitle: New file.
66119         New module 'unicase/u32-ct-tolower'.
66120         * lib/unicase/u32-ct-tolower.c: New file.
66121         * modules/unicase/u32-ct-tolower: New file.
66123         New module 'unicase/u16-ct-tolower'.
66124         * lib/unicase/u16-ct-tolower.c: New file.
66125         * modules/unicase/u16-ct-tolower: New file.
66127         New module 'unicase/u8-ct-tolower'.
66128         * lib/unicase/u8-ct-tolower.c: New file.
66129         * modules/unicase/u8-ct-tolower: New file.
66131         New module 'unicase/u32-ct-toupper'.
66132         * lib/unicase/u32-ct-toupper.c: New file.
66133         * modules/unicase/u32-ct-toupper: New file.
66135         New module 'unicase/u16-ct-toupper'.
66136         * lib/unicase/u16-ct-toupper.c: New file.
66137         * modules/unicase/u16-ct-toupper: New file.
66139         New module 'unicase/u8-ct-toupper'.
66140         * lib/unicase/u8-ct-toupper.c: New file.
66141         * modules/unicase/u8-ct-toupper: New file.
66143         Add context arguments to u*_casemap functions.
66144         * lib/unicase/unicasemap.h: Include unicase.h.
66145         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
66146         suffix_context arguments.
66147         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
66148         functions.
66149         (FUNC): Add prefix_context and suffix_context arguments. Use
66150         uc_is_cased and uc_is_case_ignorable.
66151         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
66152         * lib/unicase/u16-casemap.c: Likewise.
66153         * lib/unicase/u32-casemap.c: Likewise.
66154         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
66155         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66156         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
66157         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66158         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
66159         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66161         New module 'unicase/u32-suffix-context'.
66162         * lib/unicase/u32-suffix-context.c: New file.
66163         * modules/unicase/u32-suffix-context: New file.
66165         New module 'unicase/u16-suffix-context'.
66166         * lib/unicase/u16-suffix-context.c: New file.
66167         * modules/unicase/u16-suffix-context: New file.
66169         New module 'unicase/u8-suffix-context'.
66170         * lib/unicase/u8-suffix-context.c: New file.
66171         * lib/unicase/u-suffix-context.h: New file.
66172         * modules/unicase/u8-suffix-context: New file.
66174         New module 'unicase/empty-suffix-context'.
66175         * lib/unicase/empty-suffix-context.c: New file.
66176         * modules/unicase/empty-suffix-context: New file.
66178         New module 'unicase/u32-prefix-context'.
66179         * lib/unicase/u32-prefix-context.c: New file.
66180         * modules/unicase/u32-prefix-context: New file.
66182         New module 'unicase/u16-prefix-context'.
66183         * lib/unicase/u16-prefix-context.c: New file.
66184         * modules/unicase/u16-prefix-context: New file.
66186         New module 'unicase/u8-prefix-context'.
66187         * lib/unicase/u8-prefix-context.c: New file.
66188         * lib/unicase/u-prefix-context.h: New file.
66189         * lib/unicase/context.h: New file.
66190         * modules/unicase/u8-prefix-context: New file.
66192         New module 'unicase/empty-prefix-context'.
66193         * lib/unicase/empty-prefix-context.c: New file.
66194         * modules/unicase/empty-prefix-context: New file.
66196         New module 'unicase/ignorable'.
66197         * lib/unicase/ignorable.c: New file.
66198         * modules/unicase/ignorable: New file.
66200         New module 'unicase/cased'.
66201         * lib/unicase/caseprop.h: New file.
66202         * lib/unicase/cased.c: New file.
66203         * modules/unicase/cased: New file.
66205         New functions for case mapping of substrings.
66206         * lib/unicase.h (casing_prefix_context_t): New type.
66207         (unicase_empty_prefix_context): New variable.
66208         (u8_casing_prefix_context, u16_casing_prefix_context,
66209         u32_casing_prefix_context, u8_casing_prefixes_context,
66210         u16_casing_prefixes_context, u32_casing_prefixes_context): New
66211         declarations.
66212         (casing_suffix_context_t): New type.
66213         (unicase_empty_suffix_context): New variable.
66214         (u8_casing_suffix_context, u16_casing_suffix_context,
66215         u32_casing_suffix_context, u8_casing_suffixes_context,
66216         u16_casing_suffixes_context, u32_casing_suffixes_context,
66217         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
66218         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
66219         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
66220         declarations.
66222 2009-06-28  Jim Meyering  <meyering@redhat.com>
66224         boostrap: indent only with spaces
66225         * build-aux/bootstrap: Indent only with spaces, never TABs.
66227         bootstrap: split long lines
66228         * build-aux/bootstrap: Keep line length < 80.
66230         bootstrap: sync from coreutils
66231         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
66232         just as autoreconf does.  Verify a list of prerequisite
66233         package-name,version-number pairs if defined in bootstrap.conf.
66234         Refer to README-prereq, if prerequisites are not satisfied.
66236 2009-06-27  Eric Blake  <ebb9@byu.net>
66238         tests: add test for bogus NULL definition
66239         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
66240         * tests/test-stdlib.c: Likewise.
66241         * tests/test-string.c: Likewise.
66242         * tests/test-locale.c: Likewise.
66243         * tests/test-unistd.c: Likewise.
66244         * modules/stdio-tests (Depends-on): Add verify.
66245         * modules/stdlib-tests (Depends-on): Likewise.
66246         * modules/string-tests (Depends-on): Likewise.
66247         * modules/locale-tests (Depends-on): Likewise.
66248         * modules/unistd-tests (Depends-on): Likewise.
66250 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
66252         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
66253         self-explaining comment.
66254         * m4/selinux-selinux-h: Update serial.
66255         (gl_LIBSELINUX): New macro, adding a warning for missing development
66256         packages to code extracted from...
66257         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
66258         Add warning for missing development packages here, too.
66260 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
66262         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
66264 2009-06-25  Eric Blake  <ebb9@byu.net>
66266         version-etc: fix regression
66267         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
66268         gcc.
66269         (version_etc): Use it, to catch bugs with trailing NULL.
66270         * lib/version-etc.c (version_etc_arn): Delete unused argument.
66271         (version_etc_va): Fix logic bug.
66272         * modules/version-etc-tests: Add test.
66273         * tests/test-version-etc.c: New file.
66274         * tests/test-version-etc.sh: Likewise.
66276 2009-06-25  Sam Steingold  <sds@gnu.org>
66278         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
66279         mbtowc declaration.
66281 2009-06-25  Eric Blake  <ebb9@byu.net>
66283         fpurge: migrate into <stdio.h>
66284         * lib/fpurge.h: Delete...
66285         * lib/stdio.in.h (fpurge): ...and declare here, instead.
66286         * lib/fpurge.c (fpurge): Change declaring header.
66287         * modules/fpurge (Files): Drop deleted file.
66288         (Depends-on): Add stdio.
66289         (configure.ac): Set witness.
66290         * modules/stdio (Makefile.am): Support fpurge macros.
66291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66292         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
66293         * lib/fflush.c: Update client.
66294         * tests/test-fpurge.c: Likewise.
66295         * NEWS: Mention the change.
66297 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66299         * lib/argp-version-etc.c (program_authors): Add const
66300         qualifier.
66301         * lib/version-etc.c: Fix typos in the comments.
66302         * modules/argp-version-etc: Depends on version-etc.
66304 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66306         argp-version-etc: new module.
66308         * lib/argp-version-etc.c: New file.
66309         * lib/argp-version-etc.h: New file.
66310         * modules/argp-version-etc: New file.
66311         * modules/argp-version-etc-tests: New file.
66312         * tests/test-argp-version-etc.c: New test.
66313         * tests/test-argp-version-etc-1.sh: New test.
66315 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66317         Provide additional interfaces and documentation for version-etc
66318         module.
66320         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
66321         interfaces.
66322         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
66323         prototypes.
66325 2009-06-24  Bruno Haible  <bruno@clisp.org>
66327         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
66328         HAVE_LIB${NAME} macro.
66329         Reported by Sam Steingold <sds@gnu.org>.
66331 2009-06-23  Simon Josefsson  <simon@josefsson.org>
66333         * modules/hash-tests (test_hash_LDADD): Link to libintl when
66334         needed.
66336 2009-06-21  Bruno Haible  <bruno@clisp.org>
66338         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
66339         work.
66340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
66341         together with LIB${NAME}, LTLIB${NAME}.
66342         Reported by Sam Steingold <sds@gnu.org>.
66344 2009-06-20  Jim Meyering  <meyering@redhat.com>
66346         tests: make sc_require_test_exit_idiom more generic
66347         * top/maint.mk (Exit_witness_file): New overridable variable.
66348         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
66349         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
66351 2009-06-19  Jim Meyering  <meyering@redhat.com>
66353         hash: reverse order of src/dst parameters in an internal interface
66354         * lib/hash.c (transfer_entries): Reverse order of parameters to
66355         put DST before SRC.  Adjust callers.
66357         tests: test-hash: avoid wholesale duplication
66358         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
66359         Instead, use a loop and add a single conditional.
66361         tests: test-hash: allow seed selection via a command line argument
66362         * tests/test-hash.c (get_seed): New function.
66363         (main): Use it.
66365 2009-06-19  Eric Blake  <ebb9@byu.net>
66367         hash: avoid memory leak on allocation failure
66368         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
66369         failure.  Factor repeated algorithm...
66370         (transfer_entries): ...into new helper routine.
66371         (hash_delete): React to hash_rehash return value.
66373         hash: reduce memory pressure in hash_rehash no-op case
66374         * lib/hash.c (next_prime): Avoid overflow.
66375         (hash_initialize): Factor bucket size computation...
66376         (compute_bucket_size): ...into new helper function.
66377         (hash_rehash): Use new function and open coding to reduce memory
66378         pressure, and avoid a memory leak in USE_OBSTACK code.
66379         Reported by Jim Meyering.
66381 2009-06-18  Eric Blake  <ebb9@byu.net>
66383         hash: make rotation more obvious
66384         * modules/hash (Depends-on): Add bitrotate and stdint.
66385         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
66386         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
66387         (SIZE_MAX): Rely on headers for definition.
66388         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
66389         (raw_hasher): Use rotr_sz.
66390         Suggested by Jim Meyering.
66392         hash: fix memory leak in last patch
66393         * lib/hash.c (hash_rehash): Avoid memory leak.
66395         hash: avoid no-op rehashing
66396         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
66398         hash: provide default callback functions
66399         * lib/hash.c (raw_hasher, raw_comparator): New functions.
66400         (hash_initialize): Use them as defaults.
66401         * tests/test-hash.c (main): Test this.
66403         hash: minor optimization
66404         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
66405         when possible.
66406         (hash_initialize): Document this promise.
66407         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
66408         * tests/test-hash.c (hash_compare_strings): Test this.
66410 2009-06-18  Bruno Haible  <bruno@clisp.org>
66412         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
66413         going to be replaced anyway.
66415 2009-06-18  Bruno Haible  <bruno@clisp.org>
66417         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
66418         in one place.
66419         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
66420         be replaced anyway.
66422 2009-06-18  Eric Blake  <ebb9@byu.net>
66424         hash: check for resize before insertion
66425         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
66426         threshold before insertion, so that a pathological hash_rehash
66427         that fills every bucket can still trigger another rehash.
66429 2009-06-18  Jim Meyering  <meyering@redhat.com>
66431         hash-tests: add a loop around the small tests
66432         * tests/test-hash.c (main): Repeat small tests with selected
66433         small initial table sizes.
66435 2009-06-17  Eric Blake  <ebb9@byu.net>
66437         hash: minor cleanups
66438         * lib/hash.h (hash_entry): Make opaque, by moving...
66439         * lib/hash.c (hash_entry): ...here.
66440         (hash_insert): Clarify restrictions on what can be inserted.
66441         (hash_get_next): Clarify when it is safe to remove an element
66442         during traversal.
66443         (check_tuning): Skip verification when tuning is known safe.
66444         (hash_initialize): Clarify restrictions on tuning.
66446 2009-06-17  Jim Meyering  <jim@meyering.net>
66447         and Eric Blake  <ebb9@byu.net>
66449         hash-tests: new module
66450         * modules/hash-tests: New file.
66451         * tests/test-hash.c: New file.
66453 2009-06-17  Eric Blake  <ebb9@byu.net>
66455         strstr-simple: document new module
66456         * MODULES.html.sh: Document new module.
66458         strstr, strcasestr: replace on platforms with broken memchr
66459         * modules/strstr: Split into...
66460         * modules/strstr-simple: ...new module that does not care about
66461         performance, but does care about glibc bug.
66462         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
66463         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
66464         if platform memchr is broken, per Debian bug 521737.
66465         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
66466         memchr.
66467         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
66468         * doc/posix-functions/strstr.texi (strstr): Document the fix.
66469         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
66470         * modules/mountlist (Depends-on): Add strstr-simple.
66471         * modules/gen-uni-tables (Depends-on): Likewise.
66472         * modules/argz (Depends-on): Add strstr.
66474 2009-06-17  Bruno Haible  <bruno@clisp.org>
66476         * modules/posix_spawn-internal (Depends-on): Add errno.
66478 2009-06-17  Bruno Haible  <bruno@clisp.org>
66480         Define missing ESTALE on Interix 3.5.
66481         * lib/errno.in.h (ESTALE): Assign a value if missing.
66482         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
66483         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
66484         missing.
66485         * doc/posix-headers/errno.texi: Mention the Interix bug.
66486         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
66488 2009-06-15  Eric Blake  <ebb9@byu.net>
66490         memchr, memchr2: add valgrind exception
66491         * lib/memchr.valgrind: New file.
66492         * lib/memchr2.valgrind: New file.
66493         * modules/memchr (Files): Distribute valgrind file.
66494         * modules/memchr2 (Files): Likewise.
66496         docs: memchr is no longer obsolete
66497         * MODULES.html.sh: Move memchr from obsolete to string.h section.
66498         * lib/string.in.h (memchr): Simplify logic.
66500 2009-06-14  Jim Meyering  <meyering@redhat.com>
66502         link-follow: fix the "checking..." message to not mention trailing slash
66503         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
66504         never considered trailing slashes.
66506 2009-06-14  Bruno Haible  <bruno@clisp.org>
66508         * m4/memchr.m4: Mention also the bug on IA-64.
66509         * doc/posix-functions/memchr.texi: Likewise.
66511 2009-06-12  Eric Blake  <ebb9@byu.net>
66513         memchr: detect broken x86_64 and alpha implementations
66514         * modules/memchr-tests (Depends-on): Move mmap detection...
66515         * modules/memchr (Depends-on): ...here.
66516         (configure.ac): Set indicator.
66517         * lib/string.in.h (memchr): Declare replacement.
66518         * modules/string (Makefile.am): Trigger replacement.
66519         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
66520         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
66521         bugs.
66522         * doc/posix-functions/memchr.texi (memchr): Document the bug.
66523         * modules/getpagesize (License): Relax license.
66525 2009-06-11  Bruno Haible  <bruno@clisp.org>
66527         * lib/idpriv.h: Add more references.
66529 2009-06-08  Bruno Haible  <bruno@clisp.org>
66531         Tests for module 'idpriv-droptemp'.
66532         * modules/idpriv-droptemp-tests: New file.
66533         * tests/test-idpriv-droptemp.sh: New file.
66534         * tests/test-idpriv-droptemp.su.sh: New file.
66535         * tests/test-idpriv-droptemp.c: New file.
66537         New module 'idpriv-droptemp'.
66538         * lib/idpriv-droptemp.c: New file.
66539         * modules/idpriv-droptemp: New file.
66541 2009-06-08  Bruno Haible  <bruno@clisp.org>
66543         Tests for module 'idpriv-drop'.
66544         * modules/idpriv-drop-tests: New file.
66545         * tests/test-idpriv-drop.sh: New file.
66546         * tests/test-idpriv-drop.su.sh: New file.
66547         * tests/test-idpriv-drop.c: New file.
66549         New module 'idpriv-drop'.
66550         * lib/idpriv.h: New file.
66551         * lib-idpriv-drop.c: New file.
66552         * m4/idpriv.m4: New file.
66553         * modules/idpriv-drop: New file.
66555 2009-06-08  Bruno Haible  <bruno@clisp.org>
66557         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
66558         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66559         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66560         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66561         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66562         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66563         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66565 2009-06-08  Eric Blake  <ebb9@byu.net>
66567         test-strstr: use memory fence, when possible
66568         * tests/test-strstr.c (main): Use memory fence, in order to be
66569         more likely to trigger Debian bug 521737.
66570         * modules/strstr-tests (Files): Pull in additional files.
66572         memchr: no longer obsolete, for wider field testing
66573         * modules/memchr (Status, Notice): Delete, this module is no
66574         longer obsolete.
66575         * modules/vasnprintf (Depends-on): Add memchr.
66577 2009-06-07  Jim Meyering  <meyering@redhat.com>
66579         hash: declare some functions with the warn_unused_result attribute
66580         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
66582 2009-06-07  Bruno Haible  <bruno@clisp.org>
66584         * tests/test-alignof.c: Don't test int64_t if it does not exist.
66585         Reported by Eric Blake.
66587 2009-06-06  Eric Blake  <ebb9@byu.net>
66589         test-alignof: fix typo with long double
66590         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
66591         compiler error.
66593 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
66595         Escape non-texinfo { and }s.
66596         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
66597         markup error.
66599 2009-06-04  Jim Meyering  <meyering@redhat.com>
66601         gitlog-to-changelog: don't infloop on an empty commit log
66602         * build-aux/gitlog-to-changelog: Warn about an empty log message.
66603         Reported by Boris Petersen <transacid@centerim.org>.
66605 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
66607         version-etc: extend for packagers
66608         Add three new configure options, intended for packagers:
66609           --with-packager="packager name"
66610           --with-packager-version="packager-specific version"
66611           --with-packager-bug-reports="packager bug reporting"
66612         An example with coreutils:
66613           $ ./configure \
66614             --with-packager=Gentoo \
66615             --with-packager-bug-report=http://bugs.gentoo.org/ \
66616             --with-packager-version="patchset 1.6"
66617           $ ./src/ls --version | head -n2
66618           ls (GNU coreutils) 7.1-dirty
66619           Packaged by Gentoo (patchset 1.6)
66620         Note that the bug reporting info via --help doesn't show up because
66621         coreutils uses its own custom emit_bug_reporting_address() implementation
66622         in src/system.h.  If it didn't, it'd look like:
66623           $ ./src/ls --help | tail -n4
66624           Report bugs to <bug-coreutils@gnu.org>.
66625           Report Gentoo bugs to <http://bugs.gentoo.org/>.
66626           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
66627           General help using GNU software: <http://www.gnu.org/gethelp/>.
66628         * lib/version-etc.c: Print new information, if provided.
66629         * m4/version-etc.m4: New file.
66630         * modules/version-etc (Files): Add m4/version-etc.m4.
66631         (configure.ac): Add gl_VERSION_ETC.
66633 2009-05-31  Bruno Haible  <bruno@clisp.org>
66635         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
66636         and 'int64_t'.
66637         * modules/alignof-tests (Dependencies): Add stdint.
66638         Reported by Eric Blake.
66640 2009-05-31  Bruno Haible  <bruno@clisp.org>
66642         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
66643         restriction due to compiler bugs.
66644         Reported by Eric Blake.
66646 2009-05-31  Simon Josefsson  <simon@josefsson.org>
66647             Bruno Haible  <bruno@clisp.org>
66649         Fix test-alignof failure.
66650         * lib/alignof.h (alignof_slot): New macro.
66651         (alignof_type): New macro, with the same semantics as the previous
66652         'alignof'.
66653         (alignof): Alias to alignof_slot.
66654         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
66655         check that the results are usable as constant expressions.
66657 2009-05-31  Bruno Haible  <bruno@clisp.org>
66659         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
66660         * tests/test-memchr.c (main): Check that memchr does not read past the
66661         first occurrence of the byte.
66662         * tests/test-strstr.c (main): Update comment.
66663         Suggested by Eric Blake.
66665 2009-05-30  Bruno Haible  <bruno@clisp.org>
66667         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
66668         detail how to use dumpbin.
66669         Reported by David Byron <dbyron@dbyron.com>.
66671 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66673         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
66675 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66677         * m4/manywarnings.m4: Add GCC 4.4 warnings.
66679 2009-05-28  Bruno Haible  <bruno@clisp.org>
66681         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
66682         build-aux/ files.
66684 2009-05-28  Simon Josefsson  <simon@josefsson.org>
66686         * gnulib-tool (func_import): Transform license on build-aux/ files too.
66688 2009-05-27  Simon Josefsson  <simon@josefsson.org>
66690         * gnulib-tool (sed_transform_main_lib_file)
66691         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
66692         regexps.
66694 2009-05-26  Simon Josefsson  <simon@josefsson.org>
66696         * tests/test-strstr.c: Add another self-test.
66697         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
66698         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
66700 2009-05-23  Bruno Haible  <bruno@clisp.org>
66702         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
66703         change.
66705 2009-05-21  Bruno Haible  <bruno@clisp.org>
66707         Simplify use of mode_t varargs.
66708         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
66709         uses 'mode_t' or 'int'.
66710         * lib/openat.c (openat): Likewise.
66711         * lib/open-safer.c (open_safer): Likewise.
66712         * m4/mode_t.m4: New file.
66713         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
66714         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
66715         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
66716         * modules/open (Files): Add m4/mode_t.m4.
66717         * modules/openat (Files): Likewise.
66718         * modules/fcntl-safer (Files): Likewise.
66719         Suggested by Eric Blake.
66721 2009-05-21  Pádraig Brady  <P@draigbrady.com>
66723         * doc/glibc-functions/fallocate.texi: New file.
66724         * doc/gnulib.texi: Include it.
66726 2009-05-21  Eric Blake  <ebb9@byu.net>
66727             Bruno Haible  <bruno@clisp.org>
66729         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
66730         invocations.
66731         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
66733 2009-05-21  Eric Blake  <ebb9@byu.net>
66734             Bruno Haible  <bruno@clisp.org>
66736         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
66737         include_next. Fix of 2008-11-20 commit.
66738         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
66739         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66740         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66741         NEXT_MATH_H.
66742         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66743         instead of NEXT_MATH_H.
66745 2009-05-21  Bruno Haible  <bruno@clisp.org>
66747         Avoid redefinition warnings for SIZE_MAX.
66748         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66749         Reported by Simon Josefsson.
66751 2009-05-21  Bruno Haible  <bruno@clisp.org>
66753         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66754         AC_CACHE_VAL.
66756 2009-05-20  Bruno Haible  <bruno@clisp.org>
66758         Make zeroptr.h work on mingw.
66759         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66760         mprotect.
66761         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66762         * modules/memchr2-tests (configure.ac): Likewise.
66763         * modules/memcmp-tests (configure.ac): Likewise.
66764         * modules/memmem-tests (configure.ac): Likewise.
66765         * modules/memrchr-tests (configure.ac): Likewise.
66766         Reported by Simon Josefsson.
66768 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66770         * tests/test-glob.c: Include string.h for strcmp prototype.
66772 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66774         * modules/getdelim (Depends-on): Add explicit stdint, although it
66775         was implicitly already pulled in via realloc-posix.
66776         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66778 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66780         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66781         G. Christensen" <tgc@jupiterrise.com>.
66782         * m4/sys_socket_h.m4: Check for sa_family_t.
66783         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66784         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66785         * tests/test-sys_socket.c: Check that sa_family_t works.
66787 2009-05-18  Eric Blake  <ebb9@byu.net>
66789         maint.mk: allow gnulib_dir in VPATH build
66790         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66792 2009-05-15  Jim Meyering  <meyering@redhat.com>
66794         maint.mk: Give gnulib_dir a default definition.
66795         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66796         Thus, most packages no longer need to specify this variable in cfg.mk
66798 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66800         rename.m4: fix typos that would make non-mingw cross-configure fail
66801         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66803 2009-05-13  Eric Blake  <ebb9@byu.net>
66805         mmap-anon: avoid out-of-order autoconf expansion
66806         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66807         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66808         * modules/memchr-tests (Depends-on): Add extensions.
66809         * modules/memchr2-tests (Depends-on): Add extensions.
66810         * modules/memcmp-tests (Depends-on): Add extensions.
66811         * modules/memmem-tests (Depends-on): Add extensions.
66812         * modules/memrchr-tests (Depends-on): Add extensions.
66814 2009-05-13  Bruno Haible  <bruno@clisp.org>
66816         Make some tests ISO C 99 compliant.
66817         * tests/zerosize-ptr.h: New file.
66818         * tests/test-memchr.c: Include zerosize-ptr.h.
66819         (main): Use a zero-size object pointer instead of NULL.
66820         * tests/test-memchr2.c: Include zerosize-ptr.h.
66821         (main): Use a zero-size object pointer instead of NULL.
66822         * tests/test-memcmp.c: Include zerosize-ptr.h.
66823         (main): Use a zero-size object pointer instead of NULL.
66824         * tests/test-memmem.c: Include zerosize-ptr.h.
66825         (main): Use a zero-size object pointer instead of NULL.
66826         * tests/test-memrchr.c: Include zerosize-ptr.h.
66827         (main): Use a zero-size object pointer instead of NULL.
66828         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66829         m4/mmap-anon.m4.
66830         (Depends-on): Add getpagesize.
66831         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66832         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66833         m4/mmap-anon.m4.
66834         (Depends-on): Add getpagesize.
66835         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66836         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66837         m4/mmap-anon.m4.
66838         (Depends-on): Add getpagesize.
66839         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66840         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66841         m4/mmap-anon.m4.
66842         (Depends-on): Add getpagesize.
66843         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66844         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66845         m4/mmap-anon.m4.
66846         (Depends-on): Add getpagesize.
66847         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66849 2009-05-12  Bruno Haible  <bruno@clisp.org>
66851         Tests for module 'alignof'.
66852         * modules/alignof-tests: New file.
66853         * tests/test-alignof.c: New file.
66855 2009-05-12  Bruno Haible  <bruno@clisp.org>
66857         Fix alignof macro.
66858         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66859         vendor compilers that are always correct.
66861 2009-05-12  Bruno Haible  <bruno@clisp.org>
66863         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66864         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66865         not whether its fully works.
66867 2009-05-12  Bruno Haible  <bruno@clisp.org>
66869         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66871 2009-05-12  Jim Meyering  <meyering@redhat.com>
66873         * top/maint.mk: Adjust backslash alignment.
66875 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66877         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66879 2009-05-11  Eric Blake  <ebb9@byu.net>
66881         argp: avoid undefined behavior
66882         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66883         macros.
66885 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66887         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66888         user.name to prevent git commit from complaining.
66890 2009-05-10  Bruno Haible  <bruno@clisp.org>
66892         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66893         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66894         it rewrites every file name only once.
66895         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66897 2009-05-08  Bruno Haible  <bruno@clisp.org>
66899         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66900         instead of 'max'.
66902 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66904         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66905         sockaddr_storage test.
66907 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66909         * modules/sys_socket (Makefile.am): Substitute
66910         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66911         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66912         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66913         * tests/test-sys_socket.c: Check sockaddr_storage.
66915 2009-05-08  Bruno Haible  <bruno@clisp.org>
66917         New module 'alignof'.
66918         * lib/alignof.h: New file.
66919         * modules/alignof: New file.
66921 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66922             Bruno Haible  <bruno@clisp.org>
66924         Fix test-file-has-acl on FreeBSD.
66925         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66926         mask is implicitly added.
66927         * tests/test-file-has-acl.c: Include <signal.h>.
66928         (main): Terminate the test after 5 seconds.
66929         * modules/acl-tests (configure.ac): Check for alarm function.
66931 2009-05-04  Bruno Haible  <bruno@clisp.org>
66933         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66934         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66935         * modules/errno (configure.ac): Drop AC_REQUIRE.
66936         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66937         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66939 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66941         * modules/glob-tests: New module.
66942         * tests/test-glob.c: Add.
66944 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66946         * modules/fnmatch-tests: New module.
66947         * tests/test-fnmatch.c: Add.
66949 2009-05-04  Eric Blake  <ebb9@byu.net>
66951         maint: make the new no-submodule-changes rule VPATH-safe
66952         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66954 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66955             Bruno Haible  <bruno@clisp.org>
66957         acl: Fix infinite loop on FreeBSD.
66958         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66959         of return value from acl_get_entry.
66960         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66961         Likewise.
66963 2009-05-03  Bruno Haible  <bruno@clisp.org>
66965         * lib/acl-internal.h (acl_entries): Clarify return value.
66966         * lib/acl_entries.c (acl_entries): Likewise.
66968 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66970         Bug fix in acl module.
66971         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
66973 2009-05-03  Bruno Haible  <bruno@clisp.org>
66975         Create gperf-generated file in the source dir, not in the build dir.
66976         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
66977         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
66978         * modules/unicase/locale-language (unicase/locale-languages.h):
66979         Likewise.
66980         * modules/unicase/special-casing (unicase/special-casing-table.h):
66981         Likewise.
66982         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
66983         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
66984         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
66985         Reported by Ralf Wildenhues.
66987 2009-05-03  Bruno Haible  <bruno@clisp.org>
66989         * modules/fnmatch (Description, configure.ac): Taken from
66990         fnmatch-posix.
66991         * modules/fnmatch-posix: Turn into a symbolic reference to the
66992         'fnmatch' module, and deprecate.
66993         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
66995 2009-05-03  Bruno Haible  <bruno@clisp.org>
66997         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
66998         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
66999         Reported by Ralf Wildenhues.
67001 2009-05-04  Simon Josefsson  <simon@josefsson.org>
67003         * m4/fnmatch.m4: Fix fnmatch re-define.
67005 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67007         priv-set: new module and tests; adapt write-any-file
67008         * lib/priv-set.c: New file.
67009         * lib/priv-set.h: New file.
67010         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
67011         * lib/write-any-file.c: Simplify by using priv-set module.
67012         * m4/priv-set.m4: New file.
67013         * modules/priv-set: New file.
67014         * modules/unlinkdir: Add dependency on priv-set module.
67015         * modules/write-any-file: Likewise.
67017         Tests for module 'priv-set'.
67018         * modules/priv-set-tests: New file.
67019         * tests/test-priv-set.c: New file.
67021 2009-05-03  Jim Meyering  <meyering@redhat.com>
67022             Bruno Haible  <bruno@clisp.org>
67024         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
67025         use the converted UTF-8 variant of the name instead.
67027 2009-05-03  Jim Meyering  <meyering@redhat.com>
67029         tests: tighten some getdate tests
67030         * tests/test-getdate.c (main): Tighten tests: require equality,
67031         not just greater than.  Set TZ envvar to UTC0.
67033 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
67035         getdate: correctly interpret "next monday" when run on a Monday
67036         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
67037         that e.g., "next tues" (when run on a tuesday) results in a date
67038         that is one week in the future, and not today's date.
67039         I.e., add a week when the wday is the same as the current one.
67040         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
67041         and earlier by Martin Bernreuther and Jan Minář.
67042         * tests/test-getdate.c (main): Check that "next DAY" is always in
67043         the future and that "last DAY" is always in the past.
67045 2009-05-02  Jim Meyering  <meyering@redhat.com>
67047         build: ensure that a release build fails when a submodule is unclean
67048         * top/maint.mk (no-submodule-changes): New rule.
67049         (alpha beta major): Depend on it.
67051 2009-05-02  Bruno Haible  <bruno@clisp.org>
67053         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
67054         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
67055         shell variable gl_fnmatch_required to detect which variant is
67056         requested.
67057         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
67058         gl_FUNC_FNMATCH_POSIX.
67059         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
67060         exclude fnmatch-posix.
67062 2009-05-02  Bruno Haible  <bruno@clisp.org>
67064         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
67065         * modules/mbsrtowcs (License): Change to LGPLv2+.
67066         * modules/strnlen1 (License): Likewise.
67067         Reported by Simon Josefsson.
67069 2009-05-02  Bruno Haible  <bruno@clisp.org>
67071         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
67072         "cross".
67073         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
67074         gnulib-tool was called with option --source-base=lib.
67076 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67078         Use automake *-local hooks without commands, for extensibility.
67079         * modules/localcharset (Makefile.am): Rename install-exec-local
67080         rule to install-exec-localcharset, and make it a prerequisite of
67081         install-exec-local.  Likewise, rename the uninstall-local rule to
67082         uninstall-localcharset, and make it a prerequisite of the former.
67084 2009-05-01  Bruno Haible  <bruno@clisp.org>
67086         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
67087         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67088         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
67089         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
67090         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
67091         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67092         m4/locale-zh.m4, m4/codeset.m4.
67094         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67095         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
67096         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67097         m4/locale-zh.m4.
67099         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
67100         REPLACE_WCRTOMB if mbstate_t must be replaced.
67101         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
67102         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
67104 2009-05-01  Bruno Haible  <bruno@clisp.org>
67106         Avoid compiler warnings when redefining macros defined by <libintl.h>.
67107         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
67108         dngettext, dcngettext, textdomain, bindtextdomain,
67109         bind_textdomain_codeset): Undefine before redefining.
67111 2009-04-30  Bruno Haible  <bruno@clisp.org>
67113         Fix bug introduced on 2009-04-25.
67114         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
67115         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
67116         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
67117         is defined.
67118         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
67119         is defined.
67120         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
67121         is defined.
67122         Reported by Elbert_Pol <elbert.pol@gmail.com>.
67124 2009-04-28  Bruno Haible  <bruno@clisp.org>
67126         Comment tweaks.
67127         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
67128         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
67129         * lib/unicase.h (u*_casexfrm): Likewise.
67130         Reported by Paolo Bonzini.
67132 2009-04-28  Bruno Haible  <bruno@clisp.org>
67134         Fix a compilation error.
67135         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
67136         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
67137         Reported by Jim Meyering.
67139 2009-04-27  Bruno Haible  <bruno@clisp.org>
67141         New module 'libunistring'.
67142         * modules/libunistring: New file.
67143         * m4/libunistring.m4: New file.
67144         * MODULES.html.sh (Unicode string functions): Add it.
67146 2009-04-27  Eric Blake  <ebb9@byu.net>
67148         maint.mk: allow package-specific header to provide <config.h>
67149         * top/maint.mk (sc_require_config_h): New variable.
67150         (sc_require_config_h, sc_require_config_h_first): Use it.
67152 2009-04-27  Simon Josefsson  <simon@josefsson.org>
67154         * top/maint.mk (sc_avoid_if_before_free): Except
67155         useless-if-before-free script.
67157 2009-04-27  Eric Blake  <ebb9@byu.net>
67159         maintainer-makefile: depend on all required helper scripts
67160         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
67161         useless-if-before-free.
67162         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
67163         version, rather than assuming gnulib checkout is available.
67164         Reported by Simen Josefsson.
67166 2009-04-26  Bruno Haible  <bruno@clisp.org>
67168         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
67169         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
67170         "../" or "..".
67172 2009-04-26  Bruno Haible  <bruno@clisp.org>
67174         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
67175         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
67176         AC_LIB_HAVE_LINKFLAGS.
67178 2009-04-26  Bruno Haible  <bruno@clisp.org>
67180         Simplify calling convention of u*_conv_from_encoding.
67181         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
67182         u32_conv_from_encoding): Expect a resultbuf argument and return the
67183         result directly as a pointer.
67184         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
67185         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
67186         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
67187         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
67188         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
67189         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67190         Update.
67191         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
67192         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
67193         * lib/vasnprintf.c (VASNPRINTF): Update.
67194         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
67195         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
67196         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
67197         * NEWS: Mention the change.
67199 2009-04-26  Bruno Haible  <bruno@clisp.org>
67201         Simplify calling convention of u*_conv_to_encoding.
67202         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
67203         u32_conv_to_encoding): Expect a resultbuf argument and return the
67204         result directly as a pointer.
67205         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67206         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
67207         freeing scaled_offsets if mem_iconveha failed.
67208         * lib/unicase/u-casexfrm.h (FUNC): Update.
67209         * lib/uninorm/u-normxfrm.h (FUNC): Update.
67210         * lib/vasnprintf.c (VASNPRINTF): Update.
67211         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
67212         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
67213         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
67214         * NEWS: Mention the change.
67216 2009-04-26  Bruno Haible  <bruno@clisp.org>
67218         Avoid test failures on AIX and OSF/1.
67219         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
67220         malloc(0).
67221         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67222         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67223         Likewise.
67224         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
67225         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
67226         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
67227         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
67228         * doc/posix-functions/malloc.texi: Document the portability problem
67229         related to malloc(0).
67231 2009-04-26  Bruno Haible  <bruno@clisp.org>
67233         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
67234         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
67235         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
67237 2009-04-25  Bruno Haible  <bruno@clisp.org>
67239         Avoid link error when creating a namespace clean library.
67240         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
67241         as macro with arguments if already defined as an alias.
67242         * lib/signbitf.c (gl_signbitf): Don't undefine.
67243         * lib/signbitd.c (gl_signbitd): Don't undefine.
67244         * lib/signbitl.c (gl_signbitl): Don't undefine.
67246 2009-04-25  Jim Meyering  <meyering@redhat.com>
67248         vc-list-files: fix another quoting bug
67249         * build-aux/vc-list-files: Avoid sed backslash expansion
67250         of pathological directory names.
67252 2009-04-25  Eric Blake  <ebb9@byu.net>
67254         vc-list-files: fix shell quoting error
67255         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
67256         timestamp.
67258 2009-04-25  Jim Meyering  <meyering@redhat.com>
67260         vc-list-files: restore lost functionality with subdir argument
67261         * build-aux/vc-list-files: When given a non-"." sub-directory
67262         argument, substitute the $dir/ prefix back onto each resulting name.
67263         Otherwise, coreutils' root_tests check would fail.
67265 2009-04-24  Eric Blake  <ebb9@byu.net>
67267         vc-list-files: ignore git symlinks
67268         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
67269         than ls-files, to ignore git symlinks.
67271         maint.mk: import improvements from m4
67272         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
67273         (move_if_change): Delete unused macro.
67274         (news-date-check, vc-diff-check): Support VPATH builds.
67275         (announcement): Likewise.  Split --bootstrap-tools list...
67276         (boostrap-tools): ...into separate list, which can be overridden
67277         in cfg.mk.
67278         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
67279         requiring dependency on useless-if-before-free module.
67280         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
67281         Support VPATH builds.
67283 2009-04-24  Jim Meyering  <meyering@redhat.com>
67285         maint.mk: remove coreutils-specific rules and variables
67286         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
67287         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
67288         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
67290         maint.mk: remove obsolete rule
67291         * top/maint.mk (rel-check): Remove rule.
67292         (WGET, WGETFLAGS): Remove now-unused variables.
67294 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67296         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
67297         consistency.
67299         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
67300         '$(PATH_SEPARATOR)' instead of ':'.
67302 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67304         * lib/getopt1.c (main): Use 'const' for static array.
67306 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67308         * top/maint.mk: Sync with coreutils.
67309         * NEWS: Explain incompatibilities.
67311 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67312             Bruno Haible  <bruno@clisp.org>
67314         Fix cross-compilation results.
67315         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
67316         statement, as third argument of AC_TRY_RUN.
67317         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
67318         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
67319         Likewise.
67320         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
67321         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
67322         Likewise.
67323         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
67324         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
67325         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
67327 2009-04-20  Bruno Haible  <bruno@clisp.org>
67329         Avoid test failure on mingw.
67330         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
67332 2009-04-20  Bruno Haible  <bruno@clisp.org>
67334         Avoid compilation error on mingw.
67335         * modules/localename-tests (Depends-on): Add locale.
67337 2009-04-19  Bruno Haible  <bruno@clisp.org>
67339         Support for building a shared library on Windows platforms.
67340         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
67341         (main): Test the presence of UNINORM_NFC here.
67342         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
67343         (main): Test the presence of UNINORM_NFD here.
67344         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
67345         (main): Test the presence of UNINORM_NFKC here.
67346         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
67347         (main): Test the presence of UNINORM_NFKD here.
67349 2009-04-19  Bruno Haible  <bruno@clisp.org>
67351         Avoid a compiler warning.
67352         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
67353         Change type of variable 'sequence'.
67355 2009-04-19  Bruno Haible  <bruno@clisp.org>
67357         * modules/configmake (Makefile.am): When the contents of configmake.h
67358         does not change, arrange to preserve its modification time.
67360 2009-04-17  Simon Josefsson  <simon@josefsson.org>
67362         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
67363         gettext domain.
67365 2009-04-16  Jim Meyering  <meyering@redhat.com>
67367         useless-if-before-free: improve conversion code
67368         * build-aux/useless-if-before-free: Adjust code-in-comment to match
67369         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
67371 2009-04-14  Bruno Haible  <bruno@clisp.org>
67373         * modules/fcntl (Depends-on): Add extensions.
67374         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
67376 2009-04-12  Ben Pfaff  <blp@gnu.org>
67378         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
67379         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
67381 2009-03-20  Ben Pfaff  <blp@gnu.org>
67383         Make rename replace existing destinations on Windows.
67384         * m4/rename.m4: Add test for Mingw.
67385         * lib/rename.c: Add rename replacement that uses MoveFileEx with
67386         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
67387         * doc/posix-functions/rename.texi: Document.
67389 2009-04-10  Bruno Haible  <bruno@clisp.org>
67391         New include file "iconveh.h".
67392         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
67393         * lib/striconveh.h: Include it.
67394         (enum iconv_ilseq_handler): Remove definition.
67395         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
67396         striconveh.h.
67397         * lib/striconveha.c: Include striconveh.h.
67398         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
67399         * modules/striconveh (Files): Add lib/iconveh.h.
67400         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
67401         lib/striconveh.h.
67403 2009-04-10  Bruno Haible  <bruno@clisp.org>
67405         * lib/uniconv.h: Update comment.
67407 2009-04-10  Bruno Haible  <bruno@clisp.org>
67409         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
67410         always.
67411         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
67412         * lib/unistr/u16-mbtouc-aux.c: Likewise.
67413         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
67414         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
67415         "unistring-notinline.h", so that the function gets defined always.
67416         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
67417         * lib/unistr/u8-uctomb.c: Likewise.
67418         * lib/unistr/u16-mbtouc.c: Likewise.
67419         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
67420         * lib/unistr/u16-uctomb.c: Likewise.
67421         * lib/unistr/u32-mbtouc.c: Likewise.
67422         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
67423         * lib/unistr/u32-uctomb.c: Likewise.
67425 2009-04-10  Bruno Haible  <bruno@clisp.org>
67427         Mark 'utime' obsolete.
67428         * modules/utime (Status, Notice): New sections.
67429         Suggested by Jim Meyering.
67431         Fix cross-compile guess for utime test.
67432         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
67433         autoconf.
67434         * doc/posix-functions/utime.texi: Give more precisions.
67435         Reported by Jan <ipif@ymail.com>.
67437 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
67439         filevercmp: correct today's change
67440         * lib/filevercmp.c: Also handle coreutils' test inputs.
67441         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
67443         Fix regression in 'filevercmp' module. Thanks Sven Joachim
67444         for reporting it.
67445         * lib/filevercmp.c: Special handle for "", "." and "..".
67446         * tests/test-filevercmp.c: Enlarge the set suite.
67448 2009-04-07  Jim Meyering  <meyering@redhat.com>
67450         useless-if-before-free: show how to remove braced useless free, too
67451         * build-aux/useless-if-before-free: still only in a comment, though.
67453 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
67455         maint.mk: import changes to syntax-check macros from coreutils
67456         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
67457         Use them in the relevant macros.
67459 2009-04-06  Bruno Haible  <bruno@clisp.org>
67461         Fix unportable use of bit-fields.
67462         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
67463         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
67464         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
67466 2009-04-06  Bruno Haible  <bruno@clisp.org>
67468         Avoid test failures on AIX and OSF/1.
67469         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
67470         that malloc(0) = NULL.
67471         * tests/unicase/test-u8-tolower.c (check): Likewise.
67472         * tests/unicase/test-u8-totitle.c (check): Likewise.
67473         * tests/unicase/test-u8-toupper.c (check): Likewise.
67474         * tests/unicase/test-u16-casefold.c (check): Likewise.
67475         * tests/unicase/test-u16-tolower.c (check): Likewise.
67476         * tests/unicase/test-u16-totitle.c (check): Likewise.
67477         * tests/unicase/test-u16-toupper.c (check): Likewise.
67478         * tests/unicase/test-u32-casefold.c (check): Likewise.
67479         * tests/unicase/test-u32-tolower.c (check): Likewise.
67480         * tests/unicase/test-u32-totitle.c (check): Likewise.
67481         * tests/unicase/test-u32-toupper.c (check): Likewise.
67482         * tests/uninorm/test-u8-nfc.c (check): Likewise.
67483         * tests/uninorm/test-u8-nfd.c (check): Likewise.
67484         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
67485         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
67486         * tests/uninorm/test-u16-nfc.c (check): Likewise.
67487         * tests/uninorm/test-u16-nfd.c (check): Likewise.
67488         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
67489         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
67490         * tests/uninorm/test-u32-nfc.c (check): Likewise.
67491         * tests/uninorm/test-u32-nfd.c (check): Likewise.
67492         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
67493         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
67495 2009-04-05  Bruno Haible  <bruno@clisp.org>
67497         Work around an autoconf limitation.
67498         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
67499         comment line if it would be longer than 3 KB.
67501 2009-04-05  Bruno Haible  <bruno@clisp.org>
67503         Avoid test failure with libiconv-1.13.
67504         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
67505         of the expected test results.
67507 2009-04-05  Bruno Haible  <bruno@clisp.org>
67509         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
67510         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
67511         that it should be installed.
67513 2009-04-05  Bruno Haible  <bruno@clisp.org>
67515         * gnulib-tool: New option --copy-file.
67516         (func_usage): Document it.
67517         (func_dest_tmpfilename): Moved out of func_import.
67518         (func_add_file, func_update_file): New functions, extracted from
67519         func_import.
67520         (func_import): Update.
67522 2009-04-05  Karl Berry  <karl@gnu.org>
67524         * README: prominently mention gnulib-tool.
67525         Rearrange sections so getting the code is near the top.
67527 2009-04-05  Bruno Haible  <bruno@clisp.org>
67529         * lib/unicase.h: Mention u*_cmp2.
67530         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67531         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
67532         * lib/unicase/ulc-casecmp.c: Likewise.
67533         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
67534         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
67535         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
67536         unistr/u8-cmp.
67537         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
67538         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
67539         unistr/u16-cmp.
67540         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
67541         unistr/u32-cmp.
67543         * lib/uninorm.h: Mention u*_cmp2.
67544         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67545         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
67546         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
67547         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
67548         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
67549         unistr/u8-cmp.
67550         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
67551         unistr/u16-cmp.
67552         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
67553         unistr/u32-cmp.
67555         New module 'unistr/u32-cmp2'.
67556         * lib/unistr/u32-cmp2.c: New file.
67557         * modules/unistr/u32-cmp2: New file.
67559         New module 'unistr/u16-cmp2'.
67560         * lib/unistr/u16-cmp2.c: New file.
67561         * modules/unistr/u16-cmp2: New file.
67563         New module 'unistr/u8-cmp2'.
67564         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
67565         * lib/unistr/u8-cmp2.c: New file.
67566         * lib/unistr/u-cmp2.h: New file.
67567         * modules/unistr/u8-cmp2: New file.
67569 2009-04-05  Bruno Haible  <bruno@clisp.org>
67571         * lib/unictype.h (uc_property_is_valid): New macro.
67572         * tests/unictype/test-pr_byname.c (main): Use it.
67574         * lib/unistr.h: Doc fixes.
67575         * lib/uniconv.h: Doc fixes.
67576         * lib/unictype.h: Doc fixes.
67578 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
67580         Port coreutils 7.2 to Solaris 8.
67582         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
67583         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
67584         for Solaris 8.  This is a bit of a hack, as it means it's the
67585         caller's responsibility to add -lnsl if needed, but most likely it
67586         won't be needed since only getaddrinfo uses this and getaddrinfo
67587         isn't needed on Solaris 8.
67589         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
67590         problem to Solaris 8 encountered with coreutils 7.2, which
67591         resulted in a message "fnmatch.c:292: warning: passing argument 4
67592         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
67593         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
67595 2009-04-03  Simon Josefsson  <simon@josefsson.org>
67597         * m4/ld-version-script.m4: Add FIXME comment.
67599 2009-04-02  Simon Josefsson  <simon@josefsson.org>
67601         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
67602         SOVERSION variable.
67604 2009-04-02  Bruno Haible  <bruno@clisp.org>
67606         * Makefile (info, html, dvi, pdf): Combine the rules.
67607         Suggested by Jim Meyering.
67609 2009-04-01  Bruno Haible  <bruno@clisp.org>
67611         * Makefile (info, html, dvi, pdf): New targets.
67612         Reported by Reuben Thomas <rrt@sc3d.org>.
67614 2009-04-01  Bruno Haible  <bruno@clisp.org>
67616         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
67617         can be put into PATH.
67618         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
67620 2009-04-01  Bruno Haible  <bruno@clisp.org>
67622         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
67624 2009-04-01  Bruno Haible  <bruno@clisp.org>
67626         Rename module 'visibility'.
67627         * modules/lib-symbol-visibility: Renamed from modules/visibility.
67628         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
67629         * doc/gnulib.texi: Update.
67630         * MODULES.html.sh (Misc): Update.
67631         * NEWS: Mention the change.
67633 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67635         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
67636         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
67637         Eric Blake <ebb9@byu.net> for review.
67638         * MODULES.html.sh: Add lib-msvc-compat.
67639         * doc/gnulib.texi: Link to new section.
67640         * m4/ld-output-def.m4: New file.
67641         * doc/ld-output-def.texi: New file.
67643 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67645         Rename ld-version-script to lib-symbol-versions.  Suggested by
67646         Bruno Haible <bruno@clisp.org>.
67647         * modules/ld-version-script: Renamed to lib-symbol-versions.
67648         * doc/ld-version-script.texi: Fix module name.
67649         * MODULES.html.sh: Add lib-symbol-versions.
67651 2009-03-31  Simon Josefsson  <simon@josefsson.org>
67653         * modules/u64-tests: New file.
67654         * tests/test-u64.c: New file.
67656 2009-03-04  Simon Josefsson  <simon@josefsson.org>
67658         * MODULES.html.sh: Mention u64.
67659         * modules/u64: New module.
67660         * modules/crypto/sha512: Depend on u64 module instead of providing
67661         u64.h.
67663 2009-03-27  Eric Blake  <ebb9@byu.net>
67665         test-strerror: make debugging EAI_SYSTEM easier
67666         * modules/getaddrinfo-tests (Depends-on): Add strerror.
67667         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
67668         failure was EAI_SYSTEM.
67670 2009-03-25  Bruno Haible  <bruno@clisp.org>
67672         Fix a problem with --enable-relocatable on Solaris 7.
67673         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
67674         since 2008-02-24.
67676 2009-03-25  Eric Blake  <ebb9@byu.net>
67678         test-sockets: avoid gcc warning
67679         * tests/test-sockets.c (main): Silence compiler warning.
67681 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67683         New modules nproc, pthread, contributed by Glen Lenker.
67685         * MODULES.html.sh: Add pthread, nproc.
67686         * lib/nproc.c: New file.
67687         * lib/nproc.h: New file.
67688         * lib/pthread.in.h: New file.
67689         * m4/pthread.m4: New file.
67690         * modules/nproc: New file.
67691         * modules/pthread: New file.
67693 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67695         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
67696         New variable.
67698 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
67700         filevercmp: handle simple~ and numbered.~3~ backup suffixes
67701         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
67702         * tests/test-filevercmp.c: Add tests for backup suffixes.
67704 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67706         * modules/stdlib (Depends-on): Add stdint, needed when defining
67707         struct random_data on, for example, HP-UX 10.20.  Reported by
67708         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67710 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67712         * lib/readline.c (readline): Call fflush on stdout after printing
67713         prompt.
67715 2009-03-20  Bruno Haible  <bruno@clisp.org>
67717         Remove dependency from 'close' module to -lws2_32 on native Windows.
67718         * lib/close-hook.h: New file.
67719         * lib/close-hook.c: New file.
67720         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
67721         w32sock.h.
67722         (_gl_close_fd_maybe_socket): Remove function.
67723         (rpl_close): Invoke execute_all_close_hooks instead of
67724         _gl_close_fd_maybe_socket.
67725         * lib/sockets.c: Include close-hook.h, w32sock.h.
67726         (close_fd_maybe_socket): New function, essentially from lib/close.c.
67727         (close_sockets_hook): New variable.
67728         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
67729         (gl_sockets_cleanup): Unregister it.
67730         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
67731         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
67732         * modules/close-hook: New file.
67733         * modules/close (Files): Remove lib/w32sock.h.
67734         (Depends-on): Add close-hook.
67735         (Link): Remove section.
67736         * modules/sockets (Files): Add lib/w32sock.h.
67737         (Depends-on): Add close-hook.
67738         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
67739         invocation.
67740         * NEWS: Mention that LIB_CLOSE is gone.
67742 2009-03-23  Eric Blake  <ebb9@byu.net>
67744         signal-tests: test previous patch
67745         * tests/test-signal.c: New file.
67746         * modules/signal-tests: Likewise.
67748         signal.h: always support 'volatile sig_atomic_t'
67749         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67750         (gl_SIGNAL_H_DEFAULTS): Add a default.
67751         * modules/signal (Makefile.am): Substitute if needed.
67752         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67753         users can blindly add volatile.
67754         * doc/posix-headers/signal.texi (signal.h): Document it.
67755         Reported by Matthew Woehlke.
67757 2009-03-23  Jim Meyering  <meyering@redhat.com>
67759         pathmax: PATH_MAX: use pathconf only when available
67760         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67761         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67762         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67763         This avoids a link failure in a PSP cross-compilation environment
67764         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67766         * lib/vasnprintf.c (divide): Fix typo in comment.
67768 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67770         * gnulib-tool (func_filter_filelist): Fix comment.
67772 2009-03-20  Bruno Haible  <bruno@clisp.org>
67774         Make sockets.h self-contained.
67775         * lib/sockets.c: Include sockets.h first.
67776         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67778 2009-03-19  Eric Blake  <ebb9@byu.net>
67780         doc: mention more functions added in cygwin 1.7.0
67781         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67782         addition.
67783         * doc/posix-functions/log2f.texi: Likewise.
67785 2009-03-19  Jim Meyering  <meyering@redhat.com>
67787         fsusage: avoid syntax error due to statement-before-declaration
67788         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67789         after all declarations.  Reported by Matthew Woehlke in
67790         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67792 2009-03-18  Eric Blake  <ebb9@byu.net>
67794         build-aux/compile: sync from automake
67795         * build-aux/compile: New file, from automake.
67796         * config/srclist.txt: Mention build-aux/compile.
67798 2009-03-17  Bruno Haible  <bruno@clisp.org>
67800         * lib/git-merge-changelog.c: Fix typo in comment.
67801         Reported by Reuben Thomas <rrt@sc3d.org>.
67803 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67805         * m4/regex.m4: update and improve help for
67806         --without-included-regex.
67808 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67810         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67811         failure on missing include files.
67813 2009-03-17  Eric Blake  <ebb9@byu.net>
67815         doc: mention more functions added in cygwin 1.7.0
67816         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67817         addition.
67818         * doc/posix-functions/fwscanf.texi: Likewise.
67819         * doc/posix-functions/swprintf.texi: Likewise.
67820         * doc/posix-functions/swscanf.texi: Likewise.
67821         * doc/posix-functions/vfwprintf.texi: Likewise.
67822         * doc/posix-functions/vfwscanf.texi: Likewise.
67823         * doc/posix-functions/vswprintf.texi: Likewise.
67824         * doc/posix-functions/vswscanf.texi: Likewise.
67825         * doc/posix-functions/vwprintf.texi: Likewise.
67826         * doc/posix-functions/vwscanf.texi: Likewise.
67827         * doc/posix-functions/wcscasecmp.texi: Likewise.
67828         * doc/posix-functions/wcsdup.texi: Likewise.
67829         * doc/posix-functions/wcsftime.texi: Likewise.
67830         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67831         * doc/posix-functions/wprintf.texi: Likewise.
67832         * doc/posix-functions/wscanf.texi: Likewise.
67833         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67835 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67837         maint.mk: really add $(AM_MAKEFLAGS)
67838         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67839         was inadvertently omitted in the last commit.
67840         Spotted by Bruno Haible.
67842         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67843         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67844         $(AM_MAKEFLAGS)' rather than plain `make'.
67846         gnulib-tool: execute $MAKE not make
67847         * gnulib-tool: Default $MAKE to 'make'.
67848         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67849         than make.  Initialize $MAKE in the do-autobuild script.
67851         gnulib-tool: use $MAKE not make in generated files
67852         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67853         make, in generated files.  Initialize $MAKE in the do-autobuild
67854         script.
67856         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67858         GNUmakefile: disable parallelism only for multiple, recursive targets
67859         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67860         additions in the Makefile.
67861         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67862         by Automake.
67863         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67864         are listed on the command line and at least one of them is
67865         listed in $(ALL_RECURSIVE_TARGETS).
67867 2009-03-14  Bruno Haible  <bruno@clisp.org>
67869         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67870         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67871         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67872         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67873         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67874         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67875         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67876         unistr/u8-uctomb.
67877         * modules/unistr/u8-strchr (Depends-on): Likewise.
67878         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67879         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67880         unistr/u16-uctomb.
67881         * modules/unistr/u16-strchr (Depends-on): Likewise.
67882         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67884 2009-03-12  Bruno Haible  <bruno@clisp.org>
67886         Work around select() bug on Interix 3.5.
67887         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67888         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67889         * m4/select.m4: New file.
67890         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67891         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67892         * modules/select (Files): Add m4/select.m4.
67893         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67894         * modules/nanosleep (Depends-on): Add select.
67895         * modules/poll (Depends-on): Likewise.
67896         * doc/posix-functions/select.texi: Mention the Interix bug.
67897         Reported by Markus Duft <mduft@gentoo.org>.
67899         * lib/select.c: Renamed from lib/winsock-select.c.
67900         * modules/select (Files): Add lib/select.c, remove
67901         lib/winsock-select.c.
67902         (configure.ac): Update.
67904 2009-03-12  Jim Meyering  <meyering@redhat.com>
67906         avoid gcc warnings about unused macro definitions
67907         * lib/readtokens.c (STREQ): Remove unused definition.
67908         * lib/xmalloc.c (SIZE_MAX): Likewise.
67909         * lib/openat-die.c (N_): Likewise.
67910         * lib/mountlist.c (SIZE_MAX): Remove definition.
67911         Instead, include <stdint.h>.
67912         * lib/readutmp.c: Likewise.
67913         * modules/readutmp (Depends-on): Add stdint.
67914         * modules/mountlist (Depends-on): Add stdint.
67915         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67917 2009-03-10  Bruno Haible  <bruno@clisp.org>
67919         Tests for module 'mbmemcasecoll'.
67920         * modules/mbmemcasecoll-tests: New file.
67921         * tests/test-mbmemcasecoll1.sh: New file.
67922         * tests/test-mbmemcasecoll2.sh: New file.
67923         * tests/test-mbmemcasecoll3.sh: New file.
67924         * tests/test-mbmemcasecoll.c: New file.
67926         New module 'mbmemcasecoll'.
67927         * lib/mbmemcasecoll.h: New file.
67928         * lib/mbmemcasecoll.c: New file.
67929         * modules/mbmemcasecoll: New file.
67931         * tests/test-mbmemcasecmp.h: New file, extracted from
67932         tests/test-mbmemcasecmp.c.
67933         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67934         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67935         (main): Update.
67936         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67938 2009-03-09  Bruno Haible  <bruno@clisp.org>
67940         Tests for module 'mbmemcasecmp'.
67941         * modules/mbmemcasecmp-tests: New file.
67942         * tests/test-mbmemcasecmp1.sh: New file.
67943         * tests/test-mbmemcasecmp2.sh: New file.
67944         * tests/test-mbmemcasecmp3.sh: New file.
67945         * tests/test-mbmemcasecmp.c: New file.
67947         New module 'mbmemcasecmp'.
67948         * lib/mbmemcasecmp.h: New file.
67949         * lib/mbmemcasecmp.c: New file.
67950         * modules/mbmemcasecmp: New file.
67952 2009-03-09  Bruno Haible  <bruno@clisp.org>
67954         Tests for module 'unicase/ulc-casecoll'.
67955         * modules/unicase/ulc-casecoll-tests: New file.
67956         * tests/unicase/test-ulc-casecoll1.sh: New file.
67957         * tests/unicase/test-ulc-casecoll2.sh: New file.
67958         * tests/unicase/test-ulc-casecoll.c: New file.
67960         New module 'unicase/ulc-casecoll'.
67961         * lib/unicase.h (ulc_casecoll): New declaration.
67962         * lib/unicase/ulc-casecoll.c: New file.
67963         * modules/unicase/ulc-casecoll: New file.
67965         New module 'unicase/ulc-casexfrm'.
67966         * lib/unicase.h (ulc_casexfrm): New declaration.
67967         * lib/unicase/ulc-casexfrm.c: New file.
67968         * modules/unicase/ulc-casexfrm: New file.
67970 2009-03-09  Bruno Haible  <bruno@clisp.org>
67972         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
67973         invocations.
67975         * m4/mbscasecmp.m4: Remove file.
67976         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
67977         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
67979         * m4/mbscasestr.m4: Remove file.
67980         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
67981         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
67983         * m4/mbschr.m4: Remove file.
67984         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
67985         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
67987         * m4/mbscspn.m4: Remove file.
67988         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
67989         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
67991         * m4/mbslen.m4: Remove file.
67992         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
67993         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
67995         * m4/mbsncasecmp.m4: Remove file.
67996         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
67997         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
67999         * m4/mbsnlen.m4: Remove file.
68000         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
68001         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
68003         * m4/mbspbrk.m4: Remove file.
68004         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
68005         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
68007         * m4/mbspcasecmp.m4: Remove file.
68008         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
68009         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
68011         * m4/mbsrchr.m4: Remove file.
68012         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
68013         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
68015         * m4/mbssep.m4: Remove file.
68016         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
68017         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
68019         * m4/mbsspn.m4: Remove file.
68020         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
68021         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
68023         * m4/mbsstr.m4: Remove file.
68024         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
68025         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
68027         * m4/mbstok_r.m4: Remove file.
68028         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
68029         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
68031         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
68033         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
68034         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
68036         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
68038 2009-03-08  Bruno Haible  <bruno@clisp.org>
68040         Tests for module 'unicase/ulc-casecmp'.
68041         * modules/unicase/ulc-casecmp-tests: New file.
68042         * tests/unicase/test-ulc-casecmp1.sh: New file.
68043         * tests/unicase/test-ulc-casecmp2.sh: New file.
68044         * tests/unicase/test-ulc-casecmp.c: New file.
68046         New module 'unicase/ulc-casecmp'.
68047         * lib/unicase.h (ulc_casecmp): New declaration.
68048         * lib/unicase/ulc-casecmp.c: New file.
68049         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
68050         'const SRC_UNIT *'.
68051         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
68052         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
68053         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
68054         * modules/unicase/ulc-casecmp: New file.
68056         Tests for module 'unicase/u32-is-cased'.
68057         * modules/unicase/u32-is-cased-tests: New file.
68058         * tests/unicase/test-u32-is-cased.c: New file.
68060         Tests for module 'unicase/u16-is-cased'.
68061         * modules/unicase/u16-is-cased-tests: New file.
68062         * tests/unicase/test-u16-is-cased.c: New file.
68064         Tests for module 'unicase/u8-is-cased'.
68065         * modules/unicase/u8-is-cased-tests: New file.
68066         * tests/unicase/test-u8-is-cased.c: New file.
68067         * tests/unicase/test-is-cased.h: New file.
68069         New module 'unicase/u32-is-cased'.
68070         * lib/unicase/u32-is-cased.c: New file.
68071         * modules/unicase/u32-is-cased: New file.
68073         New module 'unicase/u16-is-cased'.
68074         * lib/unicase/u16-is-cased.c: New file.
68075         * modules/unicase/u16-is-cased: New file.
68077         New module 'unicase/u8-is-cased'.
68078         * lib/unicase/u8-is-cased.c: New file.
68079         * lib/unicase/u-is-cased.h: New file.
68080         * modules/unicase/u8-is-cased: New file.
68082         Tests for module 'unicase/u32-is-casefolded'.
68083         * modules/unicase/u32-is-casefolded-tests: New file.
68084         * tests/unicase/test-u32-is-casefolded.c: New file.
68086         Tests for module 'unicase/u16-is-casefolded'.
68087         * modules/unicase/u16-is-casefolded-tests: New file.
68088         * tests/unicase/test-u16-is-casefolded.c: New file.
68090         Tests for module 'unicase/u8-is-casefolded'.
68091         * modules/unicase/u8-is-casefolded-tests: New file.
68092         * tests/unicase/test-u8-is-casefolded.c: New file.
68093         * tests/unicase/test-is-casefolded.h: New file.
68095         New module 'unicase/u32-is-casefolded'.
68096         * lib/unicase/u32-is-casefolded.c: New file.
68097         * modules/unicase/u32-is-casefolded: New file.
68099         New module 'unicase/u16-is-casefolded'.
68100         * lib/unicase/u16-is-casefolded.c: New file.
68101         * modules/unicase/u16-is-casefolded: New file.
68103         New module 'unicase/u8-is-casefolded'.
68104         * lib/unicase/u8-is-casefolded.c: New file.
68105         * modules/unicase/u8-is-casefolded: New file.
68107         Tests for module 'unicase/u32-is-titlecase'.
68108         * modules/unicase/u32-is-titlecase-tests: New file.
68109         * tests/unicase/test-u32-is-titlecase.c: New file.
68111         Tests for module 'unicase/u16-is-titlecase'.
68112         * modules/unicase/u16-is-titlecase-tests: New file.
68113         * tests/unicase/test-u16-is-titlecase.c: New file.
68115         Tests for module 'unicase/u8-is-titlecase'.
68116         * modules/unicase/u8-is-titlecase-tests: New file.
68117         * tests/unicase/test-u8-is-titlecase.c: New file.
68118         * tests/unicase/test-is-titlecase.h: New file.
68120         New module 'unicase/u32-is-titlecase'.
68121         * lib/unicase/u32-is-titlecase.c: New file.
68122         * modules/unicase/u32-is-titlecase: New file.
68124         New module 'unicase/u16-is-titlecase'.
68125         * lib/unicase/u16-is-titlecase.c: New file.
68126         * modules/unicase/u16-is-titlecase: New file.
68128         New module 'unicase/u8-is-titlecase'.
68129         * lib/unicase/u8-is-titlecase.c: New file.
68130         * modules/unicase/u8-is-titlecase: New file.
68132         Tests for module 'unicase/u32-is-lowercase'.
68133         * modules/unicase/u32-is-lowercase-tests: New file.
68134         * tests/unicase/test-u32-is-lowercase.c: New file.
68136         Tests for module 'unicase/u16-is-lowercase'.
68137         * modules/unicase/u16-is-lowercase-tests: New file.
68138         * tests/unicase/test-u16-is-lowercase.c: New file.
68140         Tests for module 'unicase/u8-is-lowercase'.
68141         * modules/unicase/u8-is-lowercase-tests: New file.
68142         * tests/unicase/test-u8-is-lowercase.c: New file.
68143         * tests/unicase/test-is-lowercase.h: New file.
68145         New module 'unicase/u32-is-lowercase'.
68146         * lib/unicase/u32-is-lowercase.c: New file.
68147         * modules/unicase/u32-is-lowercase: New file.
68149         New module 'unicase/u16-is-lowercase'.
68150         * lib/unicase/u16-is-lowercase.c: New file.
68151         * modules/unicase/u16-is-lowercase: New file.
68153         New module 'unicase/u8-is-lowercase'.
68154         * lib/unicase/u8-is-lowercase.c: New file.
68155         * modules/unicase/u8-is-lowercase: New file.
68157         Tests for module 'unicase/u32-is-uppercase'.
68158         * modules/unicase/u32-is-uppercase-tests: New file.
68159         * tests/unicase/test-u32-is-uppercase.c: New file.
68161         Tests for module 'unicase/u16-is-uppercase'.
68162         * modules/unicase/u16-is-uppercase-tests: New file.
68163         * tests/unicase/test-u16-is-uppercase.c: New file.
68165         Tests for module 'unicase/u8-is-uppercase'.
68166         * modules/unicase/u8-is-uppercase-tests: New file.
68167         * tests/unicase/test-u8-is-uppercase.c: New file.
68168         * tests/unicase/test-is-uppercase.h: New file.
68170         New module 'unicase/u32-is-uppercase'.
68171         * lib/unicase/u32-is-uppercase.c: New file.
68172         * modules/unicase/u32-is-uppercase: New file.
68174         New module 'unicase/u16-is-uppercase'.
68175         * lib/unicase/u16-is-uppercase.c: New file.
68176         * modules/unicase/u16-is-uppercase: New file.
68178         New module 'unicase/u8-is-uppercase'.
68179         * lib/unicase/u8-is-uppercase.c: New file.
68180         * modules/unicase/u8-is-uppercase: New file.
68182         New module 'unicase/u32-is-invariant'.
68183         * lib/unicase/u32-is-invariant.c: New file.
68184         * modules/unicase/u32-is-invariant: New file.
68186         New module 'unicase/u16-is-invariant'.
68187         * lib/unicase/u16-is-invariant.c: New file.
68188         * modules/unicase/u16-is-invariant: New file.
68190         New module 'unicase/u8-is-invariant'.
68191         * lib/unicase/u8-is-invariant.c: New file.
68192         * lib/unicase/invariant.h: New file.
68193         * lib/unicase/u-is-invariant.h: New file.
68194         * modules/unicase/u8-is-invariant: New file.
68196         Tests for module 'unicase/u32-casecoll'.
68197         * modules/unicase/u32-casecoll-tests: New file.
68198         * tests/unicase/test-u32-casecoll.c: New file.
68200         Tests for module 'unicase/u16-casecoll'.
68201         * modules/unicase/u16-casecoll-tests: New file.
68202         * tests/unicase/test-u16-casecoll.c: New file.
68204         Tests for module 'unicase/u8-casecoll'.
68205         * modules/unicase/u8-casecoll-tests: New file.
68206         * tests/unicase/test-u8-casecoll.c: New file.
68208         New module 'unicase/u32-casecoll'.
68209         * lib/unicase/u32-casecoll.c: New file.
68210         * modules/unicase/u32-casecoll: New file.
68212         New module 'unicase/u16-casecoll'.
68213         * lib/unicase/u16-casecoll.c: New file.
68214         * modules/unicase/u16-casecoll: New file.
68216         New module 'unicase/u8-casecoll'.
68217         * lib/unicase/u8-casecoll.c: New file.
68218         * lib/unicase/u-casecoll.h: New file.
68219         * modules/unicase/u8-casecoll: New file.
68221         New module 'unicase/u32-casexfrm'.
68222         * lib/unicase/u32-casexfrm.c: New file.
68223         * modules/unicase/u32-casexfrm: New file.
68225         New module 'unicase/u16-casexfrm'.
68226         * lib/unicase/u16-casexfrm.c: New file.
68227         * modules/unicase/u16-casexfrm: New file.
68229         New module 'unicase/u8-casexfrm'.
68230         * lib/unicase/u8-casexfrm.c: New file.
68231         * lib/unicase/u-casexfrm.h: New file.
68232         * modules/unicase/u8-casexfrm: New file.
68234         Tests for module 'unicase/u32-casecmp'.
68235         * modules/unicase/u32-casecmp-tests: New file.
68236         * tests/unicase/test-u32-casecmp.c: New file.
68238         Tests for module 'unicase/u16-casecmp'.
68239         * modules/unicase/u16-casecmp-tests: New file.
68240         * tests/unicase/test-u16-casecmp.c: New file.
68242         Tests for module 'unicase/u8-casecmp'.
68243         * modules/unicase/u8-casecmp-tests: New file.
68244         * tests/unicase/test-u8-casecmp.c: New file.
68245         * tests/unicase/test-casecmp.h: New file.
68247         New module 'unicase/u32-casecmp'.
68248         * lib/unicase/u32-casecmp.c: New file.
68249         * modules/unicase/u32-casecmp: New file.
68251         New module 'unicase/u16-casecmp'.
68252         * lib/unicase/u16-casecmp.c: New file.
68253         * modules/unicase/u16-casecmp: New file.
68255         New module 'unicase/u8-casecmp'.
68256         * lib/unicase/u8-casecmp.c: New file.
68257         * lib/unicase/u-casecmp.h: New file.
68258         * modules/unicase/u8-casecmp: New file.
68260         Tests for module 'unicase/u32-casefold'.
68261         * modules/unicase/u32-casefold-tests: New file.
68262         * tests/unicase/test-u32-casefold.c: New file.
68264         Tests for module 'unicase/u16-casefold'.
68265         * modules/unicase/u16-casefold-tests: New file.
68266         * tests/unicase/test-u16-casefold.c: New file.
68268         Tests for module 'unicase/u8-casefold'.
68269         * modules/unicase/u8-casefold-tests: New file.
68270         * tests/unicase/test-u8-casefold.c: New file.
68272         New module 'unicase/u32-casefold'.
68273         * lib/unicase/u32-casefold.c: New file.
68274         * modules/unicase/u32-casefold: New file.
68276         New module 'unicase/u16-casefold'.
68277         * lib/unicase/u16-casefold.c: New file.
68278         * modules/unicase/u16-casefold: New file.
68280         New module 'unicase/u8-casefold'.
68281         * lib/unicase/u8-casefold.c: New file.
68282         * lib/unicase/u-casefold.h: New file.
68283         * modules/unicase/u8-casefold: New file.
68285         New module 'unicase/tocasefold'.
68286         * lib/unicase/casefold.h: New file.
68287         * lib/unicase/tocasefold.c: New file.
68288         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
68289         * modules/unicase/tocasefold: New file.
68291         Tests for module 'unicase/u32-totitle'.
68292         * modules/unicase/u32-totitle-tests: New file.
68293         * tests/unicase/test-u32-totitle.c: New file.
68295         Tests for module 'unicase/u16-totitle'.
68296         * modules/unicase/u16-totitle-tests: New file.
68297         * tests/unicase/test-u16-totitle.c: New file.
68299         Tests for module 'unicase/u8-totitle'.
68300         * modules/unicase/u8-totitle-tests: New file.
68301         * tests/unicase/test-u8-totitle.c: New file.
68303         New module 'unicase/u32-totitle'.
68304         * lib/unicase/u32-totitle.c: New file.
68305         * modules/unicase/u32-totitle: New file.
68307         New module 'unicase/u16-totitle'.
68308         * lib/unicase/u16-totitle.c: New file.
68309         * modules/unicase/u16-totitle: New file.
68311         New module 'unicase/u8-totitle'.
68312         * lib/unicase/u8-totitle.c: New file.
68313         * lib/unicase/u-totitle.h: New file.
68314         * modules/unicase/u8-totitle: New file.
68316         Tests for module 'unicase/u32-tolower'.
68317         * modules/unicase/u32-tolower-tests: New file.
68318         * tests/unicase/test-u32-tolower.c: New file.
68320         Tests for module 'unicase/u16-tolower'.
68321         * modules/unicase/u16-tolower-tests: New file.
68322         * tests/unicase/test-u16-tolower.c: New file.
68324         Tests for module 'unicase/u8-tolower'.
68325         * modules/unicase/u8-tolower-tests: New file.
68326         * tests/unicase/test-u8-tolower.c: New file.
68328         New module 'unicase/u32-tolower'.
68329         * lib/unicase/u32-tolower.c: New file.
68330         * modules/unicase/u32-tolower: New file.
68332         New module 'unicase/u16-tolower'.
68333         * lib/unicase/u16-tolower.c: New file.
68334         * modules/unicase/u16-tolower: New file.
68336         New module 'unicase/u8-tolower'.
68337         * lib/unicase/u8-tolower.c: New file.
68338         * modules/unicase/u8-tolower: New file.
68340         Tests for module 'unicase/u32-toupper'.
68341         * modules/unicase/u32-toupper-tests: New file.
68342         * tests/unicase/test-u32-toupper.c: New file.
68344         Tests for module 'unicase/u16-toupper'.
68345         * modules/unicase/u16-toupper-tests: New file.
68346         * tests/unicase/test-u16-toupper.c: New file.
68348         Tests for module 'unicase/u8-toupper'.
68349         * modules/unicase/u8-toupper-tests: New file.
68350         * tests/unicase/test-u8-toupper.c: New file.
68352         New module 'unicase/u32-toupper'.
68353         * lib/unicase/u32-toupper.c: New file.
68354         * modules/unicase/u32-toupper: New file.
68356         New module 'unicase/u16-toupper'.
68357         * lib/unicase/u16-toupper.c: New file.
68358         * modules/unicase/u16-toupper: New file.
68360         New module 'unicase/u8-toupper'.
68361         * lib/unicase/u8-toupper.c: New file.
68362         * modules/unicase/u8-toupper: New file.
68364         New module 'unicase/u32-casemap'.
68365         * lib/unicase/u32-casemap.c: New file.
68366         * modules/unicase/u32-casemap: New file.
68368         New module 'unicase/u16-casemap'.
68369         * lib/unicase/u16-casemap.c: New file.
68370         * modules/unicase/u16-casemap: New file.
68372         New module 'unicase/u8-casemap'.
68373         * lib/unicase/unicasemap.h: New file.
68374         * lib/unicase/u8-casemap.c: New file.
68375         * lib/unicase/u-casemap.h: New file.
68376         * modules/unicase/u8-casemap: New file.
68378         New module 'unicase/special-casing'.
68379         * lib/unicase/special-casing.h: New file.
68380         * lib/unicase/special-casing.c: New file.
68381         * lib/unicase/special-casing-table.gperf: New file, generated by
68382         gen-uni-tables.c.
68383         * modules/unicase/special-casing: New file.
68385         Tests for module 'unicase/locale-language'.
68386         * modules/unicase/locale-language-tests: New file.
68387         * tests/unicase/test-locale-language.sh: New file.
68388         * tests/unicase/test-locale-language.c: New file.
68390         New module 'unicase/locale-language'.
68391         * lib/unicase/locale-language.c: New file.
68392         * lib/unicase/locale-languages.gperf: New file.
68393         * modules/unicase/locale-language: New file.
68395         Generate more tables for case conversion and case folding.
68396         * lib/gen-uni-tables.c (SCC_*): New enum items.
68397         (struct special_casing_rule): New type.
68398         (casing_rules, num_casing_rules, allocated_casing_rules): New
68399         variables.
68400         (add_casing_rule, fill_casing_rules): New functions.
68401         (struct casefold_rule): New type.
68402         (casefolding_rules, num_casefolding_rules,
68403         allocated_casefolding_rules): New variables.
68404         (fill_casefolding_rules): New function.
68405         (unicode_casefold): New variable.
68406         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
68407         sort_casing_rules, output_casing_rules): New functions.
68408         (main): Accept to more arguments: SpecialCasing.txt and
68409         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
68410         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
68411         Output mapping for casefolding.
68413         * lib/unicase.h: Include stdbool.h, uninorm.h.
68414         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
68415         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
68416         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
68417         arguments.
68418         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
68419         resultp arguments.
68420         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
68421         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
68422         resultp arguments.
68423         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
68424         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
68425         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
68426         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
68427         declarations.
68428         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
68430 2009-03-08  Bruno Haible  <bruno@clisp.org>
68432         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68433         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
68434         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
68435         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68437 2009-03-07  Bruno Haible  <bruno@clisp.org>
68439         Adjust u*_normcmp, u*_normcoll API.
68440         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68441         u16_normcoll, u32_normcoll): Change failure conventions.
68442         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
68443         errno and return -1.
68444         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68446 2009-03-07  Bruno Haible  <bruno@clisp.org>
68448         Tests for module 'uninorm/u32-normcoll'.
68449         * modules/uninorm/u32-normcoll-tests: New file.
68450         * tests/uninorm/test-u32-normcoll.c: New file.
68452         Tests for module 'uninorm/u16-normcoll'.
68453         * modules/uninorm/u16-normcoll-tests: New file.
68454         * tests/uninorm/test-u16-normcoll.c: New file.
68456         Tests for module 'uninorm/u8-normcoll'.
68457         * modules/uninorm/u8-normcoll-tests: New file.
68458         * tests/uninorm/test-u8-normcoll.c: New file.
68460 2009-03-07  Bruno Haible  <bruno@clisp.org>
68462         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
68463         tests/uninorm/test-u32-normcmp.c.
68464         * tests/uninorm/test-u32-normcmp.c: Include it.
68465         (test_nonascii): New function, extracted from main. Add some more
68466         tests.
68467         (main): Invoke test_ascii and test_nonascii.
68468         * modules/uninorm/u32-normcmp-tests (Files): Add
68469         tests/uninorm/test-u32-normcmp.h.
68470         (Depends-on): Remove uninorm/u32-normcmp.
68472         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
68473         tests/uninorm/test-u16-normcmp.c.
68474         * tests/uninorm/test-u16-normcmp.c: Include it.
68475         (test_nonascii): New function, extracted from main. Add some more
68476         tests.
68477         (main): Invoke test_ascii and test_nonascii.
68478         * modules/uninorm/u16-normcmp-tests (Files): Add
68479         tests/uninorm/test-u16-normcmp.h.
68480         (Depends-on): Remove uninorm/u16-normcmp.
68482         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
68483         tests/uninorm/test-u8-normcmp.c.
68484         * tests/uninorm/test-u8-normcmp.c: Include it.
68485         (test_nonascii): New function, extracted from main. Add some more
68486         tests.
68487         (main): Invoke test_ascii and test_nonascii.
68488         * modules/uninorm/u8-normcmp-tests (Files): Add
68489         tests/uninorm/test-u8-normcmp.h.
68490         (Depends-on): Remove uninorm/u8-normcmp.
68492 2009-03-07  Bruno Haible  <bruno@clisp.org>
68494         New module 'uninorm/u32-normcoll'.
68495         * lib/uninorm/u32-normcoll.c: New file.
68496         * modules/uninorm/u32-normcoll: New file.
68498         New module 'uninorm/u16-normcoll'.
68499         * lib/uninorm/u16-normcoll.c: New file.
68500         * modules/uninorm/u16-normcoll: New file.
68502         New module 'uninorm/u8-normcoll'.
68503         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
68504         declarations.
68505         * lib/uninorm/u8-normcoll.c: New file.
68506         * lib/uninorm/u-normcoll.h: New file.
68507         * modules/uninorm/u8-normcoll: New file.
68509         New module 'uninorm/u32-normxfrm'.
68510         * lib/uninorm/u32-normxfrm.c: New file.
68511         * modules/uninorm/u32-normxfrm: New file.
68513         New module 'uninorm/u16-normxfrm'.
68514         * lib/uninorm/u16-normxfrm.c: New file.
68515         * modules/uninorm/u16-normxfrm: New file.
68517         New module 'uninorm/u8-normxfrm'.
68518         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
68519         declarations.
68520         * lib/uninorm/u8-normxfrm.c: New file.
68521         * lib/uninorm/u-normxfrm.h: New file.
68522         * modules/uninorm/u8-normxfrm: New file.
68524 2009-03-07  Bruno Haible  <bruno@clisp.org>
68526         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
68527         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
68528         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
68530 2009-03-07  Bruno Haible  <bruno@clisp.org>
68532         New module 'memxfrm'.
68533         * lib/memxfrm.h: New file.
68534         * lib/memxfrm.c: New file.
68535         * modules/memxfrm: New file.
68537 2009-03-07  Bruno Haible  <bruno@clisp.org>
68539         New module 'memcmp2'.
68540         * lib/memcmp2.h: New file.
68541         * lib/memcmp2.c: New file.
68542         * modules/memcmp2: New file.
68544 2009-03-07  Bruno Haible  <bruno@clisp.org>
68546         Tests for module 'uninorm/decomposing-form'.
68547         * modules/uninorm/decomposing-form-tests: New file.
68548         * tests/uninorm/test-decomposing-form.c: New file.
68550         New module 'uninorm/decomposing-form'.
68551         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
68552         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
68553         Add 'decomposing_variant' field.
68554         * lib/uninorm/decomposing-form.c: New file.
68555         * lib/uninorm/nfc.c (uninorm_nfc): Update.
68556         * lib/uninorm/nfd.c (uninorm_nfd): Update.
68557         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
68558         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
68559         * modules/uninorm/decomposing-form: New file.
68560         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
68561         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
68563 2009-03-07  Bruno Haible  <bruno@clisp.org>
68565         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
68566         strings.
68568 2009-03-06  Bruno Haible  <bruno@clisp.org>
68570         Tests for module 'uninorm/u32-normcmp'.
68571         * tests/uninorm/test-u32-normcmp.c: New file.
68572         * modules/uninorm/u32-normcmp-tests: New file.
68574         Tests for module 'uninorm/u16-normcmp'.
68575         * tests/uninorm/test-u16-normcmp.c: New file.
68576         * modules/uninorm/u16-normcmp-tests: New file.
68578         Tests for module 'uninorm/u8-normcmp'.
68579         * tests/uninorm/test-u8-normcmp.c: New file.
68580         * modules/uninorm/u8-normcmp-tests: New file.
68582         New module 'uninorm/u32-normcmp'.
68583         * lib/uninorm/u32-normcmp.c: New file.
68584         * modules/uninorm/u32-normcmp: New file.
68586         New module 'uninorm/u16-normcmp'.
68587         * lib/uninorm/u16-normcmp.c: New file.
68588         * modules/uninorm/u16-normcmp: New file.
68590         New module 'uninorm/u8-normcmp'.
68591         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
68592         declarations.
68593         * lib/uninorm/u8-normcmp.c: New file.
68594         * lib/uninorm/u-normcmp.h: New file.
68595         * modules/uninorm/u8-normcmp: New file.
68597 2009-03-06  Bruno Haible  <bruno@clisp.org>
68599         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
68600         Reported by Eric Blake.
68602 2009-03-06  Eric Blake  <ebb9@byu.net>
68603             Bruno Haible  <bruno@clisp.org>
68605         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
68606         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
68607         condition.
68608         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68609         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
68610         condition.
68611         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68613 2009-03-06  Eric Blake  <ebb9@byu.net>
68615         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
68616         to avoid compiler warnings.
68617         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
68619 2009-03-05  Bruno Haible  <bruno@clisp.org>
68621         * tests/test-ftell.c (main): Disable test beyond end of file on
68622         FreeMiNT.
68623         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68625 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
68627         * lib/filevercmp.c: Move hidden files up in ordering.
68628         * tests/test-filevercmp.c: Add tests for hidden files.
68630 2009-03-04  Bruno Haible  <bruno@clisp.org>
68632         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
68633         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
68634         AM_CFLAGS.
68635         Reported by Simon Josefsson.
68637 2009-03-03  Bruno Haible  <bruno@clisp.org>
68639         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
68640         Reported by Simon Josefsson.
68642         * doc/ld-version-script.texi: Update node reference.
68644 2009-03-03  Bruno Haible  <bruno@clisp.org>
68646         * modules/visibility (License): Change to 'unlimited'.
68647         Suggested by Simon Josefsson.
68649 2009-03-03  Jim Meyering  <meyering@redhat.com>
68651         unlinkdir: cannot_unlink_dir may modify process state
68652         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
68653         it's neither thread-safe nor appropriate for use in a library.
68655 2009-03-03  Eric Blake  <ebb9@byu.net>
68657         test-closein: silence test under Darwin
68658         * tests/test-closein.sh: Ignore stderr from cat, since we don't
68659         care if it dies from EPIPE or EBADF.
68661 2009-03-03  Bruno Haible  <bruno@clisp.org>
68663         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
68664         earlier.
68665         * doc/visibility.texi: Fix @node and @section.
68667 2009-03-03  Simon Josefsson  <simon@josefsson.org>
68669         * doc/gnulib.texi: Link to sections for ld version script and
68670         visibility.
68671         * doc/visibility.texi: Add @node and @section.
68672         * modules/ld-version-script: New module.
68673         * m4/ld-version-script.m4: New file.
68674         * doc/ld-version-script.texi: New file.
68676 2009-03-02  David Lutterkort  <lutter@redhat.com>
68678         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
68679         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68681 2009-03-02  Bruno Haible  <bruno@clisp.org>
68683         * doc/visibility.texi: Mention libtool's -export-symbols option.
68685 2009-03-02  Jim Meyering  <meyering@redhat.com>
68687         announce-gen: new option: --no-print-checksums
68688         * build-aux/announce-gen (usage): Describe it.
68689         (print_checksums): Print a newline here, not in the [*] footnote.
68690         (main): Honor it.
68692 2009-03-01  Bruno Haible  <bruno@clisp.org>
68694         Use socklen_t in the native Windows replacements prototypes.
68695         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
68696         instead of 'int'.
68697         * lib/getsockopt.c (rpl_getsockopt): Likewise.
68698         * lib/setsockopt.c (rpl_setsockopt): Likewise.
68699         * modules/getsockopt (Depends-on): Add socklen.
68700         * modules/setsockopt (Depends-on): Add socklen.
68702 2009-03-01  Bruno Haible  <bruno@clisp.org>
68704         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
68705         least 4.2.
68707 2009-03-01  Eric Blake  <ebb9@byu.net>
68708             Bruno Haible  <bruno@clisp.org>
68710         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
68711         error messages.
68712         * lib/wait-process.c (wait_subprocess): Omit error message about
68713         deadly signal sent to the child of termsigp != NULL.
68715 2009-03-01  Eric Blake  <ebb9@byu.net>
68717         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
68719 2009-03-01  Bruno Haible  <bruno@clisp.org>
68721         Avoid a gcc warning.
68722         * tests/test-sched.c (b): Make global.
68723         Reported by Eric Blake.
68725 2009-01-19  Martin Lambers  <marlam@marlam.de>
68727         Provide POSIX semantics for socket timeout options on W32.
68728         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
68729         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
68730         * modules/setsockopt: Depend on sys_time module for struct timeval.
68731         * modules/getsockopt: Depend on sys_time module for struct timeval.
68733 2009-03-01  Simon Josefsson  <simon@josefsson.org>
68735         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
68736         __USE_GNU, for consistency with netdb.in.h.
68737         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68739 2009-03-01  Bruno Haible  <bruno@clisp.org>
68741         More support for FreeMiNT.
68742         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68743         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68745 2009-03-01  Bruno Haible  <bruno@clisp.org>
68747         More support for FreeMiNT.
68748         * lib/fpurge.c (fpurge): Correct last commit.
68749         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68751 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68753         Fix unportable awk script in vc-list-files.
68754         * build-aux/vc-list-files: In the replacement awk script, use
68755         substr with a second argument of 1, not zero.
68756         Report by Simon Josefsson.
68758 2009-02-28  Bruno Haible  <bruno@clisp.org>
68760         More support for FreeMiNT.
68761         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68762         to FreeMiNT today.
68763         * lib/fwriting.c (fwriting): Likewise.
68764         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68766 2009-02-28  Bruno Haible  <bruno@clisp.org>
68768         * tests/test-freadseek.c (main): Disable test beyond end of file on
68769         FreeMiNT.
68770         * tests/test-ftello.c (main): Likewise.
68771         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68773 2009-02-28  Bruno Haible  <bruno@clisp.org>
68775         Add tentative support for FreeMiNT.
68776         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68777         * lib/fpurge.c (fpurge): Likewise.
68778         * lib/freadable.c (freadable): Likewise.
68779         * lib/freading.c (freading): Likewise.
68780         * lib/freadptr.c (freadptr): Likewise.
68781         * lib/freadseek.c (freadptrinc): Likewise.
68782         * lib/fseeko.c (rpl_fseeko): Likewise.
68783         * lib/fseterr.c (fseterr): Likewise.
68784         * lib/fwritable.c (fwritable): Likewise.
68785         * lib/fwriting.c (fwriting): Likewise.
68786         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68787         Hourihane.
68788         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68790 2009-02-28  Bruno Haible  <bruno@clisp.org>
68792         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68793         SIGCHLD.
68794         Reported by Jim Meyering.
68796 2009-02-28  Bruno Haible  <bruno@clisp.org>
68798         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68799         Mention the results of these tests on various platforms.
68800         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68801         order.
68802         * doc/posix-functions/printf.texi: Likewise.
68803         * doc/posix-functions/snprintf.texi: Likewise.
68804         * doc/posix-functions/sprintf.texi: Likewise.
68805         * doc/posix-functions/vfprintf.texi: Likewise.
68806         * doc/posix-functions/vprintf.texi: Likewise.
68807         * doc/posix-functions/vsnprintf.texi: Likewise.
68808         * doc/posix-functions/vsprintf.texi: Likewise.
68809         * doc/glibc-functions/obstack_printf.texi: Likewise.
68810         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68812 2009-02-28  Bruno Haible  <bruno@clisp.org>
68814         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68815         Reported by Loïc Minier <lool@dooz.org>.
68817 2009-02-27  Bruno Haible  <bruno@clisp.org>
68819         * gnulib-tool (func_import): Make the sed expression used to create the
68820         sed script for updating the .gitignore file POSIX compliant.
68821         Reported by Eric Blake.
68823 2009-02-27  Bruno Haible  <bruno@clisp.org>
68825         * gnulib-tool (sed): Don't alias as "sed --posix".
68826         Reported by Eric Blake.
68828 2009-02-27  Bruno Haible  <bruno@clisp.org>
68830         Avoid test link errors.
68831         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68832         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68833         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68834         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68835         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68837 2009-02-27  Bruno Haible  <bruno@clisp.org>
68839         Avoid spurious "(cached)" in configure output.
68840         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68841         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68842         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68843         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68844         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68845         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68846         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68847         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68848         Reported by Eric Blake.
68850 2009-02-27  Eric Blake  <ebb9@byu.net>
68852         printf: fix regression in previous patch
68853         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68855 2009-02-27  Bruno Haible  <bruno@clisp.org>
68857         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68858         value.
68859         * lib/stdint.in.h: Likewise.
68860         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68862 2009-02-27  Eric Blake  <ebb9@byu.net>
68864         doc: mention more functions added in cygwin 1.7.0
68865         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68866         addition.
68867         * doc/posix-functions/open_wmemstream.texi: Likewise.
68868         * doc/posix-functions/wcsnlen.texi: Likewise.
68869         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68870         * doc/posix-functions/wcstod.texi: Likewise.
68871         * doc/posix-functions/wcstof.texi: Likewise.
68872         * doc/posix-functions/wcstoimax.texi: Likewise.
68873         * doc/posix-functions/wcstok.texi: Likewise.
68874         * doc/posix-functions/wcstoumax.texi: Likewise.
68876         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68877         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68878         * doc/posix-functions/fprintf.texi: Update.
68879         * doc/posix-functions/printf.texi: Update.
68880         * doc/posix-functions/snprintf.texi: Update.
68881         * doc/posix-functions/sprintf.texi: Update.
68882         * doc/posix-functions/vfprintf.texi: Update.
68883         * doc/posix-functions/vprintf.texi: Update.
68884         * doc/posix-functions/vsnprintf.texi: Update.
68885         * doc/posix-functions/vsprintf.texi: Update.
68886         * doc/glibc-functions/obstack_printf.texi: Update.
68887         * doc/glibc-functions/obstack_vprintf.texi: Update.
68889 2009-02-26  Eric Blake  <ebb9@byu.net>
68891         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68892         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68893         compilation bug by using runtime conversion.
68894         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68895         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68896         * modules/ceill-tests (Files): Use nan.h.
68897         * modules/floorl-tests (Files): Likewise.
68898         * modules/frexpl-tests (Files): Likewise.
68899         * modules/isnanl-tests (Files): Likewise.
68900         * modules/ldexpl-tests (Files): Likewise.
68901         * modules/roundl-tests (Files): Likewise.
68902         * modules/truncl-tests (Files): Likewise.
68903         * tests/test-ceill.c (main): Use a working NaN.
68904         * tests/test-floorl.c (main): Likewise.
68905         * tests/test-frexpl.c (main): Likewise.
68906         * tests/test-isnan.c (test_long_double): Likewise.
68907         * tests/test-isnanl.h (main): Likewise.
68908         * tests/test-ldexpl.h (main): Likewise.
68909         * tests/test-roundl.h (main): Likewise.
68910         * tests/test-truncl.h (main): Likewise.
68911         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68913 2009-02-26  Eric Blake  <ebb9@byu.net>
68914             Bruno Haible  <bruno@clisp.org>
68916         Work around a *printf bug with %ls on Solaris.
68917         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68918         precision is specified, sprintf stops converting the wide string
68919         argument when the number of bytes that have been produced by this
68920         conversion equals or exceeds the precision.
68921         * doc/posix-functions/fprintf.texi: Update.
68922         * doc/posix-functions/printf.texi: Update.
68923         * doc/posix-functions/snprintf.texi: Update.
68924         * doc/posix-functions/sprintf.texi: Update.
68925         * doc/posix-functions/vfprintf.texi: Update.
68926         * doc/posix-functions/vprintf.texi: Update.
68927         * doc/posix-functions/vsnprintf.texi: Update.
68928         * doc/posix-functions/vsprintf.texi: Update.
68929         * doc/glibc-functions/obstack_printf.texi: Update.
68930         * doc/glibc-functions/obstack_vprintf.texi: Update.
68932 2009-02-26  Eric Blake  <ebb9@byu.net>
68934         stdlib: favor compiler check of random.h
68935         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68936         to avoid an ObjC random.h installed by Swarm.
68938 2009-02-26  Bruno Haible  <bruno@clisp.org>
68940         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68941         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68942         Reported by Gary V. Vaughan <gary@gnu.org>.
68944 2009-02-26  Bruno Haible  <bruno@clisp.org>
68946         Fix *printf behaviour regarding the %ls directive.
68947         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68948         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68949         NEED_PRINTF_DIRECTIVE_LS.
68950         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68951         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68952         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68953         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68954         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68955         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68956         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68957         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68958         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68959         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68960         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68961         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68962         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68963         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68964         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68965         * doc/posix-functions/fprintf.texi: Update.
68966         * doc/posix-functions/printf.texi: Update.
68967         * doc/posix-functions/snprintf.texi: Update.
68968         * doc/posix-functions/sprintf.texi: Update.
68969         * doc/posix-functions/vfprintf.texi: Update.
68970         * doc/posix-functions/vprintf.texi: Update.
68971         * doc/posix-functions/vsnprintf.texi: Update.
68972         * doc/posix-functions/vsprintf.texi: Update.
68973         * doc/glibc-functions/obstack_printf.texi: Update.
68974         * doc/glibc-functions/obstack_vprintf.texi: Update.
68975         Reported by Eric Blake.
68977 2009-02-25  Bruno Haible  <bruno@clisp.org>
68979         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
68980         with known value.
68981         Reported by Gary V. Vaughan <gary@gnu.org>.
68983 2009-02-25  Bruno Haible  <bruno@clisp.org>
68985         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
68986         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
68987         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
68988         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
68989         Reported by Gary V. Vaughan <gary@gnu.org>.
68991 2009-02-25  Bruno Haible  <bruno@clisp.org>
68993         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
68994         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
68995         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
68996         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
68997         Reported by Gary V. Vaughan <gary@gnu.org>.
68999 2009-02-25  Eric Blake  <ebb9@byu.net>
69001         tests: skip fseek/ftell tests if ungetc is broken
69002         * m4/ungetc.m4: New file.
69003         * modules/fseek-tests: Split test, so ungetc dependency is
69004         separate from rest of test.
69005         * modules/fseeko-tests: Likewise.
69006         * modules/ftell-tests: Likewise.
69007         * modules/ftello-tests: Likewise.
69008         * tests/test-fseek.c (main): Isolate ungetc dependency.
69009         * tests/test-fseeko.c (main): Likewise.
69010         * tests/test-ftell.c (main): Likewise.
69011         * tests/test-ftello.c (main): Likewise.
69012         * tests/test-fseek2.sh: New file.
69013         * tests/test-fseeko2.sh: Likewise.
69014         * tests/test-ftell2.sh: Likewise.
69015         * tests/test-ftello2.sh: Likewise.
69017 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
69019         test-getaddrinfo: fix usage of skip return code 77
69020         * tests/test-gettaddrinfo.c: Return skip code 77 only
69021         for first occurrence of skip (4x77 is not 77)
69023 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
69025         strtod: avoid C99 decl-after-statement
69026         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
69028 2009-02-24  Eric Blake  <ebb9@byu.net>
69030         strtod: detect HP-UX 11.31 bug
69031         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
69032         Reported by Gary V. Vaughan.
69034 2009-02-23  Bruno Haible  <bruno@clisp.org>
69036         Fix invalid read past end of memory block.
69037         * lib/vasnprintf.c (DCHAR_SET): Define.
69038         (local_wcslen): Define only when needed.
69039         (local_strnlen, local_wcsnlen): New functions.
69040         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
69041         directives that involve a conversion ourselves.
69042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
69043         wcsnlen, mbrtowc, wcrtomb.
69044         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
69045         * tests/test-vasprintf-posix.c (test_function): Likewise.
69046         * tests/test-snprintf-posix.h (test_function): Likewise.
69047         * tests/test-sprintf-posix.h (test_function): Likewise.
69048         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69050 2009-02-22  Bruno Haible  <bruno@clisp.org>
69052         Implement new clarified decomposition of Hangul syllables.
69053         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
69054         of type LTV, return only a pairwise decomposition.
69055         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
69056         Likewise.
69057         * tests/uninorm/test-decomposition.c (main): Updated expected result.
69058         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
69059         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
69061 2009-02-22  Bruno Haible  <bruno@clisp.org>
69063         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
69064         zero-length results and shrink excess allocated memory.
69065         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
69066         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
69067         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
69068         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
69069         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
69070         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
69071         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
69072         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
69073         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
69074         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
69075         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
69076         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
69078 2009-02-21  Bruno Haible  <bruno@clisp.org>
69080         * doc/gnulib.texi: Include safe-alloc.texi earlier.
69081         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
69082         spaces after a period. Put a space between a macro name and its
69083         argument list. Trivial rewordings.
69084         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
69085         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
69086         (main): Return 0 explicitly.
69088 2009-02-21  Bruno Haible  <bruno@clisp.org>
69090         Tests for module 'uninorm/filter'.
69091         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
69092         * modules/uninorm/filter-tests: New file.
69094         New module 'uninorm/filter'.
69095         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
69096         uninorm_filter_flush, uninorm_filter_free): New declarations.
69097         * lib/uninorm/uninorm-filter.c: New file.
69098         * modules/uninorm/filter: New file.
69100 2009-02-21  Bruno Haible  <bruno@clisp.org>
69102         Tests for module 'uninorm/nfkc'.
69103         * tests/uninorm/test-nfkc.c: New file.
69104         * tests/uninorm/test-u8-nfkc.c: New file.
69105         * tests/uninorm/test-u16-nfkc.c: New file.
69106         * tests/uninorm/test-u32-nfkc.c: New file.
69107         * tests/uninorm/test-u32-nfkc-big.sh: New file.
69108         * tests/uninorm/test-u32-nfkc-big.c: New file.
69109         * modules/uninorm/nfkc-tests: New file.
69111         New module 'uninorm/nfkc'.
69112         * lib/uninorm/nfkc.c: New file.
69113         * modules/uninorm/nfkc: New file.
69115         Tests for module 'uninorm/nfkd'.
69116         * tests/uninorm/test-nfkd.c: New file.
69117         * tests/uninorm/test-u8-nfkd.c: New file.
69118         * tests/uninorm/test-u16-nfkd.c: New file.
69119         * tests/uninorm/test-u32-nfkd.c: New file.
69120         * tests/uninorm/test-u32-nfkd-big.sh: New file.
69121         * tests/uninorm/test-u32-nfkd-big.c: New file.
69122         * modules/uninorm/nfkd-tests: New file.
69124         New module 'uninorm/nfkd'.
69125         * lib/uninorm/nfkd.c: New file.
69126         * modules/uninorm/nfkd: New file.
69128         Tests for module 'uninorm/nfc'.
69129         * tests/uninorm/test-nfc.c: New file.
69130         * tests/uninorm/test-u8-nfc.c: New file.
69131         * tests/uninorm/test-u16-nfc.c: New file.
69132         * tests/uninorm/test-u32-nfc.c: New file.
69133         * tests/uninorm/test-u32-nfc-big.sh: New file.
69134         * tests/uninorm/test-u32-nfc-big.c: New file.
69135         * modules/uninorm/nfc-tests: New file.
69137         New module 'uninorm/nfc'.
69138         * lib/uninorm/nfc.c: New file.
69139         * modules/uninorm/nfc: New file.
69141         Tests for module 'uninorm/nfd'.
69142         * tests/uninorm/test-nfd.c: New file.
69143         * tests/uninorm/test-u8-nfd.c: New file.
69144         * tests/uninorm/test-u16-nfd.c: New file.
69145         * tests/uninorm/test-u32-nfd.c: New file.
69146         * tests/uninorm/test-u32-nfd-big.sh: New file.
69147         * tests/uninorm/test-u32-nfd-big.c: New file.
69148         * tests/uninorm/test-u32-normalize-big.h: New file.
69149         * tests/uninorm/test-u32-normalize-big.c: New file.
69150         * tests/uninorm/NormalizationTest.txt: New file, created from
69151         Unicode 5.1.0 NormalizationTest.txt.
69152         * modules/uninorm/nfd-tests: New file.
69154         New module 'uninorm/nfd'.
69155         * lib/uninorm/nfd.c: New file.
69156         * modules/uninorm/nfd: New file.
69158         New module 'uninorm/u32-normalize'.
69159         * lib/uninorm/u32-normalize.c: New file.
69160         * modules/uninorm/u32-normalize: New file.
69162         New module 'uninorm/u16-normalize'.
69163         * lib/uninorm/u16-normalize.c: New file.
69164         * modules/uninorm/u16-normalize: New file.
69166         New module 'uninorm/u8-normalize'.
69167         * lib/uninorm/u8-normalize.c: New file.
69168         * lib/uninorm/normalize-internal.h: New file.
69169         * lib/uninorm/u-normalize-internal.h: New file.
69170         * modules/uninorm/u8-normalize: New file.
69172         New module 'uninorm/decompose-internal'.
69173         * lib/uninorm/decompose-internal.c: New file.
69174         * modules/uninorm/decompose-internal: New file.
69176         Tests for module 'uninorm/composition'.
69177         * tests/uninorm/test-composition.c: New file.
69178         * modules/uninorm/composition-tests: New file.
69180         New module 'uninorm/composition'.
69181         * lib/uninorm/composition.c: New file.
69182         * lib/uninorm/composition-table.gperf: New file, generated by
69183         gen-uni-tables.
69184         * modules/uninorm/composition: New file.
69186         Tests for module 'uninorm/compat-decomposition'.
69187         * tests/uninorm/test-compat-decomposition.c: New file.
69188         * modules/uninorm/compat-decomposition-tests: New file.
69190         New module 'uninorm/compat-decomposition'.
69191         * lib/uninorm/decompose-internal.h: New file.
69192         * lib/uninorm/compat-decomposition.c: New file.
69193         * modules/uninorm/compat-decomposition: New file.
69195         Tests for module 'uninorm/canonical-decomposition'.
69196         * tests/uninorm/test-canonical-decomposition.c: New file.
69197         * modules/uninorm/canonical-decomposition-tests: New file.
69199         New module 'uninorm/canonical-decomposition'.
69200         * lib/uninorm/canonical-decomposition.c: New file.
69201         * modules/uninorm/canonical-decomposition: New file.
69203         Tests for module 'uninorm/decomposition'.
69204         * tests/uninorm/test-decomposition.c: New file.
69205         * modules/uninorm/decomposition-tests: New file.
69207         New module 'uninorm/decomposition'.
69208         * lib/uninorm/decomposition.c: New file.
69209         * modules/uninorm/decomposition: New file.
69211         New module 'uninorm/decomposition-table'.
69212         * lib/uninorm/decomposition-table.h: New file.
69213         * lib/uninorm/decomposition-table.c: New file.
69214         * lib/uninorm/decomposition-table1.h: New file, generated by
69215         gen-uni-tables.
69216         * lib/uninorm/decomposition-table2.h: New file, generated by
69217         gen-uni-tables.
69218         * modules/uninorm/decomposition-table: New file.
69220         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
69221         (UC_DECOMP_*): New enumeration items.
69222         (get_decomposition): New function.
69223         (struct decomp_table): New type.
69224         (output_decomposition, output_decomposition_tables): New functions.
69225         (unicode_composition_exclusions): New variable.
69226         (fill_composition_exclusions, debug_output_composition_tables): New
69227         functions.
69228         (main): Accept one more argument. Invoke fill_composition_exclusions.
69229         Output decomposition and composition tables.
69231         New module 'uninorm/base'.
69232         * lib/uninorm.h: New file.
69233         * lib/unictype.h: Update comment.
69234         * modules/uninorm/base: New file.
69236 2009-02-21  David Lutterkort  <lutter@redhat.com>
69238         Tests for module 'safe-alloc'.
69239         * tests/test-safe-alloc.c: New file.
69240         * modules/safe-alloc-tests: New file.
69242         New module 'safe-alloc'.
69243         * lib/safe-alloc.h: New file.
69244         * lib/safe-alloc.c: New file.
69245         * m4/safe-alloc.m4: New file.
69246         * modules/safe-alloc: New file.
69247         * doc/safe-alloc.texi: New file.
69248         * doc/gnulib.texi: Include it.
69249         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
69250         safe-alloc.
69252 2009-02-18  Bruno Haible  <bruno@clisp.org>
69254         Fix link error on non-glibc systems.
69255         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
69256         variable.
69257         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
69259 2009-02-18  Jim Meyering  <meyering@redhat.com>
69261         fts: avoid used-uninitialized error due to recent change
69262         * lib/fts.c (fts_read): Guard uses of the new member,
69263         parent->fts_n_dirs_remaining, since it's not relevant for
69264         the parent of a directory specified on the command-line.
69266 2009-02-17  James Youngman  <jay@gnu.org>
69267             Bruno Haible  <bruno@clisp.org>
69269         * m4/include_next.m4: Reformulate comment.
69271 2009-02-16  Jim Meyering  <meyering@redhat.com>
69273         fts: add #if guards so that the fts_lgpl module still builds
69274         * lib/fts.c: Guard just-added hash-table-using parts with
69275         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
69276         Reported by Simon Josefsson.
69278 2009-02-15  Bruno Haible  <bruno@clisp.org>
69280         * modules/array-mergesort-tests: New file.
69281         * tests/test-array-mergesort.c: New file.
69283         New module 'array-mergesort'.
69284         * modules/array-mergesort: New file.
69285         * lib/array-mergesort.h: New file.
69287 2009-02-15  Bruno Haible  <bruno@clisp.org>
69289         Fix 2009-02-07 commit.
69290         * lib/gen-uni-tables.c (output_predicate, output_category,
69291         output_combclass, output_bidi_category, output_decimal_digit,
69292         output_digit, output_numeric, output_mirror, output_scripts,
69293         output_ident_category, output_simple_mapping): Fix format directives.
69294         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
69296 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
69298         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
69299         fixes are available from IBM.
69301 2009-02-13  Jim Meyering  <meyering@redhat.com>
69303         fts: arrange not to stat non-directories in more cases
69304         This makes GNU find (when it doesn't need to stat each file)
69305         *much* more efficient at traversing reiserfs file systems.
69306         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
69307         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
69308         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
69309         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
69310         (leaf_optimization_applies): New function.
69311         (LCO_hash, LCO_compare): New helper functions.
69312         (link_count_optimize_ok): New function.
69313         (fts_stat): Initialize new member (if dir).
69314         (fts_read): Decrement parent's fts_n_dirs_remaining count if
69315         we've just stat'ed a directory.  Skip the stat call when possible.
69316         ---
69317         Note this AFS-related exchange:
69318         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
69319         and note find's pioctl call in find/fstype.c.
69320         But that is necessary only if you want to enable the
69321         optimization for AFS, and for now, I don't.
69323         fts: move a function definition "up" (no semantic change)
69324         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
69325         "up" to precede upcoming use of a related function.
69327 2009-02-11  Jim Meyering  <meyering@redhat.com>
69329         fts: correct internal computation of nlinks (optimization-related)
69330         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
69331         whether the current entry is a directory, so don't test it.
69333 2009-02-10  Bruno Haible  <bruno@clisp.org>
69335         Tests for module 'uniwbrk/ulc-wordbreaks'.
69336         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
69337         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
69338         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
69340         Tests for module 'uniwbrk/u32-wordbreaks'.
69341         * modules/uniwbrk/u32-wordbreaks-tests: New file.
69342         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
69344         Tests for module 'uniwbrk/u16-wordbreaks'.
69345         * modules/uniwbrk/u16-wordbreaks-tests: New file.
69346         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
69348         Tests for module 'uniwbrk/u8-wordbreaks'.
69349         * modules/uniwbrk/u8-wordbreaks-tests: New file.
69350         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
69352 2009-02-10  Bruno Haible  <bruno@clisp.org>
69354         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
69355         property.
69356         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
69357         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
69358         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
69360 2009-02-10  Simon Josefsson  <simon@josefsson.org>
69362         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
69363         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
69365 2009-02-10  Bruno Haible  <bruno@clisp.org>
69367         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
69368         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
69369         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
69370         * lib/unilbrk/u8-possible-linebreaks.c: Update.
69371         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
69372         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
69374 2009-02-09  Simon Josefsson  <simon@josefsson.org>
69376         * lib/sockets.h (gl_fd_to_handle): New function.
69378         * tests/test-sockets.c: Call gl_fd_to_handle.
69380 2009-02-09  Bruno Haible  <bruno@clisp.org>
69382         * doc/havelib.texi: Document the conventions on bi-arch systems.
69384 2009-02-08  Bruno Haible  <bruno@clisp.org>
69386         Document the AC_LIB_LINKFLAGS macro.
69387         * doc/havelib.texi: New file, mostly written on 2005-05-24.
69388         * doc/gnulib.texi: Include it.
69390 2009-02-08  Bruno Haible  <bruno@clisp.org>
69392         Fix wrong order of sections, compared to TOC.
69393         * doc/gnulib.texi: Include relocatable-maint.texi after the
69394         "Regular expressions" node, not before.
69396 2009-02-08  Bruno Haible  <bruno@clisp.org>
69398         Tests for module 'unicase/totitle'.
69399         * modules/unicase/totitle-tests: New file.
69401         Tests for module 'unicase/tolower'.
69402         * modules/unicase/tolower-tests: New file.
69404         Tests for module 'unicase/toupper'.
69405         * modules/unicase/toupper-tests: New file.
69406         * tests/unicase/test-mapping-part1.h: New file.
69407         * tests/unicase/test-mapping-part2.h: New file.
69409         New module 'unicase/totitle'.
69410         * modules/unicase/totitle: New file.
69411         * lib/unicase/totitle.c: New file.
69413         New module 'unicase/tolower'.
69414         * modules/unicase/tolower: New file.
69415         * lib/unicase/tolower.c: New file.
69417         New module 'unicase/toupper'.
69418         * modules/unicase/toupper: New file.
69419         * lib/unicase/toupper.c: New file.
69420         * lib/unicase/simple-mapping.h: New file.
69422         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
69423         (mapping_table): New structure.
69424         (output_simple_mapping): New function.
69425         (main): Invoke output_simple_mapping_test and output_simple_mapping.
69426         * modules/gen-uni-tables (Description): Update.
69427         * lib/unicase/toupper.h: New file, automatically generated by
69428         gen-uni-tables.
69429         * lib/unicase/tolower.h: New file, automatically generated by
69430         gen-uni-tables.
69431         * lib/unicase/totitle.h: New file, automatically generated by
69432         gen-uni-tables.
69433         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
69434         gen-uni-tables.
69435         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
69436         gen-uni-tables.
69437         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
69438         gen-uni-tables.
69440         New module 'unicase/base'.
69441         * modules/unicase/base: New file.
69442         * lib/unicase.h: New file.
69444 2009-02-08  Bruno Haible  <bruno@clisp.org>
69446         New module 'uniwbrk/ulc-wordbreaks'.
69447         * modules/uniwbrk/ulc-wordbreaks: New file.
69448         * lib/uniwbrk/ulc-wordbreaks.c: New file.
69450         New module 'uniwbrk/u32-wordbreaks'.
69451         * modules/uniwbrk/u32-wordbreaks: New file.
69452         * lib/uniwbrk/u32-wordbreaks.c: New file.
69454         New module 'uniwbrk/u16-wordbreaks'.
69455         * modules/uniwbrk/u16-wordbreaks: New file.
69456         * lib/uniwbrk/u16-wordbreaks.c: New file.
69458         New module 'uniwbrk/u8-wordbreaks'.
69459         * modules/uniwbrk/u8-wordbreaks: New file.
69460         * lib/uniwbrk/u8-wordbreaks.c: New file.
69461         * lib/uniwbrk/u-wordbreaks.h: New file.
69463         New module 'uniwbrk/table'.
69464         * modules/uniwbrk/table: New file.
69465         * lib/uniwbrk/wbrktable.h: New file.
69466         * lib/uniwbrk/wbrktable.c: New file.
69468         New module 'uniwbrk/wordbreak-property'.
69469         * modules/uniwbrk/wordbreak-property: New file.
69470         * lib/uniwbrk/wordbreak-property.c: New file.
69472         * lib/gen-uni-tables.c (WBP_*): New enum items.
69473         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
69474         (unicode_org_wbp): New variable.
69475         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
69476         New functions.
69477         (wbp_table): New structure.
69478         (output_wbp, output_wbrk_tables): New functions.
69479         (main): Accept additional argument. Invoke fill_org_wbp,
69480         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
69481         output_wbrk_tables.
69482         * modules/gen-uni-tables (Description): Update.
69483         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
69484         gen-uni-tables.
69486         New module 'uniwbrk/base'.
69487         * modules/uniwbrk/base: New file.
69488         * lib/uniwbrk.h: New file.
69490 2009-02-08  Bruno Haible  <bruno@clisp.org>
69492         Update to Unicode 5.1.0.
69493         * lib/gen-uni-tables.c (is_property_alphabetic): Include
69494         U+2185..U+2188.
69495         (is_property_default_ignorable_code_point): Don't include characters
69496         of category Cc or Cs and not-a-characters.
69497         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
69498         U+0D79, U+109E, U+109F, U+A60C.
69499         * lib/unictype/bidi_of.h: Regenerated.
69500         * lib/unictype/blocks.h: Regenerated.
69501         * lib/unictype/categ_C.h: Regenerated.
69502         * lib/unictype/categ_Cf.h: Regenerated.
69503         * lib/unictype/categ_Cn.h: Regenerated.
69504         * lib/unictype/categ_L.h: Regenerated.
69505         * lib/unictype/categ_Ll.h: Regenerated.
69506         * lib/unictype/categ_Lm.h: Regenerated.
69507         * lib/unictype/categ_Lo.h: Regenerated.
69508         * lib/unictype/categ_Lu.h: Regenerated.
69509         * lib/unictype/categ_M.h: Regenerated.
69510         * lib/unictype/categ_Mc.h: Regenerated.
69511         * lib/unictype/categ_Me.h: Regenerated.
69512         * lib/unictype/categ_Mn.h: Regenerated.
69513         * lib/unictype/categ_N.h: Regenerated.
69514         * lib/unictype/categ_Nd.h: Regenerated.
69515         * lib/unictype/categ_Nl.h: Regenerated.
69516         * lib/unictype/categ_No.h: Regenerated.
69517         * lib/unictype/categ_P.h: Regenerated.
69518         * lib/unictype/categ_Pd.h: Regenerated.
69519         * lib/unictype/categ_Pe.h: Regenerated.
69520         * lib/unictype/categ_Pf.h: Regenerated.
69521         * lib/unictype/categ_Pi.h: Regenerated.
69522         * lib/unictype/categ_Po.h: Regenerated.
69523         * lib/unictype/categ_Ps.h: Regenerated.
69524         * lib/unictype/categ_S.h: Regenerated.
69525         * lib/unictype/categ_Sk.h: Regenerated.
69526         * lib/unictype/categ_Sm.h: Regenerated.
69527         * lib/unictype/categ_So.h: Regenerated.
69528         * lib/unictype/categ_of.h: Regenerated.
69529         * lib/unictype/combining.h: Regenerated.
69530         * lib/unictype/ctype_alnum.h: Regenerated.
69531         * lib/unictype/ctype_alpha.h: Regenerated.
69532         * lib/unictype/ctype_graph.h: Regenerated.
69533         * lib/unictype/ctype_lower.h: Regenerated.
69534         * lib/unictype/ctype_print.h: Regenerated.
69535         * lib/unictype/ctype_punct.h: Regenerated.
69536         * lib/unictype/ctype_upper.h: Regenerated.
69537         * lib/unictype/decdigit.h: Regenerated.
69538         * lib/unictype/digit.h: Regenerated.
69539         * lib/unictype/mirror.h: Regenerated.
69540         * lib/unictype/numeric.h: Regenerated.
69541         * lib/unictype/pr_alphabetic.h: Regenerated.
69542         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
69543         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
69544         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
69545         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
69546         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
69547         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
69548         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
69549         * lib/unictype/pr_combining.h: Regenerated.
69550         * lib/unictype/pr_dash.h: Regenerated.
69551         * lib/unictype/pr_decimal_digit.h: Regenerated.
69552         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
69553         * lib/unictype/pr_deprecated.h: Regenerated.
69554         * lib/unictype/pr_diacritic.h: Regenerated.
69555         * lib/unictype/pr_extender.h: Regenerated.
69556         * lib/unictype/pr_format_control.h: Regenerated.
69557         * lib/unictype/pr_grapheme_base.h: Regenerated.
69558         * lib/unictype/pr_grapheme_extend.h: Regenerated.
69559         * lib/unictype/pr_grapheme_link.h: Regenerated.
69560         * lib/unictype/pr_id_continue.h: Regenerated.
69561         * lib/unictype/pr_id_start.h: Regenerated.
69562         * lib/unictype/pr_ideographic.h: Regenerated.
69563         * lib/unictype/pr_ignorable_control.h: Regenerated.
69564         * lib/unictype/pr_lowercase.h: Regenerated.
69565         * lib/unictype/pr_math.h: Regenerated.
69566         * lib/unictype/pr_numeric.h: Regenerated.
69567         * lib/unictype/pr_other_alphabetic.h: Regenerated.
69568         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
69569         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
69570         * lib/unictype/pr_other_id_continue.h: Regenerated.
69571         * lib/unictype/pr_other_lowercase.h: Regenerated.
69572         * lib/unictype/pr_other_math.h: Regenerated.
69573         * lib/unictype/pr_punctuation.h: Regenerated.
69574         * lib/unictype/pr_sentence_terminal.h: Regenerated.
69575         * lib/unictype/pr_soft_dotted.h: Regenerated.
69576         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
69577         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
69578         * lib/unictype/pr_unified_ideograph.h: Regenerated.
69579         * lib/unictype/pr_uppercase.h: Regenerated.
69580         * lib/unictype/pr_xid_continue.h: Regenerated.
69581         * lib/unictype/pr_xid_start.h: Regenerated.
69582         * lib/unictype/pr_zero_width.h: Regenerated.
69583         * lib/unictype/scripts.h: Regenerated.
69584         * lib/unictype/scripts_byname.gperf: Regenerated.
69585         * lib/unictype/sy_java_ident.h: Regenerated.
69586         * lib/unilbrk/lbrkprop1.h: Regenerated.
69587         * lib/unilbrk/lbrkprop2.h: Regenerated.
69588         * tests/unictype/test-categ_C.c: Regenerated.
69589         * tests/unictype/test-categ_Cf.c: Regenerated.
69590         * tests/unictype/test-categ_Cn.c: Regenerated.
69591         * tests/unictype/test-categ_L.c: Regenerated.
69592         * tests/unictype/test-categ_Ll.c: Regenerated.
69593         * tests/unictype/test-categ_Lm.c: Regenerated.
69594         * tests/unictype/test-categ_Lo.c: Regenerated.
69595         * tests/unictype/test-categ_Lu.c: Regenerated.
69596         * tests/unictype/test-categ_M.c: Regenerated.
69597         * tests/unictype/test-categ_Mc.c: Regenerated.
69598         * tests/unictype/test-categ_Me.c: Regenerated.
69599         * tests/unictype/test-categ_Mn.c: Regenerated.
69600         * tests/unictype/test-categ_N.c: Regenerated.
69601         * tests/unictype/test-categ_Nd.c: Regenerated.
69602         * tests/unictype/test-categ_Nl.c: Regenerated.
69603         * tests/unictype/test-categ_No.c: Regenerated.
69604         * tests/unictype/test-categ_P.c: Regenerated.
69605         * tests/unictype/test-categ_Pd.c: Regenerated.
69606         * tests/unictype/test-categ_Pe.c: Regenerated.
69607         * tests/unictype/test-categ_Pf.c: Regenerated.
69608         * tests/unictype/test-categ_Pi.c: Regenerated.
69609         * tests/unictype/test-categ_Po.c: Regenerated.
69610         * tests/unictype/test-categ_Ps.c: Regenerated.
69611         * tests/unictype/test-categ_S.c: Regenerated.
69612         * tests/unictype/test-categ_Sk.c: Regenerated.
69613         * tests/unictype/test-categ_Sm.c: Regenerated.
69614         * tests/unictype/test-categ_So.c: Regenerated.
69615         * tests/unictype/test-ctype_alnum.c: Regenerated.
69616         * tests/unictype/test-ctype_alpha.c: Regenerated.
69617         * tests/unictype/test-ctype_graph.c: Regenerated.
69618         * tests/unictype/test-ctype_lower.c: Regenerated.
69619         * tests/unictype/test-ctype_print.c: Regenerated.
69620         * tests/unictype/test-ctype_punct.c: Regenerated.
69621         * tests/unictype/test-ctype_upper.c: Regenerated.
69622         * tests/unictype/test-decdigit.h: Regenerated.
69623         * tests/unictype/test-digit.h: Regenerated.
69624         * tests/unictype/test-numeric.h: Regenerated.
69625         * tests/unictype/test-pr_alphabetic.c: Regenerated.
69626         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
69627         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
69628         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
69629         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
69630         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
69631         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
69632         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
69633         * tests/unictype/test-pr_combining.c: Regenerated.
69634         * tests/unictype/test-pr_dash.c: Regenerated.
69635         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
69636         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
69637         * tests/unictype/test-pr_deprecated.c: Regenerated.
69638         * tests/unictype/test-pr_diacritic.c: Regenerated.
69639         * tests/unictype/test-pr_extender.c: Regenerated.
69640         * tests/unictype/test-pr_format_control.c: Regenerated.
69641         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
69642         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
69643         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
69644         * tests/unictype/test-pr_id_continue.c: Regenerated.
69645         * tests/unictype/test-pr_id_start.c: Regenerated.
69646         * tests/unictype/test-pr_ideographic.c: Regenerated.
69647         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
69648         * tests/unictype/test-pr_lowercase.c: Regenerated.
69649         * tests/unictype/test-pr_math.c: Regenerated.
69650         * tests/unictype/test-pr_numeric.c: Regenerated.
69651         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
69652         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
69653         Regenerated.
69654         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
69655         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
69656         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
69657         * tests/unictype/test-pr_other_math.c: Regenerated.
69658         * tests/unictype/test-pr_punctuation.c: Regenerated.
69659         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
69660         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
69661         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
69662         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
69663         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
69664         * tests/unictype/test-pr_uppercase.c: Regenerated.
69665         * tests/unictype/test-pr_xid_continue.c: Regenerated.
69666         * tests/unictype/test-pr_xid_start.c: Regenerated.
69667         * tests/unictype/test-pr_zero_width.c: Regenerated.
69669         Update to Unicode 5.1.0.
69670         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
69671         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
69672         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
69673         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
69674         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
69675         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
69676         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
69677         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
69678         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
69679         (nonspacing_table_ind): Update.
69680         * tests/uniwidth/test-uc_width2.sh: Update expected result.
69682         Update to Unicode 5.1.0.
69683         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
69684         code transform.
69685         * lib/uniname/uniname.c (unicode_character_name,
69686         unicode_name_character): Add the range 0x1Fxxx to the code transform.
69687         * lib/uniname/uninames.h: Regenerated.
69688         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
69690 2009-02-07  Bruno Haible  <bruno@clisp.org>
69692         Merge gen-ctype and gen-lbrk into a single program.
69693         * lib/gen-uni-tables.c: New file, incorporating
69694         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
69695         Add directory prefixes to the names of the generated files.
69696         * lib/unictype/gen-ctype.c: Remove file.
69697         * lib/unilbrk/gen-lbrk.c: Remove file.
69698         * modules/gen-uni-tables: New file.
69699         * modules/unictype/gen-ctype: Remove file.
69700         * modules/unilbrk/gen-lbrk: Remove file.
69702 2009-02-07  Bruno Haible  <bruno@clisp.org>
69704         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
69706         New module 'unistr/u32-strcoll'.
69707         * modules/unistr/u32-strcoll: New file.
69708         * lib/unistr/u32-strcoll.c: New file.
69710         New module 'unistr/u16-strcoll'.
69711         * modules/unistr/u16-strcoll: New file.
69712         * lib/unistr/u16-strcoll.c: New file.
69714         New module 'unistr/u8-strcoll'.
69715         * modules/unistr/u8-strcoll: New file.
69716         * lib/unistr/u8-strcoll.c: New file.
69717         * lib/unistr/u-strcoll.h: New file.
69719 2009-02-07  Bruno Haible  <bruno@clisp.org>
69721         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
69722         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69723         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69724         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
69725         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
69726         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
69728 2009-02-07  Bruno Haible  <bruno@clisp.org>
69730         Make 64-bit clean.
69731         * lib/unictype/gen-ctype.c (output_predicate, output_category,
69732         output_combclass, output_bidi_category, output_decimal_digit,
69733         output_digit, output_numeric, output_mirror, output_scripts,
69734         output_ident_category): Use proper width specifier in format strings.
69736 2009-02-07  Bruno Haible  <bruno@clisp.org>
69738         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
69739         failure behaviour.
69741 2009-02-07  Jim Meyering  <meyering@redhat.com>
69743         regex: avoid compilation failure with upcoming gcc-4.4
69744         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69745         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69746         "... error: integer overflow in preprocessor expression".
69748 2009-02-05  Ben Pfaff  <blp@gnu.org>
69750         Fix link errors on Windows when close module is used.
69751         * modules/close: Add $(LIB_CLOSE) to Link section.
69752         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69753         $(LIB_CLOSE) on Windows.
69755 2009-02-05  Jim Meyering  <meyering@redhat.com>
69757         still avoid unused-parameter warnings, but do it cleanly
69758         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69759         (get_fs_usage): Cast to void instead.
69760         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69761         (dev_from_mount_options, read_file_system_list): Cast to void.
69762         Prompted by Bruno Haible.
69764 2009-02-04  Jim Meyering  <meyering@redhat.com>
69766         fsusage.c: correct copyright year
69767         * lib/fsusage.c: Reflect year in which the change is pushed into
69769         avoid misc. warnings
69770         * lib/fsusage.c (UNUSED_PARAM): Define.
69771         (get_fs_usage): Mark parameter "disk" as unused.
69772         * lib/getugroups.c (getgrent): Use "void" in prototype.
69773         * lib/mountlist.c: Mark unused parameters.
69774         (read_file_system_list): Declare a local with "const".
69775         * lib/nanosleep.c (getnow): Declare static.
69776         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69778         dirfd: set errno upon failure
69779         * lib/dirfd.c: Include <errno.h>.
69780         Set errno to ENOTSUP when returning -1.
69781         * modules/dirfd (Depends-on): Add errno.
69782         Suggested by John Kodis <kodis@comcast.net>.
69784 2009-02-01  Bruno Haible  <bruno@clisp.org>
69786         Don't assume sizeof (long) >= sizeof (void *).
69787         * lib/memcmp.c: Include stdint.h.
69788         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69789         srcp2 to 'const byte *'.
69790         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69791         types to uintptr_t.
69792         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69793         * modules/memcmp (Depends-on): Add stdint.
69794         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69796 2009-01-30  Eric Blake  <ebb9@byu.net>
69798         fix more require-before-expand issues
69799         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69800         expand, AC_PROG_AWK.
69801         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69803 2009-01-28  Eric Blake  <ebb9@byu.net>
69805         version-etc: use consistent URL formatting
69806         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69807         Improve formatting.  Use fputs for string without %.
69809 2009-01-28  Jim Meyering  <meyering@redhat.com>
69811         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69812         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69813         "underquoted definition of NAME" from autoconf-2.59.
69815 2009-01-28  Bruno Haible  <bruno@clisp.org>
69817         * doc/gnulib.texi: Add "Obsolete modules" to index.
69819 2009-01-28  Jim Meyering  <meyering@redhat.com>
69821         useless-if-before-free: recognize more variants
69822         * build-aux/useless-if-before-free: Also recognize e.g.,
69823         if (NULL != p) free (p);
69825 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69827         test-getaddrinfo: skip (don't fail) this test when there's no network
69828         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69829         on the presumption that it means you lack network access.
69831 2009-01-26  Jim Meyering  <meyering@redhat.com>
69833         fflush: avoid warnings on modern systems
69834         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69835         pos and result, into scopes where they're used.
69837 2009-01-26  Eric Blake  <ebb9@byu.net>
69839         Silence warning reintroduced by recent extensions patch.
69840         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69841         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69842         autoconf.
69844         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69845         * m4/00gnulib.m4: New file.
69846         * gnulib-tool (func_get_filelist): Always use it.
69847         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69848         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69850 2009-01-25  Bruno Haible  <bruno@clisp.org>
69852         Make test-quotearg work on MacOS X and AIX.
69853         * tests/test-quotearg.sh: New file.
69854         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69855         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69856         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69857         include <libintl.h>.
69858         (fake_locale): Remove variable.
69859         (gettext, dgettext, dcgettext): Remove functions.
69860         (main): Instead of setting a fake locale, set a real locale. Call
69861         textdomain and bindtextdomain.
69862         * modules/quotearg-tests (Files): Add the new files.
69863         (Depends-on): Add gettext, setenv, unsetenv.
69864         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69865         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69866         Augment TESTS_ENVIRONMENT.
69868 2009-01-25  Bruno Haible  <bruno@clisp.org>
69870         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69871         fr_FR.ISO8859-1 locale on MacOS X.
69872         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69873         ja_JP.eucJP locale on MacOS X.
69874         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69875         zh_CN.GB18030 locale on MacOS X.
69877 2009-01-25  Bruno Haible  <bruno@clisp.org>
69879         Avoid link errors on MacOS X 10.3.
69880         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69881         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69883 2009-01-25  Bruno Haible  <bruno@clisp.org>
69885         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69886         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69887         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69888         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69889         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69890         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69891         posix_spawnattr_init, posix_spawnattr_setsigmask,
69892         posix_spawnattr_setflags, posix_spawnattr_destroy.
69894         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69895         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69896         * modules/execute (Files): Remove m4/posix_spawn.m4.
69897         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69898         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69899         posix_spawnattr_init, posix_spawnattr_setsigmask,
69900         posix_spawnattr_setflags, posix_spawnattr_destroy.
69902 2009-01-25  Bruno Haible  <bruno@clisp.org>
69904         * lib/glthread/threadlib.c: Include <stdlib.h>.
69906 2009-01-25  Bruno Haible  <bruno@clisp.org>
69908         * lib/glthread/threadlib.c (dummy): New declaration.
69910 2009-01-25  Bruno Haible  <bruno@clisp.org>
69912         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69913         multibyte characters also for the GB18030 encoding. Don't crash when
69914         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69916 2009-01-25  Bruno Haible  <bruno@clisp.org>
69918         Avoid redefining 'struct random_data' on OSF/1 5.1.
69919         * lib/stdlib.in.h: Include <random.h> if it exists.
69920         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69921         HAVE_RANDOM_H. Include <random.h> when testing whether
69922         'struct random_data' exists.
69923         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69925 2009-01-25  Bruno Haible  <bruno@clisp.org>
69927         Don't install charset.alias on MacOS X >= 10.3.
69928         * lib/localcharset.c (DARWIN7): New macro.
69929         (get_charset_aliases): Hardcode the result for Darwin7.
69930         * modules/localcharset (install-exec-local): Don't install
69931         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69933 2009-01-25  Bruno Haible  <bruno@clisp.org>
69935         Don't install charset.alias on mingw and Cygwin.
69936         * modules/localcharset (install-exec-local): Don't install
69937         charset.alias on mingw and Cygwin, if the file does not yet exist.
69938         The result for these platforms is hardcoded in localcharset.c.
69940 2009-01-25  Bruno Haible  <bruno@clisp.org>
69942         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69943         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69944         before requiring AC_USE_SYSTEM_EXTENSIONS.
69946 2009-01-25  Jim Meyering  <meyering@redhat.com>
69948         c-strtod: avoid warnings
69949         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69950         "assignment discards qualifiers from pointer target type" warnings.
69952 2009-01-24  Bruno Haible  <bruno@clisp.org>
69954         Add support for non-UTF-8 locales on MacOS X.
69955         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69956         canonical encodings. For Darwin 7 and newer, don't map traditional
69957         encodings to UTF-8.
69958         Reported by Vincent Lefevre <vincent@vinc17.org>
69959         at <http://savannah.gnu.org/bugs/?25235>.
69961 2009-01-24  Bruno Haible  <bruno@clisp.org>
69963         * doc/gnulib.texi (Obsolete modules): New section.
69964         Reported by Mike Frysinger <vapier@gentoo.org>.
69966 2009-01-24  Bruno Haible  <bruno@clisp.org>
69968         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
69969         (%.dvi): New rule.
69971 2009-01-24  Bruno Haible  <bruno@clisp.org>
69973         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
69974         Reported by Eric Blake.
69976 2009-01-24  Bruno Haible  <bruno@clisp.org>
69978         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
69979         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
69980         Reported by Gary V. Vaughan <gary@gnu.org>.
69982 2009-01-24  Bruno Haible  <bruno@clisp.org>
69984         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
69986 2009-01-23  Bruno Haible  <bruno@clisp.org>
69988         Make c-strtod, c-strtold usable in libraries.
69989         * lib/c-strtod.c: Include string.h instead of xalloc.h.
69990         (C_STRTOD): Call strdup instead of xstrdup.
69991         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
69992         * modules/c-strtold (Depends-on): Likewise.
69993         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
69994         * NEWS: Mention the change.
69995         Reported by Michael Gold <mgold@ncf.ca>.
69997 2009-01-23  Jim Meyering  <meyering@redhat.com>
69999         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
70000         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
70001         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
70003 2009-01-23  Simon Josefsson  <simon@josefsson.org>
70005         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
70006         GNU CoreUtils.
70007         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
70008         * modules/version-etc (Description): Update.
70010 2009-01-22  Bruno Haible  <bruno@clisp.org>
70012         Cache the C locale object.
70013         * lib/c-strtod.c (c_locale_cache): New variable.
70014         (c_locale): New function.
70015         (C_STRTOD): Use it, and don't call freelocale.
70016         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
70017         Suggested by Paolo Bonzini.
70019 2009-01-21  Bruno Haible  <bruno@clisp.org>
70021         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
70022         conditions other than overflow.
70024 2009-01-21  Bruno Haible  <bruno@clisp.org>
70026         * lib/c-strtod.c: Include errno.h.
70027         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
70028         value from STRTOD_L and STRTOD.
70030 2009-01-21  Bruno Haible  <bruno@clisp.org>
70031         and Jim Meyering  <meyering@redhat.com>
70033         nanosleep: skip configure test (fail it) for apple universal builds
70034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
70035         universal builds, assume that nanosleep does not work.
70036         * modules/nanosleep (Depends-on): Add multiarch.
70038         mktime: skip configure test (fail it) for apple universal builds
70039         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
70040         universal builds, assume that mktime does not work.
70041         * modules/mktime (Depends-on): Add multiarch.
70043 2009-01-21  Eric Blake  <ebb9@byu.net>
70045         multiarch: avoid expand-before-require warning
70046         * modules/multiarch (configure.ac): Require, rather than expand,
70047         gl_MULTIARCH.
70048         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
70049         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
70050         enforce that all clients require it.  Partial reversion of
70051         2008-12-29 patch.
70053         error: avoid expand-before-require warning
70054         * modules/errno (configure.ac): Require, rather than expand,
70055         gl_HEADER_ERRNO_H.
70056         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
70057         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
70058         enforce that all clients require it.
70060         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
70061         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
70062         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
70063         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
70065 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
70067         Revert:
70068         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70070         regex: do not depend on obsolete modules.
70071         * modules/regex: Remove memcmp and memmove.
70073 2009-01-20  Bruno Haible  <bruno@clisp.org>
70075         Make the 'link' module link on Windows NT 4.
70076         * lib/link.c (_WIN32_WINNT): Don't define.
70077         (CreateHardLinkFuncType): New type.
70078         (CreateHardLinkFunc, initialized): New variables.
70079         (initialize): New function.
70080         (link): Invoke CreateHardLink indirectly through the function pointer.
70082 2009-01-20  Bruno Haible  <bruno@clisp.org>
70084         Fix compilation failure on mingw.
70085         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
70087 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
70089         * doc/c-strtod.texi: Mention a couple of restrictions.
70091 2009-01-20  Jim Meyering  <meyering@redhat.com>
70093         gettimeofday: move more declarations out of functions
70094         * lib/gettimeofday.c: Move extern declarations of tzset and
70095         gmtime out of containing functions.  Prompted by Bruno Haible.
70097 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70099         regex: do not depend on obsolete modules.
70100         * modules/regex: Remove memcmp and memmove.
70102 2009-01-19  Bruno Haible  <bruno@clisp.org>
70104         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70105         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
70106         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70107         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
70108         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
70110 2009-01-19  Bruno Haible  <bruno@clisp.org>
70112         * tests/test-link.c: Include <errno.h>.
70113         (main): Exit with code 77 when a hard link cannot be created due to
70114         the file system.
70115         * tests/test-link.sh: Skip test when a hard link cannot be created due
70116         to the file system.
70117         Suggested by Eric Blake.
70119 2009-01-19  Martin Lambers  <marlam@marlam.de>
70121         * modules/link-tests: New file.
70122         * tests/test-link.sh: New file.
70123         * tests/test-link.c: New file.
70125 2009-01-19  Eric Blake  <ebb9@byu.net>
70127         doc: mention another function added in cygwin 1.7.0
70128         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
70129         Another new function in cygwin 1.7.
70131 2009-01-19  Bruno Haible  <bruno@clisp.org>
70133         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70134         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
70135         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
70136         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70137         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
70138         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
70139         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
70140         * m4/md4.m4 (gl_MD4): Likewise.
70141         * m4/md5.m4 (gl_MD5): Likewise.
70142         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
70143         * m4/sha1.m4 (gl_SHA1): Likewise.
70144         * m4/sha256.m4 (gl_SHA256): Likewise.
70145         * m4/sha512.m4 (gl_SHA512): Likewise.
70147 2009-01-19  Bruno Haible  <bruno@clisp.org>
70149         * modules/uniname/uniname-tests (Depends-on): Add progname.
70150         * tests/uniname/test-uninames.c: Include progname.h.
70151         (main): Call set_program_name.
70153         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
70154         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
70155         (main): Call set_program_name.
70157         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
70158         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
70159         (main): Call set_program_name.
70161         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
70162         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
70163         (main): Call set_program_name.
70165         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
70166         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
70167         (main): Call set_program_name.
70169         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
70170         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
70171         (main): Call set_program_name.
70173         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
70174         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
70175         (main): Call set_program_name.
70177         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
70178         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
70179         (main): Call set_program_name.
70181         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
70182         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
70183         (main): Call set_program_name.
70185 2009-01-19  Eric Blake  <ebb9@byu.net>
70187         test-unistd: test previous patch
70188         * tests/test-unistd.c: Test *_FILENO macros.
70190         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
70191         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70192         Guarantee a definition.
70193         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
70194         * modules/unistd-safer (Depends-on): Add dependency on unistd.
70195         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
70196         * lib/dup-safer.c (STDERR_FILENO): Likewise.
70197         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70198         Likewise.
70199         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
70200         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
70201         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70202         Likewise.
70203         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
70204         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
70205         (STDERR_FILENO): Likewise.
70206         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
70207         (STDERR_FILENO): Likewise.
70208         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
70209         (STDERR_FILENO): Likewise.
70210         Reported by Elbert Pol.
70212 2009-01-19  Eric Blake  <ebb9@byu.net>
70214         doc: mention more functions added in cygwin 1.7.0
70215         * doc/posix-functions/abort.texi (abort): Update wording related
70216         to cygwin.
70217         * doc/posix-functions/daylight.texi (daylight): Likewise.
70218         * doc/posix-functions/optarg.texi (optarg): Likewise.
70219         * doc/posix-functions/optarg.texi (opterr): Likewise.
70220         * doc/posix-functions/optarg.texi (optind): Likewise.
70221         * doc/posix-functions/optarg.texi (optopt): Likewise.
70222         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
70223         worked in 1.5.x, and was withdrawn in 1.7.
70224         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
70225         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
70226         cygwin versions.
70227         * doc/posix-functions/perror.texi (perror): Likewise.
70228         * doc/posix-functions/printf.texi (printf): Likewise.
70229         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
70230         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
70231         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
70232         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
70233         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
70234         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
70235         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
70236         Likewise.
70237         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
70238         Likewise.
70239         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
70240         this function.
70241         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
70242         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
70243         Likewise.
70244         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
70245         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
70246         * doc/posix-functions/confstr.texi (confstr): Likewise.
70247         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
70248         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
70249         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
70250         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
70251         * doc/posix-functions/fputws.texi (fputws): Likewise.
70252         * doc/posix-functions/fwide.texi (fwide): Likewise.
70253         * doc/posix-functions/getwc.texi (getwc): Likewise.
70254         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
70255         * doc/posix-functions/putwc.texi (putwc): Likewise.
70256         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
70257         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
70258         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
70259         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
70260         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
70261         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
70262         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
70263         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
70264         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
70265         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
70266         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
70268 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70270         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
70271         * lib/ioctl.c: Include <sys/ioctl.h>.
70273 2009-01-19  Simon Josefsson  <simon@josefsson.org>
70275         * modules/getdate-tests (Depends-on): Add progname.
70276         * tests/test-getdate.c: Use progname module, to avoid link errors
70277         on non-glibc systems.
70279 2009-01-18  Simon Josefsson  <simon@josefsson.org>
70281         * modules/filenamecat-tests (Depends-on): Add progname.
70282         * modules/fstrcmp-tests (Depends-on): Likewise.
70284         * tests/test-filenamecat.c: Use progname module, to avoid link
70285         errors on non-glibc systems.
70286         * tests/test-fstrcmp.c: Likewise.
70288 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70290         gettimeofday: avoid warning: nested extern declaration of 'localtime'
70291         * lib/gettimeofday.c: Move extern declaration out of function.
70293 2009-01-18  Bruno Haible  <bruno@clisp.org>
70295         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
70296         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
70297         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
70299 2009-01-18  Bruno Haible  <bruno@clisp.org>
70301         * lib/strftime.c (MEMPCPY): Remove unused macro.
70302         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
70304 2009-01-18  Martin Lambers  <marlam@marlam.de>
70306         New module 'link'.
70307         * lib/unistd.in.h (link): New declaration.
70308         * lib/link.c: New file.
70309         * m4/link.m4: New file.
70310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
70311         HAVE_LINK.
70312         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
70313         * modules/link: New file.
70314         * doc/posix-functions/link.texi: Mention the new module.
70316 2009-01-18  Bruno Haible  <bruno@clisp.org>
70318         * tests/test-avltree_list.c (main): Call set_program_name.
70319         * tests/test-avltree_oset.c (main): Likewise.
70320         * tests/test-obstack-printf.c: Include progname.h.
70321         (main): Call set_program_name.
70322         * tests/test-quotearg.c: Include progname.h.
70323         (main): Call set_program_name.
70324         * tests/test-xmemdup0.c: Include progname.h.
70325         (main): Call set_program_name.
70327 2009-01-18  Bruno Haible  <bruno@clisp.org>
70329         New module 'alphasort'.
70330         * lib/dirent.in.h (alphasort): New declaration.
70331         * lib/alphasort.c: New file, from glibc with modifications.
70332         * m4/alphasort.m4: New file.
70333         * modules/alphasort: New file.
70334         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
70335         HAVE_ALPHASORT.
70336         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
70337         HAVE_ALPHASORT.
70338         * doc/posix-functions/alphasort.texi: Mention the new module and the
70339         portability problems.
70341 2009-01-18  Bruno Haible  <bruno@clisp.org>
70343         New module 'scandir'.
70344         * lib/dirent.in.h (scandir): New declaration.
70345         * lib/scandir.c: New file, from glibc with modifications.
70346         * m4/scandir.m4: New file.
70347         * modules/scandir: New file.
70348         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
70349         HAVE_SCANDIR.
70350         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
70351         HAVE_SCANDIR.
70352         * doc/posix-functions/scandir.texi: Mention the new module and the
70353         portability problems.
70355 2009-01-17  Bruno Haible  <bruno@clisp.org>
70357         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
70358         Update documentation.
70359         (func_remove_suffix): Escape all dots in the suffix. Update
70360         documentation.
70361         (func_filter_filelist): Update documentation.
70362         Reported by Ralf Wildenhues.
70364 2009-01-17  Bruno Haible  <bruno@clisp.org>
70366         * modules/dprintf-posix-tests: New file.
70367         * tests/test-dprintf-posix.sh: New file.
70368         * tests/test-dprintf-posix.c: New file.
70370         New modules 'dprintf', 'dprintf-posix'.
70371         * lib/stdio.in.h (dprintf): New declaration.
70372         * lib/dprintf.c: New file.
70373         * m4/dprintf.m4: New file.
70374         * m4/dprintf-posix.m4: New file.
70375         * modules/dprintf: New file.
70376         * modules/dprintf-posix: New file.
70377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
70378         HAVE_DPRINTF, REPLACE_DPRINTF.
70379         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
70380         HAVE_DPRINTF, REPLACE_DPRINTF.
70381         * doc/posix-functions/dprintf.texi: Mention the new modules.
70383 2009-01-17  Bruno Haible  <bruno@clisp.org>
70385         * modules/vdprintf-posix-tests: New file.
70386         * tests/test-vdprintf-posix.sh: New file.
70387         * tests/test-vdprintf-posix.c: New file.
70389         New modules 'vdprintf', 'vdprintf-posix'.
70390         * lib/stdio.in.h (vdprintf): New declaration.
70391         * lib/vdprintf.c: New file.
70392         * m4/vdprintf.m4: New file.
70393         * m4/vdprintf-posix.m4: New file.
70394         * modules/vdprintf: New file.
70395         * modules/vdprintf-posix: New file.
70396         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
70397         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70398         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
70399         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70400         * doc/posix-functions/vdprintf.texi: Mention the new modules.
70402 2009-01-17  Bruno Haible  <bruno@clisp.org>
70404         Fix replacement of fopen on mingw.
70405         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
70406         mingw.
70408 2009-01-17  Bruno Haible  <bruno@clisp.org>
70410         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
70411         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
70413 2009-01-17  Bruno Haible  <bruno@clisp.org>
70415         Avoid test-fflush2.sh failure on mingw.
70416         * tests/test-fflush2.c: Include binary-io.h.
70417         (main): Put standard input into binary mode.
70418         * modules/fflush-tests (Depends-on): Add binary-io.
70420 2009-01-17  Bruno Haible  <bruno@clisp.org>
70422         * lib/wchar.in.h: In another particular situation, include only the
70423         system's <wchar.h> file.
70424         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
70425         Reported by Albert Chin-A-Young <china@thewrittenword.com>
70426         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
70428 2009-01-17  Bruno Haible  <bruno@clisp.org>
70430         Support for stripping executables in --enable-relocatable.
70431         * build-aux/install-reloc: Expect one more argument, or an environment
70432         variable RELOC_STRIP_PROG. If set, strip the destination program and
70433         its wrapper.
70434         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
70435         RELOC_STRIP_PROG.
70436         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
70437         to set RELOCATABLE_STRIP.
70438         * NEWS: Mention the new Makefile requirement.
70440 2009-01-17  Bruno Haible  <bruno@clisp.org>
70442         * build-aux/install-reloc: Remove debugging information left over by
70443         C compiler on MacOS X.
70445 2009-01-17  Bruno Haible  <bruno@clisp.org>
70447         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
70448         * lib/progreloc.c (find_executable): Fix type of pointer passed to
70449         _NSGetExecutablePath.
70451 2009-01-16  Jim Meyering  <meyering@redhat.com>
70453         strerror: avoid warnings about discarding "const"
70454         * lib/strerror.c (rpl_strerror): Instead of returning a const
70455         string from each and every "case", use a variable, and add a single
70456         cast after the switch.
70458 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
70460         * lib/arpa_inet.in.h: Add extern "C" block for C++.
70462 2009-01-16  Bruno Haible  <bruno@clisp.org>
70464         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
70465         array initializer syntax that also works in C++ mode.
70466         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70468 2009-01-16  Jim Meyering  <meyering@redhat.com>
70470         poll: suppress a warning
70471         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
70472         to ignore "...unsigned expression < 0 is always false" warnings.
70474 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
70476         poll: remove declarations of unused variables
70477         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
70478         sockbuf and optlen.
70480 2009-01-15  Bruno Haible  <bruno@clisp.org>
70482         Make fflush-after-ungetc POSIX compliant on BSD systems.
70483         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
70484         (clear_ungetc_buffer): Implement also for other systems.
70485         (rpl_fflush): On glibc systems, invoke
70486         clear_ungetc_buffer_preserving_position. Otherwise, invoke
70487         clear_ungetc_buffer after fetching the stream's position, not before.
70489 2009-01-15  Bruno Haible  <bruno@clisp.org>
70491         Make fflush-after-ungetc POSIX compliant on glibc systems.
70492         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
70493         after ungetc.
70494         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
70495         (rpl_fflush): On glibc systems, simply call the system's fflush
70496         function after clearing the ungetc buffer.
70497         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
70498         Instead, lseek only to the end of file, then use the system's fseeko
70499         for the rest. On glibc systems, reset the EOF indicator bit.
70501 2009-01-15  Jim Meyering  <meyering@redhat.com>
70503         openmp.m4: revert quote-adding change, for portability to older autoconf
70504         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
70505         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
70506         Simon Josefsson noticed the problem when using autoconf-2.61.
70508 2009-01-15  Bruno Haible  <bruno@clisp.org>
70510         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
70511         * tests/test-fflush2.c (ASSERT): Always fail.
70512         (main): Add two tests for fflush() after ungetc(), taking into account
70513         the Austin Group's clarification.
70514         Suggested by Eric Blake.
70516 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
70518         mktime.m4: remove K&R-style function prototypes
70519         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
70520         for the Sun C++ compiler.
70522 2009-01-14  Bruno Haible  <bruno@clisp.org>
70524         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
70525         while including <wchar.h>.
70526         * lib/wchar.in.h: In two particular situations on HP-UX, include only
70527         the system's <wchar.h> file.
70528         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70530 2009-01-14  Bruno Haible  <bruno@clisp.org>
70532         * m4/csharp.m4: Don't mention gettext on the serial number line.
70533         * m4/csharpexec.m4: Likewise.
70534         * m4/eaccess.m4: Likewise.
70535         * m4/javaexec.m4: Likewise.
70536         * m4/sig_atomic_t.m4: Likewise.
70537         * m4/tmpdir.m4: Likewise.
70538         * m4/intldir.m4: Bump gettext version.
70539         * m4/lib-ld.m4: Likewise.
70541 2009-01-14  Bruno Haible  <bruno@clisp.org>
70543         * lib/progname.c (set_program_name): Add more comments.
70544         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70546 2009-01-14  Simon Josefsson  <simon@josefsson.org>
70548         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
70549         were sys/stat.h does not define it.
70551 2009-01-14  Jim Meyering  <meyering@redhat.com>
70553         many *.m4 files: improve m4 quoting
70554         99% of this change was performed by running the following commands:
70555         git ls-files | grep '\.m4$' | xargs perl -pi \
70556           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
70557           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70558           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70559           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
70560         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
70561         The remainder were to add Copyright dates, increment serial numbers,
70562         undo some changes in comments, exclude m4/intl.m4, and add quotes
70563         around the "1" in ",1" where the unusual spacing prohibited the
70564         above regexps from doing the job.  For more details, see
70565         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
70566         * m4/acl.m4: Modified.
70567         * m4/afs.m4: Likewise.
70568         * m4/alloca.m4: Likewise.
70569         * m4/argp.m4: Likewise.
70570         * m4/argz.m4: Likewise.
70571         * m4/atexit.m4: Likewise.
70572         * m4/bison-i18n.m4: Likewise.
70573         * m4/bison.m4: Likewise.
70574         * m4/byteswap.m4: Likewise.
70575         * m4/c-stack.m4: Likewise.
70576         * m4/c-strtod.m4: Likewise.
70577         * m4/calloc.m4: Likewise.
70578         * m4/canonicalize-lgpl.m4: Likewise.
70579         * m4/chown.m4: Likewise.
70580         * m4/clock_time.m4: Likewise.
70581         * m4/codeset.m4: Likewise.
70582         * m4/copy-file.m4: Likewise.
70583         * m4/csharp.m4: Likewise.
70584         * m4/csharpcomp.m4: Likewise.
70585         * m4/csharpexec.m4: Likewise.
70586         * m4/d-ino.m4: Likewise.
70587         * m4/d-type.m4: Likewise.
70588         * m4/dirfd.m4: Likewise.
70589         * m4/double-slash-root.m4: Likewise.
70590         * m4/eaccess.m4: Likewise.
70591         * m4/eealloc.m4: Likewise.
70592         * m4/environ.m4: Likewise.
70593         * m4/errno_h.m4: Likewise.
70594         * m4/euidaccess.m4: Likewise.
70595         * m4/execute.m4: Likewise.
70596         * m4/fatal-signal.m4: Likewise.
70597         * m4/fchdir.m4: Likewise.
70598         * m4/fcntl_h.m4: Likewise.
70599         * m4/fileblocks.m4: Likewise.
70600         * m4/filenamecat.m4: Likewise.
70601         * m4/findprog.m4: Likewise.
70602         * m4/flexmember.m4: Likewise.
70603         * m4/fnmatch.m4: Likewise.
70604         * m4/fopen.m4: Likewise.
70605         * m4/fpending.m4: Likewise.
70606         * m4/fprintf-posix.m4: Likewise.
70607         * m4/free.m4: Likewise.
70608         * m4/frexp.m4: Likewise.
70609         * m4/frexpl.m4: Likewise.
70610         * m4/fsusage.m4: Likewise.
70611         * m4/ftruncate.m4: Likewise.
70612         * m4/gc-camellia.m4: Likewise.
70613         * m4/gc-random.m4: Likewise.
70614         * m4/gc.m4: Likewise.
70615         * m4/getaddrinfo.m4: Likewise.
70616         * m4/getcwd-abort-bug.m4: Likewise.
70617         * m4/getcwd-path-max.m4: Likewise.
70618         * m4/getdate.m4: Likewise.
70619         * m4/getdomainname.m4: Likewise.
70620         * m4/getgroups.m4: Likewise.
70621         * m4/gethostname.m4: Likewise.
70622         * m4/gethrxtime.m4: Likewise.
70623         * m4/getline.m4: Likewise.
70624         * m4/getloadavg.m4: Likewise.
70625         * m4/getndelim2.m4: Likewise.
70626         * m4/getpass.m4: Likewise.
70627         * m4/gettext.m4: Likewise.
70628         * m4/gettime.m4: Likewise.
70629         * m4/gettimeofday.m4: Likewise.
70630         * m4/gnulib-common.m4: Likewise.
70631         * m4/group-member.m4: Likewise.
70632         * m4/host-os.m4: Likewise.
70633         * m4/iconv.m4: Likewise.
70634         * m4/iconv_open.m4: Likewise.
70635         * m4/inet_ntop.m4: Likewise.
70636         * m4/inet_pton.m4: Likewise.
70637         * m4/inline.m4: Likewise.
70638         * m4/intldir.m4: Likewise.
70639         * m4/intlmacosx.m4: Likewise.
70640         * m4/intmax.m4: Likewise.
70641         * m4/intmax_t.m4: Likewise.
70642         * m4/inttypes.m4: Likewise.
70643         * m4/inttypes_h.m4: Likewise.
70644         * m4/inttypes-pri.m4: Likewise.
70645         * m4/isapipe.m4: Likewise.
70646         * m4/isnand.m4: Likewise.
70647         * m4/isnanf.m4: Likewise.
70648         * m4/isnanl.m4: Likewise.
70649         * m4/javacomp.m4: Likewise.
70650         * m4/javaexec.m4: Likewise.
70651         * m4/jm-winsz1.m4: Likewise.
70652         * m4/jm-winsz2.m4: Likewise.
70653         * m4/lchown.m4: Likewise.
70654         * m4/lcmessage.m4: Likewise.
70655         * m4/ldexpl.m4: Likewise.
70656         * m4/lib-ld.m4: Likewise.
70657         * m4/lib-link.m4: Likewise.
70658         * m4/libsigsegv.m4: Likewise.
70659         * m4/link-follow.m4: Likewise.
70660         * m4/localcharset.m4: Likewise.
70661         * m4/locale-fr.m4: Likewise.
70662         * m4/locale-ja.m4: Likewise.
70663         * m4/locale-tr.m4: Likewise.
70664         * m4/locale-zh.m4: Likewise.
70665         * m4/lock.m4: Likewise.
70666         * m4/longlong.m4: Likewise.
70667         * m4/ls-mntd-fs.m4: Likewise.
70668         * m4/lstat.m4: Likewise.
70669         * m4/malloc.m4: Likewise.
70670         * m4/mathl.m4: Likewise.
70671         * m4/mbrtowc.m4: Likewise.
70672         * m4/mbstate_t.m4: Likewise.
70673         * m4/mbswidth.m4: Likewise.
70674         * m4/memchr.m4: Likewise.
70675         * m4/memcmp.m4: Likewise.
70676         * m4/memcpy.m4: Likewise.
70677         * m4/memmem.m4: Likewise.
70678         * m4/memmove.m4: Likewise.
70679         * m4/mempcpy.m4: Likewise.
70680         * m4/memrchr.m4: Likewise.
70681         * m4/memset.m4: Likewise.
70682         * m4/minmax.m4: Likewise.
70683         * m4/mkdir-slash.m4: Likewise.
70684         * m4/mkdtemp.m4: Likewise.
70685         * m4/mktime.m4: Likewise.
70686         * m4/mmap-anon.m4: Likewise.
70687         * m4/mountlist.m4: Likewise.
70688         * m4/nanosleep.m4: Likewise.
70689         * m4/nls.m4: Likewise.
70690         * m4/nocrash.m4: Likewise.
70691         * m4/open.m4: Likewise.
70692         * m4/openat.m4: Likewise.
70693         * m4/openmp.m4: Likewise.
70694         * m4/pathmax.m4: Likewise.
70695         * m4/perl.m4: Likewise.
70696         * m4/physmem.m4: Likewise.
70697         * m4/pipe.m4: Likewise.
70698         * m4/po.m4: Likewise.
70699         * m4/poll.m4: Likewise.
70700         * m4/posixtm.m4: Likewise.
70701         * m4/posixver.m4: Likewise.
70702         * m4/printf-frexp.m4: Likewise.
70703         * m4/printf-frexpl.m4: Likewise.
70704         * m4/printf-posix.m4: Likewise.
70705         * m4/printf-posix-rpl.m4: Likewise.
70706         * m4/printf.m4: Likewise.
70707         * m4/progtest.m4: Likewise.
70708         * m4/putenv.m4: Likewise.
70709         * m4/readline.m4: Likewise.
70710         * m4/readlink.m4: Likewise.
70711         * m4/readutmp.m4: Likewise.
70712         * m4/realloc.m4: Likewise.
70713         * m4/regex.m4: Likewise.
70714         * m4/relocatable.m4: Likewise.
70715         * m4/relocatable-lib.m4: Likewise.
70716         * m4/rename-dest-slash.m4: Likewise.
70717         * m4/rename.m4: Likewise.
70718         * m4/rmdir-errno.m4: Likewise.
70719         * m4/rmdir.m4: Likewise.
70720         * m4/roundf.m4: Likewise.
70721         * m4/roundl.m4: Likewise.
70722         * m4/rpmatch.m4: Likewise.
70723         * m4/save-cwd.m4: Likewise.
70724         * m4/selinux-selinux-h.m4: Likewise.
70725         * m4/setenv.m4: Likewise.
70726         * m4/settime.m4: Likewise.
70727         * m4/sig2str.m4: Likewise.
70728         * m4/sig_atomic_t.m4: Likewise.
70729         * m4/signalblocking.m4: Likewise.
70730         * m4/signbit.m4: Likewise.
70731         * m4/sigpipe.m4: Likewise.
70732         * m4/sockets.m4: Likewise.
70733         * m4/sockpfaf.m4: Likewise.
70734         * m4/st_dm_mode.m4: Likewise.
70735         * m4/stat-time.m4: Likewise.
70736         * m4/stdbool.m4: Likewise.
70737         * m4/stdint.m4: Likewise.
70738         * m4/stdint_h.m4: Likewise.
70739         * m4/stpcpy.m4: Likewise.
70740         * m4/stpncpy.m4: Likewise.
70741         * m4/strcase.m4: Likewise.
70742         * m4/strchrnul.m4: Likewise.
70743         * m4/strcspn.m4: Likewise.
70744         * m4/strdup.m4: Likewise.
70745         * m4/strftime.m4: Likewise.
70746         * m4/strndup.m4: Likewise.
70747         * m4/strnlen.m4: Likewise.
70748         * m4/strpbrk.m4: Likewise.
70749         * m4/strptime.m4: Likewise.
70750         * m4/strsep.m4: Likewise.
70751         * m4/strtod.m4: Likewise.
70752         * m4/strtoimax.m4: Likewise.
70753         * m4/strtok_r.m4: Likewise.
70754         * m4/strtol.m4: Likewise.
70755         * m4/strtoll.m4: Likewise.
70756         * m4/strtoul.m4: Likewise.
70757         * m4/strtoull.m4: Likewise.
70758         * m4/strtoumax.m4: Likewise.
70759         * m4/strverscmp.m4: Likewise.
70760         * m4/threadlib.m4: Likewise.
70761         * m4/timegm.m4: Likewise.
70762         * m4/tm_gmtoff.m4: Likewise.
70763         * m4/tmpdir.m4: Likewise.
70764         * m4/tmpfile.m4: Likewise.
70765         * m4/tzset.m4: Likewise.
70766         * m4/uintmax_t.m4: Likewise.
70767         * m4/unlinkdir.m4: Likewise.
70768         * m4/unlocked-io.m4: Likewise.
70769         * m4/uptime.m4: Likewise.
70770         * m4/userspec.m4: Likewise.
70771         * m4/utimbuf.m4: Likewise.
70772         * m4/utime.m4: Likewise.
70773         * m4/utimes-null.m4: Likewise.
70774         * m4/utimes.m4: Likewise.
70775         * m4/vararrays.m4: Likewise.
70776         * m4/vasnprintf.m4: Likewise.
70777         * m4/vfprintf-posix.m4: Likewise.
70778         * m4/vprintf-posix.m4: Likewise.
70779         * m4/wait-process.m4: Likewise.
70780         * m4/wchar_t.m4: Likewise.
70781         * m4/wint_t.m4: Likewise.
70782         * m4/write-any-file.m4: Likewise.
70783         * m4/yield.m4: Likewise.
70785 2009-01-13  Bruno Haible  <bruno@clisp.org>
70787         Avoid test-copy-file.sh failures when ACL support insufficient.
70788         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70789         TESTS_ENVIRONMENT.
70790         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70791         Reported by Jim Meyering.
70793 2009-01-13  Bruno Haible  <bruno@clisp.org>
70795         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70796         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70797         * modules/unistdio/u8-printf-parse (Files): Likewise.
70798         * modules/unistdio/u32-printf-parse (Files): Likewise.
70799         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70801 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70803         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70804         and m4/inttypes_h.m4 too.
70806 2009-01-12  Eric Blake  <ebb9@byu.net>
70808         tests: IRIX 6.2 cc can't compile -0.0 into .data
70809         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70810         rather than at compile-time.
70811         * tests/test-floorl.c (minus_zero): Likewise.
70812         * tests/test-frexpl.c (minus_zero): Likewise.
70813         * tests/test-isnan.c (minus_zerol): Likewise.
70814         * tests/test-isnanl.h (minus_zero): Likewise.
70815         * tests/test-ldexpl.c (minus_zero): Likewise.
70816         * tests/test-roundl.c (minus_zero): Likewise.
70817         * tests/test-signbit.c (minus_zerol): Likewise.
70818         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70819         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70820         * tests/test-truncl.c (minus_zero): Likewise.
70821         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70822         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70823         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70825 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70827         regex: fix glibc bug 9697
70828         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70829         handling.
70831 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70833         regex: fix glibc bug 697
70834         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70835         being NULL also if there are no backreferences.
70837 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70839         regex: merge glibc changes
70840         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70841         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70842         re_string_skip_chars, re_string_reconstruct): Likewise.
70843         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70845 2009-01-07  Jim Meyering  <meyering@redhat.com>
70847         poll: filter through cppi
70848         * lib/poll.c: Indent cpp directives to reflect nesting.
70850 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70852         poll: don't return uninitialized
70853         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70855 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70857         avoid compile failure on AIX 6.1
70858         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70859         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70861 2009-01-04  Jim Meyering  <meyering@redhat.com>
70863         remove duplicate inclusion of <stdio.h>
70864         * tests/test-fprintf-posix.c: Likewise.
70865         * tests/test-printf-posix.c: Likewise.
70866         * tests/test-snprintf-posix.c: Likewise.
70867         * tests/test-sprintf-posix.c: Likewise.
70868         * tests/test-vasprintf-posix.c: Likewise.
70869         * tests/test-vfprintf-posix.c: Likewise.
70870         * tests/test-vprintf-posix.c: Likewise.
70871         * tests/test-vsnprintf-posix.c: Likewise.
70872         * tests/test-vsprintf-posix.c: Likewise.
70874 2009-01-03  Jim Meyering  <meyering@redhat.com>
70876         gnulib-tool: fix sed-based filtering
70877         * gnulib-tool (func_filter_filelist): Remove extra backslash
70878         in sed_fff_filter definition.
70880 2009-01-02  Jim Meyering  <meyering@redhat.com>
70882         strftime: avoid compilation failure on Solaris 2.6
70883         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70884         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70885         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70886         be available.  Reported by Tom G. Christensen.  Details in
70887         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70889 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70890             Bruno Haible  <bruno@clisp.org>
70892         Speed up gnulib-tool by doing more string processing through shell
70893         built-ins.
70894         * gnulib-tool (fast_func_append): New variable.
70895         (func_remove_prefix, func_remove_suffix): New functions.
70896         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70897         (func_filter_filelist): New function.
70898         (func_get_dependencies): Use func_remove_suffix instead of sed.
70899         (func_get_automake_snippet): Use func_filter_filelist instead of a
70900         subshell and sed invocation.
70902 2009-01-01  Bruno Haible  <bruno@clisp.org>
70904         Fix a security bug.
70905         * gnulib-tool (func_import, import, update): Don't allow the characters
70906         '"', '$', '`', '\' in macro arguments that become part of commands that
70907         are evaluated.
70909 2009-01-01  Bruno Haible  <bruno@clisp.org>
70911         * gnulib-tool (func_reset_sigpipe): Add more comments.
70913 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70915         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70916         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70917         already know the answer.
70919 2009-01-01  Jim Meyering  <meyering@redhat.com>
70921         * lib/version-etc.c (version_etc_va): Update copyright year.
70923 2008-12-30  Bruno Haible  <bruno@clisp.org>
70925         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70926         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70927         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70929 2008-12-29  Eric Blake  <ebb9@byu.net>
70931         multiarch: avoid autoconf AC_REQUIRE bug
70932         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70933         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70934         2.63 and older.
70935         Reported by Bruno Haible, and analyzed in
70936         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70938 2008-12-29  Bruno Haible  <bruno@clisp.org>
70940         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70941         files in subdirectories correctly.
70942         Reported by Ralf Wildenhues.
70944 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70946         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70947         rather than 'join FILE -', for Solaris join.
70949 2008-12-29  Bruno Haible  <bruno@clisp.org>
70951         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70952         quoting.
70953         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70954         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70955         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70956         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70957         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70958         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70959         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70960         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70961         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70962         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70963         * m4/nls.m4 (AM_NLS): Likewise.
70964         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
70965         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
70966         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70967         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
70968         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
70969         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
70970         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
70971         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
70972         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
70973         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70974         * m4/xsize.m4 (gl_XSIZE): Likewise.
70975         Suggested by Jim Meyering.
70977 2008-11-17  Bruce Korb  <bkorb@gnu.org>
70979         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
70980         * lib/parse-duration.c: use a switch instead of cascading if's.
70982 2008-12-29  Eric Blake  <ebb9@byu.net>
70984         wchar.h: supply WEOF on Irix 5.3
70985         * lib/wchar.in.h (wint_t): Also supply WEOF.
70986         * lib/wctype.in.h (wint_t): Likewise.
70987         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
70988         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
70989         Reported by Tom G. Christensen.
70991 2008-12-26  Bruno Haible  <bruno@clisp.org>
70993         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
70994         i486, i586, i686.
70996 2008-12-26  Bruno Haible  <bruno@clisp.org>
70998         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
71000 2008-12-26  Bruno Haible  <bruno@clisp.org>
71002         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
71003         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
71004         not __STDC_CONSTANT_MACROS.
71005         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
71007 2008-12-25  Bruno Haible  <bruno@clisp.org>
71009         Add support for universal builds to vasnprintf.
71010         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
71011         universal builds, guess no.
71012         * modules/vasnprintf-posix (Depends-on): Add multiarch.
71013         * modules/vasprintf-posix (Depends-on): Likewise.
71014         * modules/fprintf-posix (Depends-on): Likewise.
71015         * modules/vfprintf-posix (Depends-on): Likewise.
71016         * modules/snprintf-posix (Depends-on): Likewise.
71017         * modules/vsnprintf-posix (Depends-on): Likewise.
71018         * modules/sprintf-posix (Depends-on): Likewise.
71019         * modules/vsprintf-posix (Depends-on): Likewise.
71020         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
71021         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
71022         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
71023         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
71024         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
71025         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
71026         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
71028         Add support for universal builds to <inttypes.h>.
71029         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
71030         _SCNu64_PREFIX): In Apple
71031         universal builds, define directly, using _LP64.
71032         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
71033         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
71034         * modules/inttypes (Depends-on): Add multiarch.
71035         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71037         Add support for universal builds to <stdint.h>.
71038         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
71039         universal builds, define directly, using _LP64.
71040         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
71041         Apple universal builds, don't test for the size and suffix of ptrdiff_t
71042         and size_t.
71043         * modules/stdint (Depends-on): Add multiarch.
71044         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71046         New module 'multiarch'.
71047         * modules/multiarch: New file.
71048         * m4/multiarch.m4: New file.
71050 2008-12-25  Bruno Haible  <bruno@clisp.org>
71052         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
71054 2008-12-25  Bruno Haible  <bruno@clisp.org>
71056         * modules/btowc (License): Relicense under LGPLv2+.
71057         * modules/mbsinit (License): Likewise.
71058         * modules/mbrtowc (License): Likewise.
71059         * modules/wcrtomb (License): Likewise.
71060         * modules/streq (License): Likewise.
71061         Reported by David Lutterkort <lutter@redhat.com>.
71063 2008-12-23  Bruno Haible  <bruno@clisp.org>
71065         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
71067 2008-12-23  Bruno Haible  <bruno@clisp.org>
71069         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
71070         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
71071         GETADDRINFO_LIB, not in LIBS.
71072         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
71073         * modules/canon-host (Link): Likewise.
71074         * NEWS: Mention the change.
71075         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
71076         GETADDRINFO_LIB.
71078 2008-12-22  Bruno Haible  <bruno@clisp.org>
71080         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
71081         * doc/posix-functions/iswalpha_l.texi: Likewise.
71082         * doc/posix-functions/iswblank_l.texi: Likewise.
71083         * doc/posix-functions/iswcntrl_l.texi: Likewise.
71084         * doc/posix-functions/iswctype_l.texi: Likewise.
71085         * doc/posix-functions/iswdigit_l.texi: Likewise.
71086         * doc/posix-functions/iswgraph_l.texi: Likewise.
71087         * doc/posix-functions/iswlower_l.texi: Likewise.
71088         * doc/posix-functions/iswprint_l.texi: Likewise.
71089         * doc/posix-functions/iswpunct_l.texi: Likewise.
71090         * doc/posix-functions/iswspace_l.texi: Likewise.
71091         * doc/posix-functions/iswupper_l.texi: Likewise.
71092         * doc/posix-functions/iswxdigit_l.texi: Likewise.
71093         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
71094         * doc/posix-functions/open_wmemstream.texi: Likewise.
71095         * doc/posix-functions/swscanf.texi: Likewise.
71096         * doc/posix-functions/towctrans_l.texi: Likewise.
71097         * doc/posix-functions/towlower.texi: Likewise.
71098         * doc/posix-functions/towlower_l.texi: Likewise.
71099         * doc/posix-functions/towupper.texi: Likewise.
71100         * doc/posix-functions/towupper_l.texi: Likewise.
71101         * doc/posix-functions/vfwprintf.texi: Likewise.
71102         * doc/posix-functions/vfwscanf.texi: Likewise.
71103         * doc/posix-functions/vswscanf.texi: Likewise.
71104         * doc/posix-functions/vwprintf.texi: Likewise.
71105         * doc/posix-functions/vwscanf.texi: Likewise.
71106         * doc/posix-functions/wcpcpy.texi: Likewise.
71107         * doc/posix-functions/wcpncpy.texi: Likewise.
71108         * doc/posix-functions/wcscasecmp.texi: Likewise.
71109         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
71110         * doc/posix-functions/wcscoll_l.texi: Likewise.
71111         * doc/posix-functions/wcsdup.texi: Likewise.
71112         * doc/posix-functions/wcsncasecmp.texi: Likewise.
71113         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
71114         * doc/posix-functions/wcsnlen.texi: Likewise.
71115         * doc/posix-functions/wcsnrtombs.texi: Likewise.
71116         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
71117         * doc/posix-functions/wctrans_l.texi: Likewise.
71118         * doc/posix-functions/wctype_l.texi: Likewise.
71119         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
71120         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
71121         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
71122         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
71123         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
71124         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
71125         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
71126         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
71127         * doc/glibc-functions/wcschrnul.texi: Likewise.
71128         * doc/glibc-functions/wcsftime_l.texi: Likewise.
71129         * doc/glibc-functions/wcstod_l.texi: Likewise.
71130         * doc/glibc-functions/wcstof_l.texi: Likewise.
71131         * doc/glibc-functions/wcstol_l.texi: Likewise.
71132         * doc/glibc-functions/wcstold_l.texi: Likewise.
71133         * doc/glibc-functions/wcstoll_l.texi: Likewise.
71134         * doc/glibc-functions/wcstoq.texi: Likewise.
71135         * doc/glibc-functions/wcstoul_l.texi: Likewise.
71136         * doc/glibc-functions/wcstoull_l.texi: Likewise.
71137         * doc/glibc-functions/wcstouq.texi: Likewise.
71138         * doc/glibc-functions/wmempcpy.texi: Likewise.
71140 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
71141             Eric Blake  <ebb9@byu.net>
71142             Paolo Bonzini  <bonzini@gnu.org>
71143             Bruno Haible  <bruno@clisp.org>
71145         Make c-stack work on Haiku.
71146         * lib/c-stack.c (SA_ONSTACK): Define fallback.
71147         (c_stack_action): Use SA_ONSTACK flag.
71149 2008-12-22  Bruno Haible  <bruno@clisp.org>
71151         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
71153 2008-12-22  Bruno Haible  <bruno@clisp.org>
71155         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
71156         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
71157         being overridden.
71158         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
71159         New macros.
71160         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
71161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
71162         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
71163         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
71165 2008-12-22  Bruno Haible  <bruno@clisp.org>
71167         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
71168         from test code.
71170 2008-12-22  Eric Blake  <ebb9@byu.net>
71172         Avoid gcc warnings on cygwin.
71173         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
71174         Avoid unused variable.
71175         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
71176         Likewise.
71178 2008-12-22  Bruno Haible  <bruno@clisp.org>
71180         Remove HAVE_MBRTOWC conditionals.
71181         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
71182         (mbscasecmp): Assume mbrtowc function.
71183         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
71184         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
71185         * lib/mbschr.c: Include mbuiter.h unconditionally.
71186         (mbschr): Assume mbrtowc function.
71187         * lib/mbscspn.c: Include mbuiter.h unconditionally.
71188         (mbscspn): Assume mbrtowc function.
71189         * lib/mbslen.c: Include mbuiter.h unconditionally.
71190         (mbslen): Assume mbrtowc function.
71191         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
71192         (mbsncasecmp): Assume mbrtowc function.
71193         * lib/mbsnlen.c: Include mbiter.h unconditionally.
71194         (mbsnlen): Assume mbrtowc function.
71195         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
71196         (mbspbrk): Assume mbrtowc function.
71197         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
71198         (mbspcasecmp): Assume mbrtowc function.
71199         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
71200         (mbsrchr): Assume mbrtowc function.
71201         * lib/mbssep.c: Include mbuiter.h unconditionally.
71202         (mbssep): Assume mbrtowc function.
71203         * lib/mbsspn.c: Include mbuiter.h unconditionally.
71204         (mbsspn): Assume mbrtowc function.
71205         * lib/mbsstr.c: Include mbuiter.h unconditionally.
71206         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
71207         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
71208         (mbstok_r): Assume mbrtowc function.
71209         * lib/propername.c: Include mbuiter.h unconditionally.
71210         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
71211         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
71212         (trim2): Assume mbrtowc function.
71213         * lib/mbswidth.c (mbsinit): Remove fallback definition.
71214         (mbsnwidth): Assume mbrtowc function.
71215         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
71216         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
71217         fallback definitions.
71218         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
71220 2008-12-22  Bruno Haible  <bruno@clisp.org>
71222         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
71224 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
71226         * modules/regex: Request emulations for the mb*/wc* functions we need.
71227         * m4/regex.m4: Don't look for those functions here.
71228         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
71230 2008-12-22  Bruno Haible  <bruno@clisp.org>
71232         * modules/fnmatch (Depends-on): Remove duplicated dependency.
71234 2008-12-21  Bruno Haible  <bruno@clisp.org>
71236         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
71237         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
71238         (Include): Remove conditionalization.
71239         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
71240         (Include): Remove conditionalization.
71241         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
71242         (Include): Remove conditionalization.
71243         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
71244         * m4/mbfile.m4 (gl_MBFILE): Likewise.
71245         * NEWS: Mention the change.
71246         Reported by Alan Hourihane <alanh@fairlite.co.uk>
71247         via Sergey Poznyakoff <gray@gnu.org.ua>.
71249 2008-12-21  Bruno Haible  <bruno@clisp.org>
71251         * MODULES.html.sh (Extended multibyte and wide character utilities
71252         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
71253         wcrtomb, wcsrtombs.
71254         (Support for systems lacking POSIX:2008): Add accept, bind, close,
71255         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
71256         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
71257         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
71259 2008-12-21  Bruno Haible  <bruno@clisp.org>
71261         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
71263 2008-12-21  Bruno Haible  <bruno@clisp.org>
71265         * modules/wcsnrtombs-tests: New file.
71266         * tests/test-wcsnrtombs1.sh: New file.
71267         * tests/test-wcsnrtombs2.sh: New file.
71268         * tests/test-wcsnrtombs3.sh: New file.
71269         * tests/test-wcsnrtombs4.sh: New file.
71270         * tests/test-wcsnrtombs.c: New file.
71272         New module 'wcsnrtombs'.
71273         * lib/wchar.in.h (wcsnrtombs): New declaration.
71274         * lib/wcsnrtombs.c: New file.
71275         * lib/wcsrtombs-state.c: New file.
71276         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
71277         (internal_state): Remove variable.
71278         * m4/wcsnrtombs.m4: New file.
71279         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
71280         compilation units.
71281         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
71282         HAVE_WCSNRTOMBS.
71283         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
71284         HAVE_WCSNRTOMBS.
71285         * modules/wcsnrtombs: New file.
71286         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
71287         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
71289 2008-12-21  Bruno Haible  <bruno@clisp.org>
71291         * modules/wcsrtombs-tests: New file.
71292         * tests/test-wcsrtombs1.sh: New file.
71293         * tests/test-wcsrtombs2.sh: New file.
71294         * tests/test-wcsrtombs3.sh: New file.
71295         * tests/test-wcsrtombs4.sh: New file.
71296         * tests/test-wcsrtombs.c: New file.
71298         New module 'wcsrtombs'.
71299         * lib/wchar.in.h (wcsrtombs): New declaration.
71300         * lib/wcsrtombs.c: New file.
71301         * m4/wcsrtombs.m4: New file.
71302         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
71303         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71304         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
71305         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71306         * modules/wcsrtombs: New file.
71307         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
71308         bugs.
71310 2008-12-21  Bruno Haible  <bruno@clisp.org>
71312         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
71313         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
71314         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
71315         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
71316         if not correct.
71317         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
71318         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
71319         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71320         m4/locale-zh.m4, m4/codeset.m4.
71321         * doc/posix-functions/wcrtomb.texi: Document the bug.
71323 2008-12-21  Bruno Haible  <bruno@clisp.org>
71325         Work around a btowc() bug on IRIX 6.5.
71326         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
71327         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
71328         REPLACE_WTOBC if not.
71329         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
71330         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
71331         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
71333 2008-12-21  Bruno Haible  <bruno@clisp.org>
71335         * modules/wcrtomb-tests: New file.
71336         * tests/test-wcrtomb.sh: New file.
71337         * tests/test-wcrtomb.c: New file.
71339         New module 'wcrtomb'.
71340         * lib/wchar.in.h (wcrtomb): New declaration.
71341         * lib/wcrtomb.c: New file.
71342         * m4/wcrtomb.m4: New file.
71343         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
71344         HAVE_WCRTOMB.
71345         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
71346         HAVE_WCRTOMB.
71347         * modules/wcrtomb: New file.
71348         * doc/posix-functions/wcrtomb.texi: Mention the new module.
71350 2008-12-21  Bruno Haible  <bruno@clisp.org>
71352         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
71353         * modules/mbsrtowcs (Files): Likewise.
71354         * modules/wctob (Files): Likewise.
71355         * modules/c-strcase-tests (Files): Likewise.
71356         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
71357         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
71358         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
71359         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
71360         * modules/vasnprintf-posix-tests (Files): Likewise.
71362 2008-12-21  William Pursell  <bill.pursell@gmail.com>
71364         gitlog-to-changelog: pass all command-line arguments to git-log
71365         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
71366         it is sometimes convenient to filter the commits in various ways.
71367         gitlog-to-changelog only allows --since to specify a start date,
71368         but git-log itself supports many other filtering mechanisms.
71369         At the moment, I want to filter by branch name.  Rather than
71370         adding a --branch option to gitlog-to-changelog, it seems more
71371         flexible to simply pass all options directly to git-log and let
71372         git do the work.  Notice that this effectively makes --since a
71373         redundant option for gitlog-to-changelog, but removing it would
71374         require current usage to change since calls would then require
71375         an additional '--'.
71377 2008-12-21  Bruno Haible  <bruno@clisp.org>
71379         * modules/mbsnrtowcs-tests: New file.
71380         * tests/test-mbsnrtowcs1.sh: New file.
71381         * tests/test-mbsnrtowcs2.sh: New file.
71382         * tests/test-mbsnrtowcs3.sh: New file.
71383         * tests/test-mbsnrtowcs4.sh: New file.
71384         * tests/test-mbsnrtowcs.c: New file.
71386         New module 'mbsnrtowcs'.
71387         * lib/wchar.in.h (mbsnrtowcs): New declaration.
71388         * lib/mbsnrtowcs.c: New file.
71389         * lib/mbsrtowcs-state.c: New file.
71390         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
71391         (internal_state): Remove variable.
71392         * m4/mbsnrtowcs.m4: New file.
71393         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
71394         compilation units.
71395         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
71396         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71397         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
71398         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71399         * modules/mbsnrtowcs: New file.
71400         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
71401         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
71402         portability problem.
71404 2008-12-21  Bruno Haible  <bruno@clisp.org>
71406         Work around mbsrtowcs bug.
71407         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
71408         (gl_FUNC_MBSRTOWCS): Invoke it.
71409         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71410         m4/locale-zh.m4.
71411         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
71413 2008-12-21  Bruno Haible  <bruno@clisp.org>
71415         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
71417 2008-12-21  Bruno Haible  <bruno@clisp.org>
71419         Update doc for AIX.
71420         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
71421         16-bit wchar_t type.
71422         * doc/posix-functions/btowc.texi: Likewise.
71423         * doc/posix-functions/fgetwc.texi: Likewise.
71424         * doc/posix-functions/fgetws.texi: Likewise.
71425         * doc/posix-functions/fputwc.texi: Likewise.
71426         * doc/posix-functions/fputws.texi: Likewise.
71427         * doc/posix-functions/fwide.texi: Likewise.
71428         * doc/posix-functions/fwprintf.texi: Likewise.
71429         * doc/posix-functions/fwscanf.texi: Likewise.
71430         * doc/posix-functions/getwchar.texi: Likewise.
71431         * doc/posix-functions/getwc.texi: Likewise.
71432         * doc/posix-functions/iswalnum.texi: Likewise.
71433         * doc/posix-functions/iswalpha.texi: Likewise.
71434         * doc/posix-functions/iswblank.texi: Likewise.
71435         * doc/posix-functions/iswcntrl.texi: Likewise.
71436         * doc/posix-functions/iswctype.texi: Likewise.
71437         * doc/posix-functions/iswdigit.texi: Likewise.
71438         * doc/posix-functions/iswgraph.texi: Likewise.
71439         * doc/posix-functions/iswlower.texi: Likewise.
71440         * doc/posix-functions/iswprint.texi: Likewise.
71441         * doc/posix-functions/iswpunct.texi: Likewise.
71442         * doc/posix-functions/iswspace.texi: Likewise.
71443         * doc/posix-functions/iswupper.texi: Likewise.
71444         * doc/posix-functions/iswxdigit.texi: Likewise.
71445         * doc/posix-functions/mbrtowc.texi: Likewise.
71446         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71447         * doc/posix-functions/mbstowcs.texi: Likewise.
71448         * doc/posix-functions/mbtowc.texi: Likewise.
71449         * doc/posix-functions/putwchar.texi: Likewise.
71450         * doc/posix-functions/putwc.texi: Likewise.
71451         * doc/posix-functions/swprintf.texi: Likewise.
71452         * doc/posix-functions/tolower.texi: Likewise.
71453         * doc/posix-functions/toupper.texi: Likewise.
71454         * doc/posix-functions/towctrans.texi: Likewise.
71455         * doc/posix-functions/ungetwc.texi: Likewise.
71456         * doc/posix-functions/vswprintf.texi: Likewise.
71457         * doc/posix-functions/wcrtomb.texi: Likewise.
71458         * doc/posix-functions/wcscat.texi: Likewise.
71459         * doc/posix-functions/wcschr.texi: Likewise.
71460         * doc/posix-functions/wcscmp.texi: Likewise.
71461         * doc/posix-functions/wcscoll.texi: Likewise.
71462         * doc/posix-functions/wcscpy.texi: Likewise.
71463         * doc/posix-functions/wcscspn.texi: Likewise.
71464         * doc/posix-functions/wcsftime.texi: Likewise.
71465         * doc/posix-functions/wcslen.texi: Likewise.
71466         * doc/posix-functions/wcsncat.texi: Likewise.
71467         * doc/posix-functions/wcsncmp.texi: Likewise.
71468         * doc/posix-functions/wcsncpy.texi: Likewise.
71469         * doc/posix-functions/wcspbrk.texi: Likewise.
71470         * doc/posix-functions/wcsrchr.texi: Likewise.
71471         * doc/posix-functions/wcsrtombs.texi: Likewise.
71472         * doc/posix-functions/wcsspn.texi: Likewise.
71473         * doc/posix-functions/wcsstr.texi: Likewise.
71474         * doc/posix-functions/wcstod.texi: Likewise.
71475         * doc/posix-functions/wcstof.texi: Likewise.
71476         * doc/posix-functions/wcstoimax.texi: Likewise.
71477         * doc/posix-functions/wcstok.texi: Likewise.
71478         * doc/posix-functions/wcstold.texi: Likewise.
71479         * doc/posix-functions/wcstoll.texi: Likewise.
71480         * doc/posix-functions/wcstol.texi: Likewise.
71481         * doc/posix-functions/wcstombs.texi: Likewise.
71482         * doc/posix-functions/wcstoull.texi: Likewise.
71483         * doc/posix-functions/wcstoul.texi: Likewise.
71484         * doc/posix-functions/wcstoumax.texi: Likewise.
71485         * doc/posix-functions/wcswidth.texi: Likewise.
71486         * doc/posix-functions/wcsxfrm.texi: Likewise.
71487         * doc/posix-functions/wctob.texi: Likewise.
71488         * doc/posix-functions/wctomb.texi: Likewise.
71489         * doc/posix-functions/wctrans.texi: Likewise.
71490         * doc/posix-functions/wctype.texi: Likewise.
71491         * doc/posix-functions/wcwidth.texi: Likewise.
71492         * doc/posix-functions/wmemchr.texi: Likewise.
71493         * doc/posix-functions/wmemcmp.texi: Likewise.
71494         * doc/posix-functions/wmemcpy.texi: Likewise.
71495         * doc/posix-functions/wmemmove.texi: Likewise.
71496         * doc/posix-functions/wmemset.texi: Likewise.
71497         * doc/posix-functions/wprintf.texi: Likewise.
71498         * doc/posix-functions/wscanf.texi: Likewise.
71500 2008-12-21  Bruno Haible  <bruno@clisp.org>
71502         Update doc for HP-UX 11.11.
71503         * doc/posix-functions/btowc.texi: Clarify that the function is missing
71504         in HP-UX version 11.00, not in all versions of HP-UX 11.
71505         * doc/posix-functions/fwide.texi: Likewise.
71506         * doc/posix-functions/fwprintf.texi: Likewise.
71507         * doc/posix-functions/fwscanf.texi: Likewise.
71508         * doc/posix-functions/inet_ntop.texi: Likewise.
71509         * doc/posix-functions/inet_pton.texi: Likewise.
71510         * doc/posix-functions/mbrlen.texi: Likewise.
71511         * doc/posix-functions/mbrtowc.texi: Likewise.
71512         * doc/posix-functions/mbsinit.texi: Likewise.
71513         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71514         * doc/posix-functions/swprintf.texi: Likewise.
71515         * doc/posix-functions/swscanf.texi: Likewise.
71516         * doc/posix-functions/towctrans.texi: Likewise.
71517         * doc/posix-functions/vfwprintf.texi: Likewise.
71518         * doc/posix-functions/vswprintf.texi: Likewise.
71519         * doc/posix-functions/vwprintf.texi: Likewise.
71520         * doc/posix-functions/wcrtomb.texi: Likewise.
71521         * doc/posix-functions/wcsrtombs.texi: Likewise.
71522         * doc/posix-functions/wcsstr.texi: Likewise.
71523         * doc/posix-functions/wctob.texi: Likewise.
71524         * doc/posix-functions/wctrans.texi: Likewise.
71525         * doc/posix-functions/wmemchr.texi: Likewise.
71526         * doc/posix-functions/wmemcmp.texi: Likewise.
71527         * doc/posix-functions/wmemcpy.texi: Likewise.
71528         * doc/posix-functions/wmemmove.texi: Likewise.
71529         * doc/posix-functions/wmemset.texi: Likewise.
71530         * doc/posix-functions/wprintf.texi: Likewise.
71531         * doc/posix-functions/wscanf.texi: Likewise.
71533 2008-12-21  Bruno Haible  <bruno@clisp.org>
71535         Work around a portability problem.
71536         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
71537         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
71539 2008-12-20  Bruno Haible  <bruno@clisp.org>
71541         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
71542         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
71543         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
71544         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
71545         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
71547         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
71548         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
71549         set.
71550         (GNULIB_defined_mbstate_t): New macro.
71551         (mbsinit): Redefine if REPLACE_MBSINIT is set.
71552         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
71553         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
71554         reuses the system's mbrtowc function but works around the bugs.
71555         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
71556         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
71557         macros.
71558         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
71559         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
71560         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
71561         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
71562         REPLACE_MBSINIT if mbsinit needs to be overridden.
71563         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
71564         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71565         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
71566         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71567         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71568         m4/locale-zh.m4.
71569         (Depends): Add mbsinit.
71570         * modules/mbsinit (Depends): Add mbrtowc.
71571         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
71573 2008-12-20  Bruno Haible  <bruno@clisp.org>
71575         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
71576         so that there are no conversion errors on AIX.
71577         * tests/test-mbsrtowcs.c (main): LIkewise.
71579 2008-12-20  Bruno Haible  <bruno@clisp.org>
71581         Work around wctob bug on Solaris <= 9.
71582         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
71583         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
71584         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
71585         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
71586         * modules/wctob (Files): Add m4/locale-fr.m4.
71587         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
71589 2008-12-20  Bruno Haible  <bruno@clisp.org>
71591         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
71592         /dev/null.
71593         * tests/test-select-in.sh: Likewise.
71594         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71596 2008-12-20  Bruno Haible  <bruno@clisp.org>
71598         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
71599         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
71600         Cygwin 1.5.x.
71602 2008-12-20  Bruno Haible  <bruno@clisp.org>
71604         Ensure mbstate_t is defined on HP-UX 11.11.
71605         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
71606         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
71607         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
71608         AC_USE_SYSTEM_EXTENSIONS.
71609         * modules/fnmatch (Depends-on): Add extensions.
71610         * modules/mbrlen (Depends-on): Likewise.
71611         * modules/mbrtowc (Depends-on): Likewise.
71612         * modules/mbsinit (Depends-on): Likewise.
71613         * modules/mbsrtowcs (Depends-on): Likewise.
71614         * modules/mbswidth (Depends-on): Likewise.
71615         * modules/quotearg (Depends-on): Likewise.
71616         * modules/strftime (Depends-on): Likewise.
71618 2008-12-20  Bruno Haible  <bruno@clisp.org>
71620         Ensure wctob is declared on IRIX 6.5.
71621         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
71622         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
71623         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
71624         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
71625         of HAVE_WCTOB.
71626         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
71627         HAVE_WCTOB.
71628         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
71630 2008-12-19  Bruno Haible  <bruno@clisp.org>
71632         * modules/mbsrtowcs-tests: New file.
71633         * tests/test-mbsrtowcs1.sh: New file.
71634         * tests/test-mbsrtowcs2.sh: New file.
71635         * tests/test-mbsrtowcs3.sh: New file.
71636         * tests/test-mbsrtowcs4.sh: New file.
71637         * tests/test-mbsrtowcs.c: New file.
71639         New module 'mbsrtowcs'.
71640         * lib/wchar.in.h (mbsrtowcs): New declaration.
71641         * lib/mbsrtowcs.c: New file.
71642         * m4/mbsrtowcs.m4: New file.
71643         * modules/mbsrtowcs: New file.
71644         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
71645         HAVE_MBSRTOWCS.
71646         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
71647         HAVE_MBSRTOWCS.
71648         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
71650 2008-12-19  Bruno Haible  <bruno@clisp.org>
71652         New module 'mbrlen'.
71653         * lib/wchar.in.h (mbrlen): New declaration.
71654         * lib/mbrlen.c: New file.
71655         * m4/mbrlen.m4: New file.
71656         * modules/mbrlen: New file.
71657         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
71658         HAVE_MBRLEN.
71659         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
71660         HAVE_MBRLEN.
71661         * doc/posix-functions/mbrlen.texi: Document the new module.
71663 2008-12-19  Bruno Haible  <bruno@clisp.org>
71665         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
71666         * modules/mbrtowc (Depends-on): Add verify.
71667         Suggested by Paul Eggert.
71669 2008-12-18  Bruno Haible  <bruno@clisp.org>
71671         * modules/mbsinit-tests: New file.
71672         * tests/test-mbsinit.sh: New file.
71673         * tests/test-mbsinit.c: New file.
71675 2008-12-18  Bruno Haible  <bruno@clisp.org>
71677         * modules/mbrtowc-tests: New file.
71678         * tests/test-mbrtowc1.sh: New file.
71679         * tests/test-mbrtowc2.sh: New file.
71680         * tests/test-mbrtowc3.sh: New file.
71681         * tests/test-mbrtowc4.sh: New file.
71682         * tests/test-mbrtowc.c: New file.
71684         New module 'mbrtowc'.
71685         * lib/wchar.in.h (mbstate_t): Override when the system does not have
71686         mbsinit and mbrtowc.
71687         (mbrtowc): New declaration.
71688         * lib/mbrtowc.c: New file.
71689         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
71690         * modules/mbrtowc: New file.
71691         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
71692         HAVE_MBRTOWC.
71693         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
71694         HAVE_MBRTOWC.
71695         * doc/posix-functions/mbrtowc.texi: Document the new module.
71697 2008-12-18  Bruno Haible  <bruno@clisp.org>
71699         New module 'wctob'.
71700         * lib/wchar.in.h (wctob): New declaration.
71701         * lib/wctob.c: New file.
71702         * m4/wctob.m4: New file.
71703         * modules/wctob: New file.
71704         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
71705         HAVE_WCTOB.
71706         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
71707         * doc/posix-functions/wctob.texi: Document the new module.
71709 2008-12-18  Bruno Haible  <bruno@clisp.org>
71711         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
71712         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
71714 2008-12-18  Simon Josefsson  <simon@josefsson.org>
71716         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
71717         G. Christensen" <tgc@jupiterrise.com>.
71719         * lib/flock.c: Need to include errno.h.  Reported by "Tom
71720         G. Christensen" <tgc@jupiterrise.com>.
71722         * lib/flock.c: Need to include string.h.  Reported by "Tom
71723         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
71724         <ebb9@byu.net>.
71726 2008-12-18  Bruno Haible  <bruno@clisp.org>
71728         * m4/locale-ja.m4: New file, from GNU gettext.
71730 2008-12-17  Bruno Haible  <bruno@clisp.org>
71732         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
71733         Suggested by Eric Blake.
71735 2008-12-17  Bruno Haible  <bruno@clisp.org>
71737         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
71739 2008-12-17  Bruno Haible  <bruno@clisp.org>
71741         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71742         * modules/mbsinit (Depends-on): Add verify.
71743         Suggested by Paul Eggert.
71745 2008-12-17  Bruno Haible  <bruno@clisp.org>
71747         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71748         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71749         gl_FUNC_MBRTOWC.
71750         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71751         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71752         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71753         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71754         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71755         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71756         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71757         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71758         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71759         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71760         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71761         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71762         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71763         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71764         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71765         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71766         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71767         * modules/trim (configure.ac): Likewise.
71769 2008-12-17  Bruno Haible  <bruno@clisp.org>
71771         * modules/btowc-tests: New file.
71772         * tests/test-btowc1.sh: New file.
71773         * tests/test-btowc2.sh: New file.
71774         * tests/test-btowc.c: New file.
71776         New module 'btowc'.
71777         * lib/wchar.in.h (btowc): New declaration.
71778         * lib/btowc.c: New file.
71779         * m4/btowc.m4: New file.
71780         * modules/btowc: New file.
71781         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71782         HAVE_BTOWC.
71783         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71784         * doc/posix-functions/btowc.texi: Document the new module.
71786 2008-12-17  Bruno Haible  <bruno@clisp.org>
71788         New module 'mbsinit'.
71789         * lib/wchar.in.h (mbsinit): New declaration.
71790         * lib/mbsinit.c: New file.
71791         * m4/mbsinit.m4: New file.
71792         * modules/mbsinit: New file.
71793         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71794         HAVE_MBSINIT.
71795         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71796         HAVE_MBSINIT.
71797         * doc/posix-functions/mbsinit.texi: Document the new module.
71799 2008-12-16  Bruno Haible  <bruno@clisp.org>
71801         * lib/unistd.in.h: Add comment.
71802         * tests/test-environ.c: Don't include <stdlib.h>.
71804 2008-12-16  Bruno Haible  <bruno@clisp.org>
71806         * lib/parse-duration.h (parse_duration): Document return value
71807         convention.
71808         * lib/parse-duration.c: Include specification header first. Add
71809         comments.
71810         (_): Remove macro.
71811         (parse_year_month_day, parse_hour_minute_second): Move side effects
71812         outside of strchr call.
71813         (parse_non_iso8601): Move side effects outside of isspace call.
71814         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71815         call.
71817 2008-12-16  Bruno Haible  <bruno@clisp.org>
71819         * tests/test-parse-duration.sh: Produce no output when the test
71820         succeeds.
71822 2008-12-16  Bruno Haible  <bruno@clisp.org>
71824         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71825         expressions.
71827 2008-12-15  Bruno Haible  <bruno@clisp.org>
71829         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71830         * doc/glibc-functions/flistxattr.texi: Likewise.
71831         * doc/glibc-functions/fopencookie.texi: Likewise.
71832         * doc/glibc-functions/fremovexattr.texi: Likewise.
71833         * doc/glibc-functions/fsetxattr.texi: Likewise.
71834         * doc/glibc-functions/getxattr.texi: Likewise.
71835         * doc/glibc-functions/lgetxattr.texi: Likewise.
71836         * doc/glibc-functions/listxattr.texi: Likewise.
71837         * doc/glibc-functions/llistxattr.texi: Likewise.
71838         * doc/glibc-functions/lremovexattr.texi: Likewise.
71839         * doc/glibc-functions/lsetxattr.texi: Likewise.
71840         * doc/glibc-functions/removexattr.texi: Likewise.
71841         * doc/glibc-functions/setxattr.texi: Likewise.
71842         * doc/posix-functions/open_memstream.texi: Likewise.
71844 2008-12-15  Eric Blake  <ebb9@byu.net>
71846         Update doc for cygwin 1.7.
71847         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71848         functions.
71849         * doc/posix-functions/fchmodat.texi: Likewise.
71850         * doc/posix-functions/fchownat.texi: Likewise.
71851         * doc/posix-functions/fdopendir.texi: Likewise.
71852         * doc/posix-functions/fmemopen.texi: Likewise.
71853         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71854         * doc/posix-functions/fstatat.texi: Likewise.
71855         * doc/posix-functions/futimens.texi: Likewise.
71856         * doc/posix-functions/gai_strerror.texi: Likewise.
71857         * doc/posix-functions/getaddrinfo.texi: Likewise.
71858         * doc/posix-functions/getnameinfo.texi: Likewise.
71859         * doc/posix-functions/if_freenameindex.texi: Likewise.
71860         * doc/posix-functions/if_indextoname.texi: Likewise.
71861         * doc/posix-functions/if_nameindex.texi: Likewise.
71862         * doc/posix-functions/if_nametoindex.texi: Likewise.
71863         * doc/posix-functions/insque.texi: Likewise.
71864         * doc/posix-functions/linkat.texi: Likewise.
71865         * doc/posix-functions/llrint.texi: Likewise.
71866         * doc/posix-functions/llrintf.texi: Likewise.
71867         * doc/posix-functions/llrintl.texi: Likewise.
71868         * doc/posix-functions/lockf.texi: Likewise.
71869         * doc/posix-functions/lrintl.texi: Likewise.
71870         * doc/posix-functions/mkdirat.texi: Likewise.
71871         * doc/posix-functions/mkfifoat.texi: Likewise.
71872         * doc/posix-functions/mknodat.texi: Likewise.
71873         * doc/posix-functions/mq_close.texi: Likewise.
71874         * doc/posix-functions/mq_getattr.texi: Likewise.
71875         * doc/posix-functions/mq_notify.texi: Likewise.
71876         * doc/posix-functions/mq_open.texi: Likewise.
71877         * doc/posix-functions/mq_receive.texi: Likewise.
71878         * doc/posix-functions/mq_send.texi: Likewise.
71879         * doc/posix-functions/mq_setattr.texi: Likewise.
71880         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71881         * doc/posix-functions/mq_timedsend.texi: Likewise.
71882         * doc/posix-functions/mq_unlink.texi: Likewise.
71883         * doc/posix-functions/open_memstream.texi: Likewise.
71884         * doc/posix-functions/openat.texi: Likewise.
71885         * doc/posix-functions/posix_fadvise.texi: Likewise.
71886         * doc/posix-functions/posix_fallocate.texi: Likewise.
71887         * doc/posix-functions/posix_madvise.texi: Likewise.
71888         * doc/posix-functions/posix_memalign.texi: Likewise.
71889         * doc/posix-functions/posix_openpt.texi: Likewise.
71890         * doc/posix-functions/readlinkat.texi: Likewise.
71891         * doc/posix-functions/remque.texi: Likewise.
71892         * doc/posix-functions/renameat.texi: Likewise.
71893         * doc/posix-functions/rintl.texi: Likewise.
71894         * doc/posix-functions/sem_unlink.texi: Likewise.
71895         * doc/posix-functions/shm_open.texi: Likewise.
71896         * doc/posix-functions/shm_unlink.texi: Likewise.
71897         * doc/posix-functions/signgam.texi: Likewise.
71898         * doc/posix-functions/sigset.texi: Likewise.
71899         * doc/posix-functions/stpcpy.texi: Likewise.
71900         * doc/posix-functions/stpncpy.texi: Likewise.
71901         * doc/posix-functions/strerror.texi: Likewise.
71902         * doc/posix-functions/strtod.texi: Likewise.
71903         * doc/posix-functions/symlinkat.texi: Likewise.
71904         * doc/posix-functions/unlinkat.texi: Likewise.
71905         * doc/posix-functions/utimensat.texi: Likewise.
71906         * doc/glibc-functions/bindresvport.texi: Likewise.
71907         * doc/glibc-functions/dn_expand.texi: Likewise.
71908         * doc/glibc-functions/exp10.texi: Likewise.
71909         * doc/glibc-functions/exp10f.texi: Likewise.
71910         * doc/glibc-functions/fgetxattr.texi: Likewise.
71911         * doc/glibc-functions/flistxattr.texi: Likewise.
71912         * doc/glibc-functions/fopencookie.texi: Likewise.
71913         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71914         * doc/glibc-functions/fremovexattr.texi: Likewise.
71915         * doc/glibc-functions/fsetxattr.texi: Likewise.
71916         * doc/glibc-functions/getifaddrs.texi: Likewise.
71917         * doc/glibc-functions/getxattr.texi: Likewise.
71918         * doc/glibc-functions/lgetxattr.texi: Likewise.
71919         * doc/glibc-functions/listxattr.texi: Likewise.
71920         * doc/glibc-functions/llistxattr.texi: Likewise.
71921         * doc/glibc-functions/lremovexattr.texi: Likewise.
71922         * doc/glibc-functions/lsetxattr.texi: Likewise.
71923         * doc/glibc-functions/pow10.texi: Likewise.
71924         * doc/glibc-functions/pow10f.texi: Likewise.
71925         * doc/glibc-functions/rcmd_af.texi: Likewise.
71926         * doc/glibc-functions/removexattr.texi: Likewise.
71927         * doc/glibc-functions/res_init.texi: Likewise.
71928         * doc/glibc-functions/res_mkquery.texi: Likewise.
71929         * doc/glibc-functions/res_query.texi: Likewise.
71930         * doc/glibc-functions/res_querydomain.texi: Likewise.
71931         * doc/glibc-functions/res_send.texi: Likewise.
71932         * doc/glibc-functions/rresvport_af.texi: Likewise.
71933         * doc/glibc-functions/setxattr.texi: Likewise.
71934         * doc/glibc-functions/strcasestr.texi: Likewise.
71936 2008-12-15  Bruno Haible  <bruno@clisp.org>
71938         Fix compilation error on OSF/1 4.0.
71939         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71940         <sys/time.h>, simply delegate to the system header.
71941         Reported by Daniel Richard G. <oss@teragram.com>.
71943 2008-12-15  Bruno Haible  <bruno@clisp.org>
71945         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71946         * doc/posix-functions/fchmodat.texi: Likewise.
71947         * doc/posix-functions/fchownat.texi: Likewise.
71948         * doc/posix-functions/fdopendir.texi: Likewise.
71949         * doc/posix-functions/fstatat.texi: Likewise.
71950         * doc/posix-functions/mkdirat.texi: Likewise.
71951         * doc/posix-functions/unlinkat.texi: Likewise.
71953 2008-12-14  Bruno Haible  <bruno@clisp.org>
71955         Update doc for POSIX:2008.
71956         * doc/posix-functions/faccessat.texi: New file.
71957         * doc/posix-functions/fchmodat.texi: New file.
71958         * doc/posix-functions/fchownat.texi: New file.
71959         * doc/posix-functions/fdopendir.texi: New file.
71960         * doc/posix-functions/fstatat.texi: New file.
71961         * doc/posix-functions/futimens.texi: New file.
71962         * doc/posix-functions/linkat.texi: New file.
71963         * doc/posix-functions/mkdirat.texi: New file.
71964         * doc/posix-functions/mkfifoat.texi: New file.
71965         * doc/posix-functions/mknodat.texi: New file.
71966         * doc/posix-functions/open_wmemstream.texi: New file.
71967         * doc/posix-functions/openat.texi: New file.
71968         * doc/posix-functions/psiginfo.texi: New file.
71969         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
71970         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
71971         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
71972         * doc/posix-functions/readlinkat.texi: New file.
71973         * doc/posix-functions/renameat.texi: New file.
71974         * doc/posix-functions/strerror_l.texi: New file.
71975         * doc/posix-functions/symlinkat.texi: New file.
71976         * doc/posix-functions/unlinkat.texi: New file.
71977         * doc/posix-functions/utimensat.texi: New file.
71978         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71980 2008-12-14  Bruno Haible  <bruno@clisp.org>
71982         Update doc for POSIX:2008.
71983         * doc/posix-functions/alphasort.texi: Renamed from
71984         doc/glibc-functions/alphasort.texi.
71985         * doc/posix-functions/dirfd.texi: Renamed from
71986         doc/glibc-functions/dirfd.texi.
71987         * doc/posix-functions/dprintf.texi: Renamed from
71988         doc/glibc-functions/dprintf.texi.
71989         * doc/posix-functions/duplocale.texi: Renamed from
71990         doc/glibc-functions/duplocale.texi.
71991         * doc/posix-functions/fexecve.texi: Renamed from
71992         doc/glibc-functions/fexecve.texi.
71993         * doc/posix-functions/fmemopen.texi: Renamed from
71994         doc/glibc-functions/fmemopen.texi.
71995         * doc/posix-functions/freelocale.texi: Renamed from
71996         doc/glibc-functions/freelocale.texi.
71997         * doc/posix-functions/getdate_err.texi: Renamed from
71998         doc/glibc-functions/getdate_err.texi.
71999         * doc/posix-functions/isalnum_l.texi: Renamed from
72000         doc/glibc-functions/isalnum_l.texi.
72001         * doc/posix-functions/isalpha_l.texi: Renamed from
72002         doc/glibc-functions/isalpha_l.texi.
72003         * doc/posix-functions/isblank_l.texi: Renamed from
72004         doc/glibc-functions/isblank_l.texi.
72005         * doc/posix-functions/iscntrl_l.texi: Renamed from
72006         doc/glibc-functions/iscntrl_l.texi.
72007         * doc/posix-functions/isdigit_l.texi: Renamed from
72008         doc/glibc-functions/isdigit_l.texi.
72009         * doc/posix-functions/isgraph_l.texi: Renamed from
72010         doc/glibc-functions/isgraph_l.texi.
72011         * doc/posix-functions/islower_l.texi: Renamed from
72012         doc/glibc-functions/islower_l.texi.
72013         * doc/posix-functions/isprint_l.texi: Renamed from
72014         doc/glibc-functions/isprint_l.texi.
72015         * doc/posix-functions/ispunct_l.texi: Renamed from
72016         doc/glibc-functions/ispunct_l.texi.
72017         * doc/posix-functions/isspace_l.texi: Renamed from
72018         doc/glibc-functions/isspace_l.texi.
72019         * doc/posix-functions/isupper_l.texi: Renamed from
72020         doc/glibc-functions/isupper_l.texi.
72021         * doc/posix-functions/iswalnum_l.texi: Renamed from
72022         doc/glibc-functions/iswalnum_l.texi.
72023         * doc/posix-functions/iswalpha_l.texi: Renamed from
72024         doc/glibc-functions/iswalpha_l.texi.
72025         * doc/posix-functions/iswblank_l.texi: Renamed from
72026         doc/glibc-functions/iswblank_l.texi.
72027         * doc/posix-functions/iswcntrl_l.texi: Renamed from
72028         doc/glibc-functions/iswcntrl_l.texi.
72029         * doc/posix-functions/iswctype_l.texi: Renamed from
72030         doc/glibc-functions/iswctype_l.texi.
72031         * doc/posix-functions/iswdigit_l.texi: Renamed from
72032         doc/glibc-functions/iswdigit_l.texi.
72033         * doc/posix-functions/iswgraph_l.texi: Renamed from
72034         doc/glibc-functions/iswgraph_l.texi.
72035         * doc/posix-functions/iswlower_l.texi: Renamed from
72036         doc/glibc-functions/iswlower_l.texi.
72037         * doc/posix-functions/iswprint_l.texi: Renamed from
72038         doc/glibc-functions/iswprint_l.texi.
72039         * doc/posix-functions/iswpunct_l.texi: Renamed from
72040         doc/glibc-functions/iswpunct_l.texi.
72041         * doc/posix-functions/iswspace_l.texi: Renamed from
72042         doc/glibc-functions/iswspace_l.texi.
72043         * doc/posix-functions/iswupper_l.texi: Renamed from
72044         doc/glibc-functions/iswupper_l.texi.
72045         * doc/posix-functions/iswxdigit_l.texi: Renamed from
72046         doc/glibc-functions/iswxdigit_l.texi.
72047         * doc/posix-functions/isxdigit_l.texi: Renamed from
72048         doc/glibc-functions/isxdigit_l.texi.
72049         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
72050         doc/glibc-functions/mbsnrtowcs.texi.
72051         * doc/posix-functions/mkdtemp.texi: Renamed from
72052         doc/glibc-functions/mkdtemp.texi.
72053         * doc/posix-functions/newlocale.texi: Renamed from
72054         doc/glibc-functions/newlocale.texi.
72055         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
72056         doc/glibc-functions/nl_langinfo_l.texi.
72057         * doc/posix-functions/open_memstream.texi: Renamed from
72058         doc/glibc-functions/open_memstream.texi.
72059         * doc/posix-functions/opterr.texi: Renamed from
72060         doc/glibc-functions/opterr.texi.
72061         * doc/posix-functions/optind.texi: Renamed from
72062         doc/glibc-functions/optind.texi.
72063         * doc/posix-functions/optopt.texi: Renamed from
72064         doc/glibc-functions/optopt.texi.
72065         * doc/posix-functions/psignal.texi: Renamed from
72066         doc/glibc-functions/psignal.texi.
72067         * doc/posix-functions/scandir.texi: Renamed from
72068         doc/glibc-functions/scandir.texi.
72069         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
72070         doc/glibc-functions/sched_get_priority_min.texi.
72071         * doc/posix-functions/signgam.texi: Renamed from
72072         doc/glibc-functions/signgam.texi.
72073         * doc/posix-functions/stpcpy.texi: Renamed from
72074         doc/glibc-functions/stpcpy.texi.
72075         * doc/posix-functions/stpncpy.texi: Renamed from
72076         doc/glibc-functions/stpncpy.texi.
72077         * doc/posix-functions/strcasecmp_l.texi: Renamed from
72078         doc/glibc-functions/strcasecmp_l.texi.
72079         * doc/posix-functions/strcoll_l.texi: Renamed from
72080         doc/glibc-functions/strcoll_l.texi.
72081         * doc/posix-functions/strfmon_l.texi: Renamed from
72082         doc/glibc-functions/strfmon_l.texi.
72083         * doc/posix-functions/strftime_l.texi: Renamed from
72084         doc/glibc-functions/strftime_l.texi.
72085         * doc/posix-functions/strncasecmp_l.texi: Renamed from
72086         doc/glibc-functions/strncasecmp_l.texi.
72087         * doc/posix-functions/strndup.texi: Renamed from
72088         doc/glibc-functions/strndup.texi.
72089         * doc/posix-functions/strnlen.texi: Renamed from
72090         doc/glibc-functions/strnlen.texi.
72091         * doc/posix-functions/strsignal.texi: Renamed from
72092         doc/glibc-functions/strsignal.texi.
72093         * doc/posix-functions/strxfrm_l.texi: Renamed from
72094         doc/glibc-functions/strxfrm_l.texi.
72095         * doc/posix-functions/timer_gettime.texi: Renamed from
72096         doc/glibc-functions/timer_gettime.texi.
72097         * doc/posix-functions/tolower_l.texi: Renamed from
72098         doc/glibc-functions/tolower_l.texi.
72099         * doc/posix-functions/toupper_l.texi: Renamed from
72100         doc/glibc-functions/toupper_l.texi.
72101         * doc/posix-functions/towctrans_l.texi: Renamed from
72102         doc/glibc-functions/towctrans_l.texi.
72103         * doc/posix-functions/towlower_l.texi: Renamed from
72104         doc/glibc-functions/towlower_l.texi.
72105         * doc/posix-functions/towupper_l.texi: Renamed from
72106         doc/glibc-functions/towupper_l.texi.
72107         * doc/posix-functions/uselocale.texi: Renamed from
72108         doc/glibc-functions/uselocale.texi.
72109         * doc/posix-functions/vdprintf.texi: Renamed from
72110         doc/glibc-functions/vdprintf.texi.
72111         * doc/posix-functions/wcpcpy.texi:
72112         Renamed from doc/glibc-functions/wcpcpy.texi.
72113         * doc/posix-functions/wcpncpy.texi: Renamed from
72114         doc/glibc-functions/wcpncpy.texi.
72115         * doc/posix-functions/wcscasecmp.texi: Renamed from
72116         doc/glibc-functions/wcscasecmp.texi.
72117         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
72118         doc/glibc-functions/wcscasecmp_l.texi.
72119         * doc/posix-functions/wcscoll_l.texi: Renamed from
72120         doc/glibc-functions/wcscoll_l.texi.
72121         * doc/posix-functions/wcsdup.texi: Renamed from
72122         doc/glibc-functions/wcsdup.texi.
72123         * doc/posix-functions/wcsncasecmp.texi: Renamed from
72124         doc/glibc-functions/wcsncasecmp.texi.
72125         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
72126         doc/glibc-functions/wcsncasecmp_l.texi.
72127         * doc/posix-functions/wcsnlen.texi: Renamed from
72128         doc/glibc-functions/wcsnlen.texi.
72129         * doc/posix-functions/wcsnrtombs.texi: Renamed from
72130         doc/glibc-functions/wcsnrtombs.texi.
72131         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
72132         doc/glibc-functions/wcsxfrm_l.texi.
72133         * doc/posix-functions/wctrans_l.texi: Renamed from
72134         doc/glibc-functions/wctrans_l.texi.
72135         * doc/posix-functions/wctype_l.texi: Renamed from
72136         doc/glibc-functions/wctype_l.texi.
72137         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72138         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
72139         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
72140         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
72141         these subsections.
72142         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
72143         Remove sections.
72145 2008-12-14  Bruno Haible  <bruno@clisp.org>
72147         Update doc for POSIX:2008.
72148         * doc/posix-functions/*.texi: Update URL of POSIX specification.
72150 2008-12-14  Bruno Haible  <bruno@clisp.org>
72152         Update doc for POSIX:2008.
72153         * doc/pastposix-functions/bcmp.texi: Renamed from
72154         doc/posix-functions/bcmp.texi.
72155         * doc/pastposix-functions/bcopy.texi: Renamed from
72156         doc/posix-functions/bcopy.texi.
72157         * doc/pastposix-functions/bsd_signal.texi: Renamed from
72158         doc/posix-functions/bsd_signal.texi.
72159         * doc/pastposix-functions/bzero.texi: Renamed from
72160         doc/posix-functions/bzero.texi.
72161         * doc/pastposix-functions/ecvt.texi: Renamed from
72162         doc/posix-functions/ecvt.texi.
72163         * doc/pastposix-functions/fcvt.texi: Renamed from
72164         doc/posix-functions/fcvt.texi.
72165         * doc/pastposix-functions/ftime.texi: Renamed from
72166         doc/posix-functions/ftime.texi.
72167         * doc/pastposix-functions/gcvt.texi: Renamed from
72168         doc/posix-functions/gcvt.texi.
72169         * doc/pastposix-functions/getcontext.texi: Renamed from
72170         doc/posix-functions/getcontext.texi.
72171         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
72172         doc/posix-functions/gethostbyaddr.texi.
72173         * doc/pastposix-functions/gethostbyname.texi: Renamed from
72174         doc/posix-functions/gethostbyname.texi.
72175         * doc/pastposix-functions/getwd.texi: Renamed from
72176         doc/posix-functions/getwd.texi.
72177         * doc/pastposix-functions/h_errno.texi: Renamed from
72178         doc/posix-functions/h_errno.texi.
72179         * doc/pastposix-functions/index.texi: Renamed from
72180         doc/posix-functions/index.texi.
72181         * doc/pastposix-functions/makecontext.texi: Renamed from
72182         doc/posix-functions/makecontext.texi.
72183         * doc/pastposix-functions/mktemp.texi: Renamed from
72184         doc/posix-functions/mktemp.texi.
72185         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
72186         doc/posix-functions/pthread_attr_getstackaddr.texi.
72187         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
72188         doc/posix-functions/pthread_attr_setstackaddr.texi.
72189         * doc/pastposix-functions/rindex.texi: Renamed from
72190         doc/posix-functions/rindex.texi.
72191         * doc/pastposix-functions/scalb.texi: Renamed from
72192         doc/posix-functions/scalb.texi.
72193         * doc/pastposix-functions/setcontext.texi: Renamed from
72194         doc/posix-functions/setcontext.texi.
72195         * doc/pastposix-functions/swapcontext.texi: Renamed from
72196         doc/posix-functions/swapcontext.texi.
72197         * doc/pastposix-functions/ualarm.texi: Renamed from
72198         doc/posix-functions/ualarm.texi.
72199         * doc/pastposix-functions/usleep.texi: Renamed from
72200         doc/posix-functions/usleep.texi.
72201         * doc/pastposix-functions/vfork.texi: Renamed from
72202         doc/posix-functions/vfork.texi.
72203         * doc/pastposix-functions/wcswcs.texi: Renamed from
72204         doc/posix-functions/wcswcs.texi.
72205         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
72206         (Function Substitutes): Update.
72208 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72210         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
72211         m4/strerror.m4.
72213 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72214             Bruno Haible  <bruno@clisp.org>
72216         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
72218 2008-12-13  Bruno Haible  <bruno@clisp.org>
72220         * modules/strtoull (Depends-on): Remove unistd.
72222 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72224         * modules/strtoull (Depends-on): Add stdlib.
72226 2008-12-11  Simon Josefsson  <simon@josefsson.org>
72228         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
72230 2008-12-10  Jim Meyering  <meyering@redhat.com>
72232         gl_ASSERT: don't say assertions are disabled when they're not
72233         * m4/assert.m4 (gl_ASSERT): Do not make configure report
72234         "checking whether to enable assertions... no", when they are in
72235         fact enabled.  This is solely a bug in the output of configure.
72236         In spite of saying "no", NDEBUG was not defined in that case.
72237         Also, as noted by Eric Blake, leave assertions enabled upon
72238         --enable-assert=INVALID.
72240 2008-12-10  Bruno Haible  <bruno@clisp.org>
72242         Change MODULES.html to refer to POSIX:2008 where possible.
72243         * MODULES.html.sh (POSIX2008_URL): New variable.
72244         (posix_headers): Remove sys/timeb, ucontext.
72245         (posix2001_headers): New variable.
72246         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
72247         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
72248         index, makecontext, mktemp, pthread_attr_getstackaddr,
72249         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
72250         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
72251         (posix2001_functions): New variable.
72252         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
72253         otherwise.
72255 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72257         add missing include to parse-duration.c
72258         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
72259         * modules/parse-duration (Depends-on): Add xalloc.
72261         fix sed script reading maint.mk
72262         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
72263         (syntax-check-rules): Use it.
72265 2008-12-09  Bruno Haible  <bruno@clisp.org>
72267         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
72268         MacOS X 10.4/PowerPC.
72269         Reported by Simon Josefsson.
72271 2008-12-08  Jim Meyering  <meyering@redhat.com>
72273         work around mingw's lack of some S_IF definitions
72274         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
72275         Reported by Simon Josefsson.
72277 2008-12-08  Bruno Haible  <bruno@clisp.org>
72279         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
72280         applied to variables. Needed on MacOS X 10.4/PowerPC.
72281         Reported by Simon Josefsson.
72283 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
72284         and Eric Blake  <ebb9@byu.net>
72286         assert: honor --enable-assert
72287         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
72288         order to honor --enable-assert, rather than treating it as a
72289         synonym for --disable-assert.
72291 2008-12-08  Jim Meyering  <meyering@redhat.com>
72293         * lib/posixtm.c: Remove now-useless declaration of mktime.
72295         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
72297 2008-12-07  Bruno Haible  <bruno@clisp.org>
72299         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
72300         test_once): Mark functions as static.
72301         * tests/test-tls.c (test_tls): Likewise.
72303 2008-12-07  Bruno Haible  <bruno@clisp.org>
72305         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
72306         iconv_register_autodetect.
72308 2008-12-07  Jim Meyering  <meyering@redhat.com>
72310         posixtm.c: avoid a warning
72311         * lib/posixtm.c (posixtime): Don't initialize tm0.
72312         It's no longer needed to placate gcc4's -Wuninitialized,
72313         and the attempt to placate would elicit a new warning.
72315         unicodeio.c: mark unused parameters
72316         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72317         (fallback_failure_callback): Likewise.
72319 2008-12-07  Bruno Haible  <bruno@clisp.org>
72321         * gnulib-tool (func_create_testdir): When building the tests
72322         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
72323         Reported by Simon Josefsson.
72325 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72327         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
72329 2008-12-06  Bruno Haible  <bruno@clisp.org>
72331         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
72332         Suggested by Eric Blake.
72334 2008-12-06  Bruno Haible  <bruno@clisp.org>
72336         Fix a c-stack test failure on MacOS X.
72337         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
72338         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
72339         handler for SIGBUS as well.
72340         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
72341         install a signal handler for SIGBUS as well.
72342         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
72344 2008-12-06  Bruno Haible  <bruno@clisp.org>
72346         Advocacy documentation.
72347         * doc/gnulib-intro.texi (Benefits): New section.
72348         * doc/gnulib.texi: Update.
72350 2008-12-06  Bruno Haible  <bruno@clisp.org>
72352         Document the 'manywarnings' module.
72353         * doc/manywarnings.texi: New file.
72354         * doc/gnulib.texi: Include it.
72356 2008-12-05  Eric Blake  <ebb9@byu.net>
72358         tests: silence some gcc warnings
72359         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
72360         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
72361         type mismatches.
72363 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72364             Bruno Haible  <bruno@clisp.org>
72366         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
72368 2008-11-29  Jim Meyering  <meyering@redhat.com>
72370         unicodeio.c: mark unused parameters
72371         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72372         (fallback_failure_callback): Likewise.
72374         fts: fix a thinko
72375         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
72376         (set_stat_type): Return S_IF*-valued "type" directly.
72377         Prompted by James Youngman's spotting a related bug.
72378         Confirmed by further testing through find.
72380         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
72381         * lib/fts.c (D_TYPE): Define.
72382         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
72383         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
72384         (s_ifmt_shift_bits): New function.
72385         (set_stat_type): New function.
72386         (fts_build): When not calling fts_stat, call set_stat_type
72387         to propagate dirent.d_type info to fts_read caller.
72388         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
72389         fts_statp->st_mode type information may be valid.
72391 2008-11-28  Simon Josefsson  <simon@josefsson.org>
72393         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
72394         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
72395         <sds@gnu.org>.
72397 2008-11-20  Bruno Haible  <bruno@clisp.org>
72399         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
72400         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
72401         INCLUDE_NEXT.
72402         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
72403         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
72404         * modules/math (Makefile.am): Substitute
72405         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
72406         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72408 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
72409             Bruno Haible  <bruno@clisp.org>
72411         * lib/stdint.in.h: Define all type macros so that their expansion is
72412         a single typedef'ed token. Fixes a compilation failure in Boost which
72413         does "using ::int8_t;".
72415 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72417         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
72418         gl_MANYWARN_ALL_GCC.
72419         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
72420         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
72421         * modules/manywarnings: New file.
72422         * MODULES.html.sh: Mention manywarnings module.
72424 2008-11-18  Bruno Haible  <bruno@clisp.org>
72426         * doc/gnulib-tool.texi (Unit tests): New section.
72428 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72430         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
72431         paths like 'lib/po/foo.po'.
72433 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72435         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
72436         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
72438 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72440         * m4/warnings.m4: Use CPPFLAGS to really check whether the
72441         parameter works.
72443 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72445         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
72447 2008-11-17  Bruce Korb  <bkorb@gnu.org>
72449         * modules/parse-duration-tests: New file.
72450         * tests/test-parse-duration.sh: New file.
72451         * tests/test-parse-duration.c: New file.
72453         New module 'parse-duration'.
72454         * lib/parse-duration.h: New file.
72455         * lib/parse-duration.c: New file.
72456         * modules/parse-duration: New file.
72458 2008-11-17  Bruno Haible  <bruno@clisp.org>
72460         * tests/test-select-out.sh: Comment out the first pipe test.
72461         Reported by Simon Josefsson.
72463 2008-11-17  Bruno Haible  <bruno@clisp.org>
72465         * modules/getaddrinfo (Depends-on): Add servent, hostent.
72466         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
72467         gl_HOSTENT.
72469 2008-11-17  Bruno Haible  <bruno@clisp.org>
72471         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
72472         -lnetwork and -lnet. Needed for Haiku and BeOS.
72474 2008-11-16  Bruno Haible  <bruno@clisp.org>
72476         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
72478 2008-11-16  Bruno Haible  <bruno@clisp.org>
72480         Avoid test failure on Haiku.
72481         * tests/test-fsync.c: Include <errno.h>.
72482         (main): Don't require that fsync (0) fails.
72484 2008-11-15  Bruno Haible  <bruno@clisp.org>
72486         New module 'hostent'.
72487         * modules/hostent: New file.
72488         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
72490 2008-11-15  Bruno Haible  <bruno@clisp.org>
72492         New module 'servent'.
72493         * modules/servent: New file.
72494         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
72496 2008-11-15  Bruno Haible  <bruno@clisp.org>
72498         Avoid generating same test program with two different rules.
72499         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
72500         test-frexp to test-frexp-nolibm.
72501         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
72502         test-frexpl to test-frexpl-nolibm.
72504 2008-11-15  Bruno Haible  <bruno@clisp.org>
72506         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
72507         $(FREXPL_LIBM).
72509 2008-11-15  Bruno Haible  <bruno@clisp.org>
72511         * lib/netdb.in.h: Activate the definitions also when the system's
72512         <netdb.h> has 'struct addrinfo'.
72513         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
72514         EAI_OVERFLOW or AI_NUMERICSERV.
72515         * doc/posix-headers/netdb.texi: Document the problem.
72517 2008-11-15  Bruno Haible  <bruno@clisp.org>
72519         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
72521         Make the 'sched' module work on platforms where <sched.h> exists but
72522         is incomplete (such as Haiku).
72523         * lib/sched.in.h; Include the system's <sched.h> if it exists.
72524         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
72525         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
72526         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
72527         HAVE_STRUCT_SCHED_PARAM.
72528         * modules/sched (Depends-on): Add include_next.
72529         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
72530         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
72531         * doc/posix-headers/sched.texi: Document the issue.
72533 2008-11-13  Jim Meyering  <meyering@redhat.com>
72535         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
72536         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
72537         test would fail due to the difference in the Report bugs to ...
72538         line.  The expected address is empty, "<>", while the actual
72539         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
72541 2008-11-12  Bruno Haible  <bruno@clisp.org>
72543         lstat: don't compile lstat.c on systems lacking lstat
72544         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
72545         which don't have lstat; this is handled by lib/sys_stat.in.h already.
72546         Reported by Daniel P. Berrange via Jim Meyering.
72548 2008-11-12  Jim Meyering  <meyering@redhat.com>
72550         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
72552 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72554         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
72555         instead.
72557 2008-11-12  Bruno Haible  <bruno@clisp.org>
72559         * lib/unicodeio.c: Include unistr.h.
72560         (utf8_wctomb): Remove function.
72561         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
72563 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72565         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
72566         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
72567         <bruno@clisp.org>.
72568         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
72570 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72572         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
72573         * doc/gnulib.texi: Add section for warnings.
72575 2008-11-11  Bruno Haible  <bruno@clisp.org>
72577         * lib/sockets.h: Add a comment.
72579 2008-11-11  Karl Berry  <karl@gnu.org>
72581         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
72583 2008-11-11  Eric Blake  <ebb9@byu.net>
72585         fdl.texi: avoid git symlinks
72586         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
72588 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72590         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
72592 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72594         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
72595         (gl_WARN_ADD): Substitute $2 if literal.
72597 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72599         * m4/warning.m4: Remove.
72601 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72603         * m4/warnings.m4: Almost complete rewrite. :-)
72605 2008-11-10  Simon Josefsson  <simon@josefsson.org>
72607         * modules/warnings: New module.
72608         * m4/warnings.m4: New file.
72609         * MODULES.html.sh: Mention warnings module.
72610         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
72611         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72613 2008-11-10  Eric Blake  <ebb9@byu.net>
72615         fdl.texi: make a symlink to the latest version
72616         * doc/standards.texi: Revert today's earlier change.
72617         * doc/fdl-1.2.texi: Rename from old fdl.texi...
72618         * doc/fdl.texi: ...and replace this with a symlink to the newer
72619         fdl-1.3.texi.
72621 2008-11-10  Bruno Haible  <bruno@clisp.org>
72623         * tests/test-select-fd.c (main): Accept the result file name as fourth
72624         argument.
72625         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
72626         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
72628 2008-11-10  Bruno Haible  <bruno@clisp.org>
72630         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
72631         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
72632         as autoconf-substituted macros.
72633         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
72634         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
72635         gl_NETDB_H_DEFAULTS. Set these variables.
72636         * modules/netdb (Makefile.am): Substitute these variables.
72638 2008-11-10  Eric Blake  <ebb9@byu.net>
72640         standards.texi: include correct file for FDL 1.3
72641         * doc/standards.texi (GNU Free Documentation License): Change
72642         include file to pull in FDL 1.3, not 1.2.
72644         fdl.texi: revert accidental change to license
72645         * doc/fdl.texi: This is FDL 1.2, not 1.3.
72647 2008-11-10  Bruno Haible  <bruno@clisp.org>
72649         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
72650         cross-compiling guesses also when the native compile gives no result.
72652 2008-11-10  Bruno Haible  <bruno@clisp.org>
72654         * lib/spawni.c (__spawni): Force variable into the stack.
72656 2008-11-10  Bruno Haible  <bruno@clisp.org>
72658         Add support for Haiku.
72659         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
72660         glibc and BeOS, but also on Haiku.
72661         * lib/fpurge.c (fpurge): Likewise.
72662         * lib/freadable.c (freadable): Likewise.
72663         * lib/freadahead.c (freadahead): Likewise.
72664         * lib/freading.c (freading): Likewise.
72665         * lib/freadptr.c (freadptr): Likewise.
72666         * lib/freadseek.c (freadptrinc): Likewise.
72667         * lib/fseeko.c (rpl_fseeko): Likewise.
72668         * lib/fseterr.c (fseterr): Likewise.
72669         * lib/fwritable.c (fwritable): Likewise.
72670         * lib/fwriting.c (fwriting): Likewise.
72671         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
72673 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72675         * lib/config.charset: Treat Haiku like BeOS.
72677 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72679         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
72680         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
72682 2008-11-08  Bruno Haible  <bruno@clisp.org>
72684         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
72685         AC_CACHE_CHECK.
72687 2008-11-08  Bruno Haible  <bruno@clisp.org>
72689         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
72691 2008-11-08  Bruno Haible  <bruno@clisp.org>
72693         * tests/test-select-fd.c: New file.
72694         * tests/test-select-in.sh: New file.
72695         * tests/test-select-out.sh: New file.
72696         * tests/test-select-stdin.c: New file.
72697         * modules/select-tests (Files): Add the new files.
72698         (Depends-on): Add gettimeofday.
72699         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
72700         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
72701         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
72703 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
72704             Bruno Haible  <bruno@clisp.org>
72706         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
72708 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
72710         * build-aux/pmccabe2html: Added support for C++ source files.
72712 2008-11-05  Ben Pfaff  <blp@gnu.org>
72714         Fix lib/close.c build on Windows.
72715         * modules/close (Files): Add lib/w32sock.h.
72717 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
72719         Accept Bison's NEWS format.
72720         * build-aux/announce-gen (print_news_deltas): Tweak
72721         $re_prefix.
72723 2008-11-04  Bruno Haible  <bruno@clisp.org>
72725         * modules/random_r (Maintainer): Add glibc.
72727 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72729         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
72730         by karl@freefriends.org (Karl Berry).
72731         * doc/alloca.texi: Likewise.
72732         * doc/c-ctype.texi: Likewise.
72733         * doc/c-strcase.texi: Likewise.
72734         * doc/c-strcaseeq.texi: Likewise.
72735         * doc/c-strcasestr.texi: Likewise.
72736         * doc/c-strstr.texi: Likewise.
72737         * doc/c-strtod.texi: Likewise.
72738         * doc/c-strtold.texi: Likewise.
72739         * doc/ctime.texi: Likewise.
72740         * doc/error.texi: Likewise.
72741         * doc/fdl.texi: Likewise.
72742         * doc/gcd.texi: Likewise.
72743         * doc/getdate.texi: Likewise.
72744         * doc/gnulib-intro.texi: Likewise.
72745         * doc/gnulib-tool.texi: Likewise.
72746         * doc/gnulib.texi: Likewise.
72747         * doc/inet_ntoa.texi: Likewise.
72748         * doc/maintain.texi: Likewise.
72749         * doc/make-stds.texi: Likewise.
72750         * doc/quote.texi: Likewise.
72751         * doc/regexprops-generic.texi: Likewise.
72752         * doc/standards.texi: Likewise.
72753         * doc/verify.texi: Likewise.
72754         * doc/visibility.texi: Likewise.
72755         * doc/gnulib.texi (GNU Free Documentation License): Include
72756         fdl-1.3.texi instead of fdl.texi.
72758 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72760         * doc/fdl-1.3.texi: New file, from
72761         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72762         * modules/fdl-1.3: Add.
72763         * MODULES.html.sh: Add fdl-1.3.
72765 2008-11-03  Bruno Haible  <bruno@clisp.org>
72767         Make determination of absolute name of header file work with AIX xlc.
72768         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72769         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72770         preprocessing.
72771         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72772         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72774 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72776         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72777         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72778         <ludo@gnu.org>.
72780 2008-11-02  Bruno Haible  <bruno@clisp.org>
72782         Mark 'strpbrk' obsolete.
72783         * modules/strpbrk (Status, Notice): New sections.
72784         * modules/strtok_r (Depends-on): Add strpbrk.
72786 2008-11-02  Bruno Haible  <bruno@clisp.org>
72788         Mark 'strdup' obsolete.
72789         * modules/strdup (Status, Notice): New sections.
72790         * modules/findprog (Depends-on): Add strdup.
72791         * modules/getaddrinfo (Depends-on): Likewise.
72792         * modules/localename (Depends-on): Likewise.
72793         * modules/relocatable-lib (Depends-on): Likewise.
72794         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72795         * modules/relocatable-prog (Depends-on): Likewise.
72796         * modules/trim (Depends-on): Likewise.
72797         * modules/unictype/gen-ctype (Depends-on): Likewise.
72798         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72800 2008-11-02  Bruno Haible  <bruno@clisp.org>
72802         Mark 'strcspn' obsolete.
72803         * modules/strcspn (Status, Notice): New sections.
72805 2008-11-02  Bruno Haible  <bruno@clisp.org>
72807         Mark 'rmdir' obsolete.
72808         * modules/rmdir (Status, Notice): New sections.
72809         * modules/clean-temp (Depends-on): Add rmdir.
72810         * modules/openat (Depends-on): Likewise.
72812 2008-11-02  Bruno Haible  <bruno@clisp.org>
72814         Mark 'raise' obsolete.
72815         * modules/raise (Status, Notice): New sections.
72816         (Include): Specify <signal.h>.
72817         * modules/stdio (Depends-on): Add raise.
72818         * modules/write (Depends-on): Likewise.
72820 2008-11-02  Bruno Haible  <bruno@clisp.org>
72822         Mark 'memset' obsolete.
72823         * modules/memset (Status, Notice): New sections.
72825 2008-11-02  Bruno Haible  <bruno@clisp.org>
72827         Mark 'memmove' obsolete.
72828         * modules/memmove (Status, Notice): New sections.
72829         * modules/argp (Depends-on): Add memmove.
72830         * modules/argz (Depends-on): Likewise.
72831         * modules/canonicalize (Depends-on): Likewise.
72832         * modules/canonicalize-lgpl (Depends-on): Likewise.
72833         * modules/fts (Depends-on): Likewise.
72834         * modules/getcwd (Depends-on): Likewise.
72835         * modules/human (Depends-on): Likewise.
72836         * modules/regex (Depends-on): Likewise.
72837         * modules/striconveh (Depends-on): Likewise.
72838         * modules/trim (Depends-on): Likewise.
72839         * modules/unistr/u8-move (Depends-on): Likewise.
72840         * modules/unistr/u16-move (Depends-on): Likewise.
72841         * modules/unistr/u32-move (Depends-on): Likewise.
72843 2008-11-02  Bruno Haible  <bruno@clisp.org>
72845         Mark 'memcpy' obsolete.
72846         * modules/memcpy (Status, Notice): New sections.
72848 2008-11-02  Bruno Haible  <bruno@clisp.org>
72850         Mark 'memcmp' obsolete.
72851         * modules/memcmp (Status, Notice): New sections.
72852         * modules/argmatch (Depends-on): Add memchr.
72853         * modules/backupfile (Depends-on): Likewise.
72854         * modules/c-strcasestr (Depends-on): Likewise.
72855         * modules/crypto/des (Depends-on): Likewise.
72856         * modules/csharpcomp (Depends-on): Likewise.
72857         * modules/fnmatch (Depends-on): Likewise.
72858         * modules/git-merge-changelog (Depends-on): Likewise.
72859         * modules/isnand (Depends-on): Likewise.
72860         * modules/isnand-nolibm (Depends-on): Likewise.
72861         * modules/isnanf (Depends-on): Likewise.
72862         * modules/isnanf-nolibm (Depends-on): Likewise.
72863         * modules/isnanl (Depends-on): Likewise.
72864         * modules/isnanl-nolibm (Depends-on): Likewise.
72865         * modules/mbchar (Depends-on): Likewise.
72866         * modules/memcoll (Depends-on): Likewise.
72867         * modules/quotearg (Depends-on): Likewise.
72868         * modules/regex (Depends-on): Likewise.
72869         * modules/relocatable-prog (Depends-on): Likewise.
72870         * modules/same (Depends-on): Likewise.
72871         * modules/signbit (Depends-on): Likewise.
72872         * modules/strcasestr-simple (Depends-on): Likewise.
72873         * modules/unictype/gen-ctype (Depends-on): Likewise.
72874         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72875         * modules/uniname/uniname (Depends-on): Likewise.
72876         * modules/unistr/u8-cmp (Depends-on): Likewise.
72878 2008-11-02  Bruno Haible  <bruno@clisp.org>
72880         Mark 'memchr' obsolete.
72881         * modules/memchr (Status, Notice): New sections.
72882         * modules/argp (Depends-on): Add memchr.
72883         * modules/base64 (Depends-on): Likewise.
72884         * modules/c-strcasestr (Depends-on): Likewise.
72885         * modules/chdir-long (Depends-on): Likewise.
72886         * modules/fnmatch (Depends-on): Likewise.
72887         * modules/getsubopt (Depends-on): Likewise.
72888         * modules/git-merge-changelog (Depends-on): Likewise.
72889         * modules/glob (Depends-on): Likewise.
72890         * modules/strcasestr-simple (Depends-on): Likewise.
72891         * modules/strnlen (Depends-on): Likewise.
72893 2008-11-02  Bruno Haible  <bruno@clisp.org>
72895         Mark 'atexit' obsolete.
72896         * modules/atexit (Status, Notice): New sections.
72897         * modules/chdir-long (Depends-on): Add atexit.
72898         * modules/wait-process (Depends-on): Likewise.
72900 2008-11-02  Bruno Haible  <bruno@clisp.org>
72902         * gnulib-tool: New option --with-obsolete.
72903         (func_usage): Document it.
72904         (func_modules_transitive_closure): Drop obsolete dependencies if
72905         incobsolete is not true.
72906         (func_import): Read and save the incobsolete variable to the cache.
72908 2008-11-02  Bruno Haible  <bruno@clisp.org>
72910         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72911         * gnulib-tool: New option --extract-status.
72912         (func_usage): Document it.
72913         (sed_extract_prog): Recognize it.
72914         (func_get_status): New function.
72916 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72918         * modules/sockets (License): Change from LGPL to LGPLv2+.
72920 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72922         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72924 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72926         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72927         Mention times and sys_times.
72928         * modules/sys_times, modules/sys_times-tests: New modules.
72929         * modules/times, modules/times-tests: Likewise
72930         * m4/sys_times_h.m4: New file.
72931         * lib/sys_times.in.h: Likewise
72932         * lib/times.c: Likewise.
72933         * tests/test-sys_times.c: Likewise.
72934         * tests/test-times.c: Likewise.
72935         * doc/posix-headers/sys_times.texi: Update.
72936         * doc/posix-functions/times.texi: Update.
72938 2008-10-28  Jim Meyering  <meyering@redhat.com>
72940         * modules/tempname (Depends-on): Add lstat.
72942         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72944 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72946         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72947         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72948         using idiom used elsewhere in gnulib.
72950 2008-10-27  Jim Meyering  <meyering@redhat.com>
72952         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72954 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72956         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72957         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72958         programs.
72959         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72961 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72963         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
72965 2008-10-27  Bruno Haible  <bruno@clisp.org>
72967         * tests/test-lstat.c: Include <stdio.h>.
72969 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72971         * modules/lstat-tests: New module.
72972         * tests/test-lstat.c: New file.
72974 2008-10-26  Jim Meyering  <meyering@redhat.com>
72976         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
72978 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72979             Bruno Haible  <bruno@clisp.org>
72981         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
72982         * modules/configmake (Include): Add a note that the include must come
72983         after all system headers.
72984         * lib/javaversion.c: Include configmake.h after all other includes.
72986 2008-10-26  Bruno Haible  <bruno@clisp.org>
72988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
72989         HAVE_STRUCT_RANDOM_DATA to 1.
72990         (gl_STDLIB_H): Simplify.
72992 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72994         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
72995         substitute HAVE_STRUCT_RANDOM_DATA.
72996         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
72997         random_data.
72998         * modules/stdlib (Makefile.am): Substitute
72999         HAVE_STRUCT_RANDOM_DATA.
73001 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73003         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
73004         * doc/gnulib-intro.texi (Copyright): Likewise.
73006 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73008         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
73009         findings.
73011 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
73012             Bruno Haible  <bruno@clisp.org>
73014         * lib/unistd.in.h: Include <winsock2.h>.
73015         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
73016         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
73017         Provide dummy declarations.
73018         (gethostname): Override.
73019         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
73020         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
73021         gl_PREREQ_SYS_H_WINSOCK2.
73022         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
73023         * doc/posix-functions/gethostname.texi: More details.
73025 2008-10-25  Bruno Haible  <bruno@clisp.org>
73027         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73028         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
73029         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
73031         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
73032         here ...
73033         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
73034         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
73035         gl_UNISTD_H_DEFAULTS.
73037 2008-10-25  Eric Blake  <ebb9@byu.net>
73039         signbit: avoid spurious compiler failure
73040         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
73041         declarations inside function.
73043 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73044             Bruno Haible  <bruno@clisp.org>
73046         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
73047         * modules/random_r (Depends-on): Add stdint.
73049 2008-10-24  Bruno Haible  <bruno@clisp.org>
73051         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
73052         Eggert.
73053         * modules/strerror (License): Likewise.
73055 2008-10-24  Jim Meyering  <meyering@redhat.com>
73057         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
73058         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
73060 2008-10-24  Eric Blake  <ebb9@byu.net>
73062         getgroups: fix compilation when getgroups is available
73063         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
73064         but with <config.h> override of getgroups disabled.
73066 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73068         * doc/gnulib.texi (Header files): Add note about C++ problems.
73069         Explained by Bruno Haible <bruno@clisp.org>.
73071 2008-10-23  Bruno Haible  <bruno@clisp.org>
73073         Define a dummy SA_NODEFER macro on Interix.
73074         * lib/signal.in.h (SA_NODEFER): Define fallback.
73075         Reported by Aleksey Cheusov <cheusov@tut.by> via
73076         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
73078 2008-10-23  Bruno Haible  <bruno@clisp.org>
73080         * modules/freadahead (License): Change to LGPLv2+.
73081         Suggested by Simon Josefsson.
73083 2008-10-23  Jim Meyering  <meyering@redhat.com>
73085         random_r: new module
73086         * modules/random_r: New file.
73087         * m4/random_r.m4: New file.
73088         * lib/random_r.c: New file, from glibc.
73089         * modules/random_r-tests: New file.
73090         * tests/test-random_r.c: New file.
73091         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
73092          Declare.
73093         (RAND_MAX): Define.
73094         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
73095         * modules/stdlib: Substitute them, too.
73096         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
73097         * doc/glibc-functions/initstate_r.texi: Mention the new module.
73098         * doc/glibc-functions/random_r.texi: Likewise.
73099         * doc/glibc-functions/setstate_r.texi: Likewise.
73100         * doc/glibc-functions/srandom_r.texi: Likewise.
73101         * config/srclist.txt: Mention it.
73103 2008-10-23  David Lutterkort  <lutter@redhat.com>
73105         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
73106         link requirement
73108 2008-10-23  Jim Meyering  <meyering@redhat.com>
73110         selinux-h: mark parameters of stub functions as intentionally unused
73111         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
73112         * lib/se-context.in.h: Likewise.
73114 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73116         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
73118 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73120         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
73122 2008-10-22  Eric Blake  <ebb9@byu.net>
73124         glthread/thread: avoid compiler warning
73125         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
73126         Add unreachable abort to silence compiler.
73128 2008-10-22  Eric Blake  <ebb9@byu.net>
73130         netdb: also supply struct addrinfo for cygwin 1.5.x
73131         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
73132         older cygwin.
73133         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
73134         cygwin.
73135         * doc/posix-headers/netdb.texi (netdb.h): Document this.
73137 2008-10-22  Bruno Haible  <bruno@clisp.org>
73139         * users.txt: Update entry about pspp.
73141 2008-10-21  Bruno Haible  <bruno@clisp.org>
73143         Simplification.
73144         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
73145         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
73147         Simplification.
73148         * lib/ioctl.c (ioctl): Don't undefine.
73149         * lib/socket.c (socket): Don't undefine.
73151         Remove unused module indicator macros.
73152         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
73153         GNULIB_$1 as a C macro.
73155         * doc/posix-functions/close.texi: Undo last change.
73156         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
73157         Windows platforms.
73159 2008-10-21  Bruno Haible  <bruno@clisp.org>
73161         Add gethostname() declaration to <unistd.h>.
73162         * lib/unistd.in.h (gethostname): New declaration.
73163         * lib/gethostname.c: Include <unistd.h>.
73164         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
73165         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
73166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
73167         and HAVE_GETHOSTNAME.
73168         * modules/gethostname (Depends-on): Add unistd.
73169         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73170         (Include): Specify <unistd.h>.
73171         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
73172         HAVE_GETHOSTNAME.
73173         * tests/test-gethostname.c: Include <unistd.h> first.
73175 2008-10-21  Bruno Haible  <bruno@clisp.org>
73177         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
73178         * modules/select-tests (Depends-on): Likewise.
73179         Reported by Simon Josefsson.
73181 2008-10-21  Simon Josefsson  <simon@josefsson.org>
73183         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
73184         * lib/accept.c: New file, based on winsock.c.
73185         * lib/bind.c: New file, based on winsock.c.
73186         * lib/connect.c: New file, based on winsock.c.
73187         * lib/getpeername.c: New file, based on winsock.c.
73188         * lib/getsockname.c: New file, based on winsock.c.
73189         * lib/getsockopt.c: New file, based on winsock.c.
73190         * lib/ioctl.c: New file, based on winsock.c.
73191         * lib/listen.c: New file, based on winsock.c.
73192         * lib/recv.c: New file, based on winsock.c.
73193         * lib/recvfrom.c: New file, based on winsock.c.
73194         * lib/send.c: New file, based on winsock.c.
73195         * lib/sendto.c: New file, based on winsock.c.
73196         * lib/setsockopt.c: New file, based on winsock.c.
73197         * lib/shutdown.c: New file, based on winsock.c.
73198         * lib/socket.c: New file, based on winsock.c.
73199         * lib/w32sock.h: New file, based on winsock.c.
73200         * lib/winsock.c: Remove file.
73201         * modules/accept: Likewise.
73202         * modules/bind: Likewise.
73203         * modules/connect: Likewise.
73204         * modules/getpeername: Likewise.
73205         * modules/getsockname: Likewise.
73206         * modules/getsockopt: Likewise.
73207         * modules/ioctl: Likewise.
73208         * modules/listen: Likewise.
73209         * modules/recv: Likewise.
73210         * modules/recvfrom: Likewise.
73211         * modules/send: Likewise.
73212         * modules/sendto: Likewise.
73213         * modules/setsockopt: Likewise.
73214         * modules/shutdown: Likewise.
73215         * modules/socket: Use socket.c instead of winsock.c.
73216         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
73217         * doc/posix-functions/accept.texi: Doc fix.
73218         * doc/posix-functions/bind.texi: Doc fix.
73219         * doc/posix-functions/close.texi: Doc fix.
73220         * doc/posix-functions/connect.texi: Doc fix.
73221         * doc/posix-functions/getpeername.texi: Doc fix.
73222         * doc/posix-functions/getsockname.texi: Doc fix.
73223         * doc/posix-functions/getsockopt.texi: Doc fix.
73224         * doc/posix-functions/ioctl.texi: Doc fix.
73225         * doc/posix-functions/listen.texi: Doc fix.
73226         * doc/posix-functions/recv.texi: Doc fix.
73227         * doc/posix-functions/recvfrom.texi: Doc fix.
73228         * doc/posix-functions/send.texi: Doc fix.
73229         * doc/posix-functions/sendto.texi: Doc fix.
73230         * doc/posix-functions/setsockopt.texi: Doc fix.
73231         * doc/posix-functions/shutdown.texi: Doc fix.
73232         * doc/posix-functions/socket.texi: Doc fix.
73234 2008-10-20  Bruno Haible  <bruno@clisp.org>
73236         Take into account the role of SIGABRT_COMPAT on Windows 2008.
73237         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
73238         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
73239         as an alias for SIGABRT.
73240         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
73241         (sigaction): Map it to SIGABRT.
73242         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
73244 2008-10-20  Bruno Haible  <bruno@clisp.org>
73246         * lib/fts.c: Don't include lstat.h.
73247         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
73249         Move the lstat() declaration to <sys/stat.h>.
73250         * lib/lstat.h: Remove file.
73251         * lib/sys_stat.in.h: Add special invocation convention.
73252         (lstat): New declaration.
73253         * lib/lstat.c (orig_lstat): New function.
73254         (rpl_lstat): Use orig_lstat instead of lstat.
73255         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
73256         AC_C_INLINE. Set REPLACE_LSTAT.
73257         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
73258         and REPLACE_LSTAT.
73259         * modules/lstat (Files): Remove lib/lstat.h.
73260         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73261         (Include): Specify <sys/stat.h> instead of lstat.h.
73262         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
73263         REPLACE_LSTAT.
73264         * NEWS: Mention the change.
73266 2008-10-20  Bruno Haible  <bruno@clisp.org>
73268         * modules/posix_spawn-tests: New file.
73269         * tests/test-posix_spawn3.c: New file.
73271 2008-10-20  Bruno Haible  <bruno@clisp.org>
73273         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
73274         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73275         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
73276         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73277         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
73279 2008-10-20  Bruno Haible  <bruno@clisp.org>
73281         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
73282         of posix_spawn on AIX 5.3.
73284 2008-10-20  Bruno Haible  <bruno@clisp.org>
73286         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
73288 2008-10-20  Bruno Haible  <bruno@clisp.org>
73290         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
73291         of AC_LANG_PROGRAM.
73293 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73295         * lib/netdb.in.h: Don't define GNU specific constants until they
73296         are supported or needed.  Reported by Bruno Haible
73297         <bruno@clisp.org>.
73299 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73301         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
73303 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73305         * lib/getaddrinfo.h: Remove file.
73306         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
73307         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
73308         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
73309         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
73310         * modules/netdb: Substitute GNULIB_GETADDRINFO.
73311         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
73312         * tests/test-getaddrinfo.c: Likewise.
73313         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
73314         * NEWS: Mention change.
73316 2008-10-19  Bruno Haible  <bruno@clisp.org>
73318         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
73320 2008-10-19  Bruno Haible  <bruno@clisp.org>
73322         * lib/wait-process.c: Include simply <sys/wait.h>.
73323         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
73324         WIFSTOPPED): Remove fallback definitions.
73325         * modules/wait-process (Depends-on): Add sys_wait.
73327         New module 'sys_wait'.
73328         * modules/sys_wait: New file.
73329         * lib/sys_wait.in.h: New file, partially copied from
73330         lib/wait-process.c.
73331         * m4/sys_wait_h.m4: New file.
73332         * doc/posix-headers/sys_wait.texi: Mention the new module.
73334 2008-10-19  Bruno Haible  <bruno@clisp.org>
73336         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
73338 2008-10-19  Bruno Haible  <bruno@clisp.org>
73340         Assume that waitpid() fills an 'int' status, not a 'union wait'.
73341         * lib/wait-process.c (WAIT_T): Remove type.
73342         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
73343         (wait_subprocess): Update.
73345 2008-10-19  Bruno Haible  <bruno@clisp.org>
73347         New module 'atoll'.
73348         * modules/atoll: New file.
73349         * lib/stdlib.in.h (atoll): New declaration.
73350         * lib/atoll.c: New file, from glibc with modifications.
73351         * m4/atoll.m4: New file.
73352         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
73353         HAVE_ATOLL.
73354         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
73355         * doc/posix-functions/atoll.texi: Mention the new module.
73357 2008-10-19  Bruno Haible  <bruno@clisp.org>
73359         Add strtoull() declaration to <stdlib.h>.
73360         * lib/stdlib.in.h (strtoull): New declaration.
73361         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73362         Set HAVE_STRTOULL.
73363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
73364         HAVE_STRTOULL.
73365         * modules/strtoull (Depends-on): Add stdlib.
73366         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73367         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
73368         HAVE_STRTOULL.
73370 2008-10-19  Bruno Haible  <bruno@clisp.org>
73372         Add strtoll() declaration to <stdlib.h>.
73373         * lib/stdlib.in.h (strtoll): New declaration.
73374         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73375         Set HAVE_STRTOLL.
73376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
73377         HAVE_STRTOLL.
73378         * modules/strtoll (Depends-on): Add stdlib.
73379         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73380         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
73382 2008-10-19  Bruno Haible  <bruno@clisp.org>
73384         * modules/bcopy (Depends-on): Add strings.
73385         (Include): Specify <strings.h>.
73387 2008-10-19  Bruno Haible  <bruno@clisp.org>
73389         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
73391 2008-10-19  Bruno Haible  <bruno@clisp.org>
73393         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
73394         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
73395         mingw.
73397 2008-10-19  Bruno Haible  <bruno@clisp.org>
73399         * lib/atanl.c: Don't include isnanl.h.
73400         * lib/cosl.c: Likewise.
73401         * lib/ldexpl.c: Likewise.
73402         * lib/logl.c: Likewise.
73403         * lib/sinl.c: Likewise.
73404         * lib/sqrtl.c: Likewise.
73405         * lib/tanl.c: Likewise.
73407         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
73408         * lib/isnanf.h: Remove file.
73409         * lib/isnand.h: Remove file.
73410         * lib/isnanl.h: Remove file.
73411         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
73412         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
73413         macros.
73414         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
73415         HAVE_ISNANF, don't define it as a C macro.
73416         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
73417         HAVE_ISNAND, don't define it as a C macro.
73418         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
73419         HAVE_ISNANL, don't define it as a C macro.
73420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
73421         HAVE_ISNAN[FDL].
73422         * modules/isnanf (Files): Remove lib/isnanf.h.
73423         (Depends-on): Add math.
73424         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73425         (Include): Specify <math.h> instead of isnanf.h.
73426         * modules/isnand (Files): Remove lib/isnand.h.
73427         (Depends-on): Add math.
73428         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73429         (Include): Specify <math.h> instead of isnand.h.
73430         * modules/isnanl (Files): Remove lib/isnanl.h.
73431         (Depends-on): Add math.
73432         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73433         (Include): Specify <math.h> instead of isnanl.h.
73434         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
73435         HAVE_ISNAN[FDL].
73436         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
73437         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
73438         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
73439         * NEWS: Mention the change.
73441 2008-10-18  Bruno Haible  <bruno@clisp.org>
73443         Add getusershell(), setusershell(), endusershell() declarations to
73444         <unistd.h>.
73445         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
73446         declarations.
73447         * lib/getusershell.c: Include unistd.h.
73448         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
73449         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73450         HAVE_GETUSERSHELL.
73451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
73452         and HAVE_GETUSERSHELL.
73453         * modules/getusershell (Depends-on): Add unistd, extensions.
73454         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73455         (Include): Specify <unistd.h>.
73456         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
73457         HAVE_GETUSERSHELL.
73459 2008-10-18  Bruno Haible  <bruno@clisp.org>
73461         Add a getloadavg() declaration to <stdlib.h>.
73462         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
73463         getloadavg declaration.
73464         (getloadavg): New declaration.
73465         * lib/getloadavg.c: Include <stdlib.h> first.
73466         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
73467         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
73468         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
73469         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
73470         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73471         * modules/getloadavg (Depends-on): Add stdlib, extensions.
73472         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73473         (Include): Specify <stdlib.h>.
73474         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
73475         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73477 2008-10-18  Bruno Haible  <bruno@clisp.org>
73479         * lib/dirchownmod.c: Don't include lchmod.h.
73481         Move the lchmod() declaration to <sys/stat.h>.
73482         * lib/lchmod.h: Remove file.
73483         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
73484         (lchmod): New declaration, moved here from lib/lchown.h.
73485         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
73486         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
73487         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
73488         and HAVE_LCHMOD.
73489         * modules/lchmod (Files): Remove lib/lchmod.h.
73490         (Depends-on): Add sys_stat, extensions.
73491         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73492         (Include): Specify <sys/stat.h> instead of lchmod.h.
73493         * modules/sys_stat (Depends-on): Add link-warning.
73494         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
73495         definition of GL_LINK_WARNING.
73496         * NEWS: Mention the change.
73498 2008-10-18  Bruno Haible  <bruno@clisp.org>
73500         * lib/fchdir.c: Don't include dirfd.h.
73501         * lib/fts.c: Likewise.
73502         * lib/getcwd.c: Likewise.
73503         * lib/glob.c: Likewise.
73505         Move the dirfd() declaration to <dirent.h>.
73506         * lib/dirfd.h: Remove file.
73507         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
73508         (dirfd): New declaration.
73509         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
73510         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
73511         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
73512         HAVE_DECL_DIRFD.
73513         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
73514         HAVE_DECL_DIRFD.
73515         * modules/dirfd (Files): Remove lib/dirfd.h.
73516         (Depends-on): Add dirent, extensions.
73517         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
73518         (Include): Specify <dirent.h> instead of dirfd.h.
73519         * modules/dirent (Depends-on): Add link-warning.
73520         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
73521         definition of GL_LINK_WARNING.
73522         * NEWS: Mention the change.
73524 2008-10-18  Bruno Haible  <bruno@clisp.org>
73526         Move the euidaccess() declaration to <unistd.h>.
73527         * lib/euidaccess.h: Remove file.
73528         * lib/unistd.in.h (euidaccess): New declaration.
73529         * lib/euidaccess.c: Don't include euidaccess.h.
73530         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
73531         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
73532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
73533         and HAVE_EUIDACCESS.
73534         * modules/euidaccess (Files): Remove lib/euidaccess.h.
73535         (Depends-on): Add unistd.
73536         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73537         (Include): Specify <unistd.h> instead of euidaccess.h.
73538         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
73539         HAVE_EUIDACCESS.
73540         * NEWS: Mention the change.
73542 2008-10-18  Bruno Haible  <bruno@clisp.org>
73544         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
73546         Move the getdomainname() declaration to <unistd.h>.
73547         * lib/getdomainname.h: Remove file.
73548         * lib/unistd.in.h (getdomainname): New declaration.
73549         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
73550         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
73551         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73552         HAVE_GETDOMAINNAME.
73553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73554         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
73555         * modules/getdomainname (Files): Remove lib/getdomainname.h.
73556         (Depends-on): Add unistd, extensions.
73557         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73558         (Includes): Specify <unistd.h> instead of getdomainname.h.
73559         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
73560         HAVE_GETDOMAINNAME.
73561         * NEWS: Mention the change.
73563 2008-10-18  Bruno Haible  <bruno@clisp.org>
73565         * modules/dirent: New file.
73566         * m4/dirent_h.m4: New file.
73567         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
73568         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
73569         * modules/fchdir (Files): Remove lib/dirent.in.h.
73570         (Depends-on): Add dirent.
73571         (Makefile.am): Move rules to modules/dirent.
73572         * doc/posix-headers/dirent.texi: Mention the new module.
73574 2008-10-18  Bruno Haible  <bruno@clisp.org>
73576         Avoid -Wunused-parameter warnings in public gnulib header files.
73577         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
73578         macro.
73579         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
73581 2008-10-18  Bruno Haible  <bruno@clisp.org>
73583         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
73584         * doc/glibc-functions/error.texi: Mention the module 'error'.
73585         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
73586         * doc/glibc-functions/getdomainname.texi: Mention the module
73587         'getdomainname'.
73588         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
73589         * doc/glibc-functions/getpagesize.texi: Mention the module
73590         'getpagesize'.
73591         * doc/glibc-functions/getusershell.texi: Mention the module
73592         'getusershell'.
73593         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
73594         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
73595         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
73596         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
73597         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
73598         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
73599         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
73600         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
73601         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
73602         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
73603         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
73604         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
73605         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
73606         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
73608 2008-10-17  Bruno Haible  <bruno@clisp.org>
73610         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
73611         HP-UX and IRIX, use -0.0L.
73612         * tests/test-ceill.c (minus_zero): Likewise.
73613         * tests/test-floorl.c (minus_zero): Likewise.
73614         * tests/test-frexpl.c (minus_zero): Likewise.
73615         * tests/test-isnan.c (minus_zerol): Likewise.
73616         * tests/test-isnanl.h (minus_zero): Likewise.
73617         * tests/test-ldexpl.c (minus_zero): Likewise.
73618         * tests/test-roundl.c (minus_zero): Likewise.
73619         * tests/test-signbit.c (minus_zerol): Likewise.
73620         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
73621         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
73622         * tests/test-truncl.c (minus_zero): Likewise.
73623         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
73624         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
73625         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
73626         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
73628 2008-10-17  Bruno Haible  <bruno@clisp.org>
73630         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
73631         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
73632         that it gets activated only for gcc >= 3.0.
73633         * lib/dirent.in.h: Likewise.
73634         * lib/errno.in.h: Likewise.
73635         * lib/fcntl.in.h: Likewise.
73636         * lib/float.in.h: Likewise.
73637         * lib/iconv.in.h: Likewise.
73638         * lib/inttypes.in.h: Likewise.
73639         * lib/locale.in.h: Likewise.
73640         * lib/math.in.h: Likewise.
73641         * lib/netdb.in.h: Likewise.
73642         * lib/netinet_in.in.h: Likewise.
73643         * lib/search.in.h: Likewise.
73644         * lib/signal.in.h: Likewise.
73645         * lib/spawn.in.h: Likewise.
73646         * lib/stdarg.in.h: Likewise.
73647         * lib/stdint.in.h: Likewise.
73648         * lib/stdio.in.h: Likewise.
73649         * lib/stdlib.in.h: Likewise.
73650         * lib/string.in.h: Likewise.
73651         * lib/strings.in.h: Likewise.
73652         * lib/sys_file.in.h: Likewise.
73653         * lib/sys_ioctl.in.h: Likewise.
73654         * lib/sys_select.in.h: Likewise.
73655         * lib/sys_socket.in.h: Likewise.
73656         * lib/sys_stat.in.h: Likewise.
73657         * lib/sys_time.in.h: Likewise.
73658         * lib/sysexits.in.h: Likewise.
73659         * lib/time.in.h: Likewise.
73660         * lib/unistd.in.h: Likewise.
73661         * lib/wchar.in.h: Likewise.
73662         * lib/wctype.in.h: Likewise.
73663         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73665 2008-10-17  Jim Meyering  <meyering@redhat.com>
73667         ignore-value: don't depend on inline module
73668         * modules/ignore-value (Depends-on): Remove 'inline'.
73669         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
73670         Suggestion from Bruno Haible.
73672 2008-10-17  Bruno Haible  <bruno@clisp.org>
73674         New implementation of condition variables for Win32.
73675         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
73676         (gl_linked_waitqueue_t): New type.
73677         (gl_cond_t): Use it.
73678         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
73679         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
73680         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
73681         (glthread_cond_init_func, glthread_cond_wait_func,
73682         glthread_cond_timedwait_func, glthread_cond_signal_func,
73683         glthread_cond_broadcast_func, glthread_cond_destroy_func):
73684         Reimplemented on the basis of gl_linked_waitqueue_t.
73685         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
73686         gl_waitqueue_t.
73687         (gl_rwlock_t): Update.
73688         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
73690 2008-10-17  Simon Josefsson  <simon@josefsson.org>
73692         * modules/recvfrom (Depends-on): Add dependency on getpeername.
73693         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73695 2008-10-17  Jim Meyering  <meyering@redhat.com>
73697         ignore-value: new module
73698         * modules/ignore-value: New file.
73699         * lib/ignore-value.h: New file.
73700         * MODULES.html.sh (Compiler warning management): New section,
73701         just for this module.  More to come.
73703 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73705         open-safer.c: avoid 'signed and unsigned in conditional...' warning
73706         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
73707         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
73709 2008-10-16  Jim Meyering  <meyering@redhat.com>
73711         openat-die.c: avoid 'no previous prototype' warning
73712         * lib/openat-die.c: Include "openat.h".
73713         Reported by Reuben Thomas <rrt@sc3d.org>.
73715 2008-10-16  Simon Josefsson  <simon@josefsson.org>
73717         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
73718         * lib/netdb.in.h: Fix typo.
73719         Reported by Bruno Haible  <bruno@clisp.org>
73721         * lib/netdb.in.h: Include sys/socket.h for platforms without
73722         netdb.h, to get structures like hostent on MinGW.
73723         * modules/netdb (Depends-on): Add sys_socket.
73725 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73727         * modules/netdb, modules/netdb-tests: New file.
73728         * m4/netdb_h.m4: New file.
73729         * lib/netdb.in.h: Add, currently just an empty file pending
73730         definitions.
73731         * tests/test-netdb.c: New file.
73732         * doc/posix-headers/netdb.texi: Mention that we replace it if
73733         needed.
73734         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73735         netdb.
73737 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73739         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73740         with code.
73742 2008-10-13  Bruno Haible  <bruno@clisp.org>
73744         * lib/glthread/cond.c (glthread_cond_wait_func,
73745         glthread_cond_timedwait_func): Add a comment.
73747 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73749         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73750         * tests/test-select.c: Likewise,
73752 2008-10-13  Bruno Haible  <bruno@clisp.org>
73754         * lib/glthread/cond.c (glthread_cond_wait_func,
73755         glthread_cond_timedwait_func): Fix variable name.
73756         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73758 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73760         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73761         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73762         struct sockaddr.sa_len.
73763         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73765 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73767         * build-aux/pmccabe2html: Add css and css_url parameters.
73769 2008-10-12  Bruno Haible  <bruno@clisp.org>
73771         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73772         calling aclx_get.
73773         Reported by Rainer Tammer <tammer@tammer.net>.
73775 2008-10-12  Bruno Haible  <bruno@clisp.org>
73777         Use msvcrt aware primitives for creation/termination of Win32 threads.
73778         * lib/glthread/thread.c: Include <process.h>.
73779         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73780         (wrapper_func): Update signature.
73781         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73783 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73784             Bruno Haible  <bruno@clisp.org>
73786         Provide a Win32 implementation of the 'cond' module.
73787         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73788         * lib/glthread/cond.c (glthread_cond_init_func,
73789         glthread_cond_wait_func, glthread_cond_timedwait_func,
73790         glthread_cond_signal_func, glthread_cond_broadcast_func,
73791         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73792         * modules/cond (Dependencies): Add gettimeofday.
73794 2008-10-11  Bruno Haible  <bruno@clisp.org>
73796         Make sleep work on older versions of mingw.
73797         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73798         only whether it exists.
73799         * doc/posix-functions/sleep.texi: Mention the problem with older
73800         versions of mingw.
73802 2008-10-11  Bruno Haible  <bruno@clisp.org>
73804         New module 'shutdown'.
73805         * modules/shutdown: New file.
73806         * lib/sys_socket.in.h (shutdown): New declaration.
73807         * lib/winsock.c (shutdown): New function.
73808         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73809         GNULIB_SHUTDOWN.
73810         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73811         * doc/posix-functions/shutdown.texi: Document the new module.
73813 2008-10-11  Jim Meyering  <meyering@redhat.com>
73815         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73817 2008-10-11  Bruno Haible  <bruno@clisp.org>
73819         New module 'fclose'.
73820         * modules/fclose: New file.
73821         * lib/stdio.in.h (fclose): New declaration.
73822         * lib/fclose.c: New file.
73823         * m4/fclose.m4: New file.
73824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73825         REPLACE_FCLOSE.
73826         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73827         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73828         REPLACE_FCLOSE.
73829         * modules/close (Depends-on): fclose.
73830         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73832 2008-10-11  Bruno Haible  <bruno@clisp.org>
73834         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73835         set errno and don't call _close.
73837 2008-10-10  Bruno Haible  <bruno@clisp.org>
73839         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73840         ACL, not afterwards. Fixes test failure on Cygwin.
73842 2008-10-09  Ben Pfaff  <blp@gnu.org>
73844         * build-aux/announce-gen: Fix gnulib version related part of usage
73845         message.  Die with a useful error message if no tarballs are
73846         found.
73848 2008-10-10  Jim Meyering  <meyering@redhat.com>
73850         bootstrap: use git's --depth=N option only if it's supported
73851         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73852         recognize the --depth option.  Reported by Pádraig Brady.
73854 2008-10-09  Bruno Haible  <bruno@clisp.org>
73856         New module 'ioctl'.
73857         * modules/ioctl: New file.
73858         * lib/sys_socket.in.h (ioctl): Remove declaration.
73859         * lib/winsock.c: Include <sys/ioctl.h>.
73860         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73861         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73862         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73863         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73864         * doc/posix-functions/ioctl.texi: Mention the new module.
73866 2008-10-09  Bruno Haible  <bruno@clisp.org>
73868         New module 'sys_ioctl'.
73869         * lib/sys_ioctl.in.h: New file.
73870         * m4/sys_ioctl_h.m4: New file.
73871         * modules/sys_ioctl: New file.
73872         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73874 2008-10-09  Bruno Haible  <bruno@clisp.org>
73876         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73877         * lib/winsock.c: Include <stdarg.h>.
73878         (rpl_ioctl): Change to second argument 'int' and then varargs.
73880 2008-10-09  Bruno Haible  <bruno@clisp.org>
73882         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73883         when the sys_socket module is present and the system has <winsock2.h>.
73885 2008-10-09  Bruno Haible  <bruno@clisp.org>
73887         * doc/posix-functions/close.texi: Mention module 'close' instead of
73888         module 'sys_socket'.
73890 2008-10-09  Bruno Haible  <bruno@clisp.org>
73892         * doc/glibc-headers/sys_ioctl.texi: New file.
73893         * doc/gnulib.texi: Include it.
73895 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73896             Bruno Haible  <bruno@clisp.org>
73898         Combine the two replacements of 'close'.
73899         * lib/sys_socket.in.h (close): Define to a reminder to include
73900         <unistd.h>.
73901         (_gl_close_fd_maybe_socket): New declaration.
73902         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73903         * lib/winsock.c (close): Remove undefinition.
73904         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73905         needed for the gnulib module 'close'.
73906         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73907         define to an error symbol or to a warning, if suitable.
73908         * lib/close.c: Include <sys/socket.h>.
73909         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73910         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73911         UNISTD_H_HAVE_WINSOCK2_H.
73912         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73914         UNISTD_H_HAVE_WINSOCK2_H.
73915         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73916         (configure.ac): Set a module indicator.
73917         (Makefile.am): Substitute GNULIB_CLOSE.
73918         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73919         * modules/poll-tests (Depends-on): Add close.
73920         * modules/select-tests (Depends-on): Likewise.
73922 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73923             Bruno Haible  <bruno@clisp.org>
73925         New module 'close'.
73926         * modules/close: New file.
73927         * lib/unistd.in.h (close): Move declaration out of the
73928         FCHDIR_REPLACEMENT scope.
73929         (_gl_unregister_fd): New declaration.
73930         * lib/close.c: New file.
73931         * lib/fchdir.c (rpl_close): Remove function.
73932         * m4/close.m4: New file.
73933         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73934         close.
73935         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73936         REPLACE_CLOSE.
73937         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73938         REPLACE_CLOSE.
73939         * modules/fchdir (Depends-on): Add close.
73941 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73942             Bruno Haible  <bruno@clisp.org>
73944         * lib/fcntl.in.h (open): Simplify conditionals.
73945         (_gl_register_fd): New declaration.
73946         * lib/fchdir.c (rpl_open): Remove function.
73947         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73948         also.
73949         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73950         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73951         open.
73953 2008-10-09  Jim Meyering  <meyering@redhat.com>
73955         GNUmakefile: use the more name-space-friendly "_version"
73956         * top/GNUmakefile (_dummy): Update.
73957         (_version): Rename from "version".
73959 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73960             Bruno Haible  <bruno@clisp.org>
73962         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73963         rpl_close.
73964         (_gl_register_fd): New function, extracted from rpl_open.
73965         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
73966         (rpl_open, rpl_opendir): Use _gl_register_fd.
73968 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73970         Fix organization of 'open' replacement.
73971         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
73972         (gl_FUNC_OPEN): Use it.
73973         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
73975 2008-10-08  Bruno Haible  <bruno@clisp.org>
73977         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
73979 2008-10-08  Simon Josefsson  <simon@josefsson.org>
73981         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
73982         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
73983         listen).
73985 2008-10-08  Eric Blake  <ebb9@byu.net>
73987         GNUmakefile: add 'make version' target
73988         * top/GNUmakefile (_curr-ver): Split version update rules...
73989         (version): ...into a target.
73991 2008-10-07  Bruno Haible  <bruno@clisp.org>
73993         Use a more portable replacement expression for -0.0L.
73994         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
73995         instead of -0.0L. Fix m4 quotation.
73997         * tests/test-signbit.c: Include <float.h>.
73998         (minus_zero): New variable.
73999         (test_signbitl): Use minus_zero instead of -zero.
74000         * modules/signbit-tests (Depends-on): Add float.
74002         * tests/test-ceill.c: Include <float.h>.
74003         (zero): Remove variable.
74004         (minus_zero): New variable.
74005         (main): Use minus_zero instead of -zero.
74006         * modules/ceill-tests (Depends-on): Add float.
74008         * tests/test-floorl.c: Include <float.h>.
74009         (zero): Remove variable.
74010         (minus_zero): New variable.
74011         (main): Use minus_zero instead of -zero.
74012         * modules/floorl-tests (Depends-on): Add float.
74014         * tests/test-roundl.c: Include <float.h>.
74015         (zero): Remove variable.
74016         (minus_zero): New variable.
74017         (main): Use minus_zero instead of -zero.
74018         * modules/roundl-tests (Depends-on): Add float.
74020         * tests/test-truncl.c: Include <float.h>.
74021         (zero): Remove variable.
74022         (minus_zero): New variable.
74023         (main): Use minus_zero instead of -zero.
74024         * modules/truncl-tests (Depends-on): Add float.
74026         * tests/test-frexpl.c (zero): Remove variable.
74027         (minus_zero): New variable.
74028         (main): Use minus_zero instead of -zero.
74029         * modules/frexpl-tests (Depends-on): Add float.
74031         * tests/test-isnan.c (zerol): Remove variable.
74032         (minus_zerol): New variable.
74033         (test_long_double): Use minus_zerol instead of -zerol.
74034         * modules/isnan-tests (Depends-on): Add float.
74036         * tests/test-isnanl.h (zero): Remove variable.
74037         (minus_zero): New variable.
74038         (main): Use minus_zero instead of -zero.
74039         * modules/isnanl-nolibm-tests (Depends-on): Add float.
74040         * modules/isnanl-tests (Depends-on): Add float.
74042         * tests/test-ldexpl.c (zero): Remove variable.
74043         (minus_zero): New variable.
74044         (main): Use minus_zero instead of -zero.
74045         * modules/ldexpl-tests (Depends-on): Add float.
74047         * tests/test-snprintf-posix.h (zerol): Remove variable.
74048         (minus_zerol): New variable.
74049         (test_function): Use minus_zerol instead of -zerol.
74050         * modules/snprintf-posix-tests (Depends-on): Add float.
74051         * modules/vsnprintf-posix-tests (Depends-on): Add float.
74053         * tests/test-sprintf-posix.h (zerol): Remove variable.
74054         (minus_zerol): New variable.
74055         (test_function): Use minus_zerol instead of -zerol.
74056         * modules/sprintf-posix-tests (Depends-on): Add float.
74057         * modules/vsprintf-posix-tests (Depends-on): Add float.
74059         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
74060         (minus_zerol): New variable.
74061         (test_function): Use minus_zerol instead of -zerol.
74062         * modules/vasnprintf-posix-tests (Depends-on): Add float.
74064         * tests/test-vasprintf-posix.c (zerol): Remove variable.
74065         (minus_zerol): New variable.
74066         (test_function): Use minus_zerol instead of -zerol.
74067         * modules/vasprintf-posix-tests (Depends-on): Add float.
74069 2008-10-07  Simon Josefsson  <simon@josefsson.org>
74071         * MODULES.html.sh (Support for building documentation): Mention
74072         pmccabe2html.  Sort entries.
74074         Add pmccabe2html module, from gnupdf.
74075         * build-aux/pmccabe.css: New file.
74076         * build-aux/pmccabe2html: New file.
74077         * m4/pmccabe2html.m4: New file.
74078         * modules/pmccabe2html: New file.
74080 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
74082         flock: new module
74083         * MODULES.html.sh: Add to list of modules.
74084         * lib/flock.c: flock implementation for Windows and Unix systems
74085         which have fcntl.
74086         * doc/glibc-functions/flock.texi: Update documentation.
74087         * lib/sys_file.in.h: <sys/file.h> header file.
74088         * m4/flock.m4: M4 macros.
74089         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
74090         * modules/flock: flock module.
74091         * modules/flock-tests: flock tests module.
74092         * modules/sys_file: sys/file.h module.
74093         * tests/test-flock.c: test suite for flock.
74095 2008-10-06  Jim Meyering  <meyering@redhat.com>
74097         bootstrap: check for LT_INIT more portably still ;-)
74098         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
74099         Spotted by Bruno Haible.
74101 2008-10-06  Eric Blake  <ebb9@byu.net>
74103         test-signbit: avoid tripping Irix cc bug on -0.0L
74104         * tests/test-signbit.c (minus_zerol): Delete, and replace with
74105         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
74106         entire testsuite consistent and avoids an Irix 6.2 bug.
74108 2008-10-05  Bruno Haible  <bruno@clisp.org>
74109             Jim Meyering  <jim@meyering.net>
74111         Add an option for ignoring EPIPE during close_stdout.
74112         * lib/closeout.h: Include <stdbool.h>.
74113         (close_stdout_set_ignore_EPIPE): New declaration.
74114         * lib/closeout.c: Include <stdbool.h>.
74115         (ignore_EPIPE): New variable.
74116         (close_stdout_set_ignore_EPIPE): New function.
74117         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
74118         * lib/close-stream.c (close_stream): Mention the possible EPIPE
74119         failure.
74120         * modules/closeout (Depends-on): Add stdbool.
74122 2008-10-05  Bruno Haible  <bruno@clisp.org>
74124         * modules/accept: New file.
74125         * modules/bind: New file.
74126         * modules/connect: New file.
74127         * modules/getpeername: New file.
74128         * modules/getsockname: New file.
74129         * modules/getsockopt: New file.
74130         * modules/listen: New file.
74131         * modules/recv: New file.
74132         * modules/recvfrom: New file.
74133         * modules/send: New file.
74134         * modules/sendto: New file.
74135         * modules/setsockopt: New file.
74136         * modules/socket: New file.
74137         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
74138         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
74139         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
74140         the particular module is requested. Add a link warning when the
74141         particular module is not requested.
74142         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
74143         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
74144         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
74145         the particular module is requested.
74146         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
74147         gl_SYS_SOCKET_H_DEFAULTS): New macros.
74148         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
74149         * modules/sys_socket (Depends-on): Add link-warning.
74150         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
74151         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
74152         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
74153         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
74154         GL_LINK_WARNING.
74155         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
74156         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
74157         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
74158         * doc/posix-functions/getpeername.texi: Mention the new module
74159         'getpeername'.
74160         * doc/posix-functions/getsockname.texi: Mention the new module
74161         'getsockname'.
74162         * doc/posix-functions/getsockopt.texi: Mention the new module
74163         'getsockopt'.
74164         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
74165         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
74166         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
74167         * doc/posix-functions/send.texi: Mention the new module 'send'.
74168         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
74169         * doc/posix-functions/setsockopt.texi: Mention the new module
74170         'setsockopt'.
74171         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
74172         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
74173         listen, connect, accept.
74174         * modules/select-tests (Depends-on): Likewise.
74176 2008-10-05  Bruno Haible  <bruno@clisp.org>
74178         * lib/winsock.c (strerror): Remove unused #undef.
74179         (rpl_close): Remove unused local variable.
74181         * modules/sys_socket (Depends-on); Add errno.
74183 2008-10-05  Bruno Haible  <bruno@clisp.org>
74185         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
74186         (select): Add a link warning when the 'select' module is not used.
74187         * modules/sys_select (Depends-on): Add link-warning.
74188         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
74189         Suggested by Paolo Bonzini.
74191 2008-10-05  Jim Meyering  <meyering@redhat.com>
74193         bootstrap: check for LT_INIT more portably
74194         * build-aux/bootstrap: Avoid using grep -E, since it's not
74195         portable enough.  Suggestion from Bruno Haible.
74197 2008-10-05  Bruno Haible  <bruno@clisp.org>
74199         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
74200         as being fixed by gnulib.
74202 2008-10-05  Bruno Haible  <bruno@clisp.org>
74204         * modules/select-tests: New file, mostly copied from
74205         modules/sys_select-tests.
74206         * tests/test-select.c: New file, mostly copied from
74207         tests/test-sys_select.c.
74208         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
74209         * modules/sys_select-tests (Depends-on): Remove all dependencies.
74210         (Makefile.am): Remove test_sys_select_LDADD.
74212         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
74213         to an undefined symbol, for an error message.
74214         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
74215         (gl_SYS_SELECT_H_DEFAULTS): New macro.
74216         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
74217         winsock-select.c here.
74218         * modules/sys_select (Files): Remove lib/winsock-select.c.
74219         (Depends-on): Remove alloca.
74220         (Makefile.am): Substitute GNULIB_SELECT.
74221         * modules/select: New file.
74222         * doc/posix-functions/select.texi: Update.
74224 2008-10-05  Bruno Haible  <bruno@clisp.org>
74226         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
74227         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
74228         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
74229         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
74230         getdtablesize.
74231         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
74232         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
74234 2008-10-05  Bruno Haible  <bruno@clisp.org>
74236         * modules/getdtablesize-tests: New file.
74237         * tests/test-getdtablesize.c: New file.
74239         New module 'getdtablesize'.
74240         * lib/unistd.in.h (getdtablesize): New declaration.
74241         * lib/getdtablesize.c: New file.
74242         * m4/getdtablesize.m4: New file.
74243         * modules/getdtablesize: New file.
74244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74245         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
74246         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
74247         HAVE_GETDTABLESIZE.
74248         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
74250 2008-10-05  Bruno Haible  <bruno@clisp.org>
74252         * modules/sched (Makefile.am): Fix typo.
74253         Reported by Simon Josefsson.
74255 2008-10-05  Jim Meyering  <meyering@redhat.com>
74257         bootstrap: check for LT_INIT, too
74258         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
74259         are deprecated.  Suggestion from Ralf Wildenhues.
74261 2008-10-05  Bruno Haible  <bruno@clisp.org>
74263         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
74264         overriding them by ours.
74265         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
74267 2008-10-05  Jim Meyering  <meyering@redhat.com>
74269         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
74270         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
74271         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
74273 2008-10-04  Bruno Haible  <bruno@clisp.org>
74275         * modules/dup2 (License): Change to LGPLv2+.
74276         * modules/sleep (License): Likewise.
74277         * modules/perror (License): Likewise.
74278         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
74279         Blake.
74280         * modules/signal (License): Likewise.
74281         * modules/sigprocmask (License): Likewise.
74282         * modules/raise (License): Change to LGPLv2+, with approval by Jim
74283         Meyering.
74285 2008-10-04  Bruno Haible  <bruno@clisp.org>
74287         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
74288         Reported by Rainer Tammer <tammer@tammer.net>.
74290 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
74291             Bruno Haible  <bruno@clisp.org>
74293         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
74294         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
74295         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
74297 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
74299         filevercmp: new module
74300         * lib/filevercmp.h: New function filevercmp comparing version strings.
74301         * lib/filevercmp.c: Implementation of filevercmp function.
74302         * modules/filevercmp: Module metadata.
74303         * tests/test-filevercmp.c: Unit test for new module.
74304         * modules/filevercmp-tests: Unit test metadata.
74305         * MODULES.html.sh: Add filevercmp module.
74307 2008-10-03  Bruno Haible  <bruno@clisp.org>
74309         * lib/c-ctype.h: Add comment.
74310         Reported by Jim Meyering.
74312 2008-10-02  Bruno Haible  <bruno@clisp.org>
74314         * modules/posix_spawn-internal (Depends-on): Add 'open'.
74316 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74318         * build-aux/bootstrap: Allow renaming bootstrap, and change the
74319         name of bootstrap.conf accordingly.
74321 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74323         * build-aux/bootstrap: Install git-merge-changelog configuration
74324         items into .gitconfig if needed.
74326 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74328         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
74329         git repository, and initialize/update it accordingly.
74331 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
74333         * modules/fsync-tests: New file.
74334         * tests/test-fsync.c: New file.
74336         New module 'fsync'.
74337         * lib/fsync.c: New file.
74338         * m4/fsync.m4: New file.
74339         * modules/fsync: New file.
74340         * lib/unistd.in.h (fsync): New declaration.
74341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
74342         GNULIB_FSYNC and HAVE_FSYNC.
74343         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
74344         * MODULES.html.sh (posix_functions): Add fsync.
74345         * doc/posix-functions/fsync.texi: Mention the new module.
74347 2008-10-02  Jim Meyering  <meyering@redhat.com>
74349         fts.c: sync with similar code from coreutils' remove.c
74350         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
74351         Guard also with "#if defined __linux__", since for now at least,
74352         this code is Linux-kernel-specific.
74354 2008-10-02  Jim Meyering  <meyering@redhat.com>
74356         fts: bug fixes
74357         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
74358         Include <sys/vfs.h>, not <sys/statfs.h>.
74360         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
74361         Include <sys/vfs.h>, not <sys/statfs.h>.
74363 2008-10-01  Bruno Haible  <bruno@clisp.org>
74365         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
74366         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
74367         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
74368         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
74369         * doc/posix-functions/posix_spawnp.texi: Likewise.
74370         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
74371         whether posix_spawn actually works.
74372         * m4/pipe.m4 (gl_PIPE): Likewise.
74373         * modules/execute (Files): Add m4/posix_spawn.m4.
74374         * modules/pipe (Files): Add m4/posix_spawn.m4.
74375         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
74377 2008-10-01  Jim Meyering  <meyering@redhat.com>
74379         remove trailing spaces
74380         * NEWS: Likewise.
74381         * lib/poll.c (poll): Likewise.
74382         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
74383         * lib/winsock.c (rpl_close): Likewise.
74384         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
74385         * modules/yield: Likewise.
74386         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
74387         * tests/test-sys_select.c (connect_to_socket): Likewise.
74389         fts.c: adjust a new interface to be more generally useful
74390         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
74391         (fts_build): Adjust caller.
74393 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74395         * modules/cond-tests: New file.
74396         * tests/test-cond.c: New file.
74398 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74399             Bruno Haible  <bruno@clisp.org>
74401         * modules/cond (Dependencies): Add errno, time.
74402         * lib/glthread/cond.h: Include <time.h>.
74403         (gl_cond_define, gl_cond_define_initialized): Use the same definition
74404         across platforms.
74406 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74407             Bruno Haible  <bruno@clisp.org>
74409         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
74411 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74412             Bruno Haible  <bruno@clisp.org>
74414         * modules/tls-tests (Depends-on): Add thread, yield.
74415         (configure.ac): Remove all checks.
74416         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
74417         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74418         gl_thread_self): Remove definitions. Include glthread/thread.h and
74419         glthread/yield.h instead.
74420         (test_tls): Pass an additional NULL argument to gl_thread_join.
74422 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74423             Bruno Haible  <bruno@clisp.org>
74425         * modules/lock-tests (Depends-on): Add thread, yield.
74426         (configure.ac): Remove all checks.
74427         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
74428         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74429         gl_thread_self): Remove definitions. Include glthread/thread.h and
74430         glthread/yield.h instead.
74431         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
74432         additional NULL argument to gl_thread_join.
74434 2008-09-30  Bruno Haible  <bruno@clisp.org>
74436         Fix the Win32 implementation of the 'thread' module.
74437         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
74438         pointer type.
74439         (gl_thread_self): Invoke gl_thread_self_func.
74440         (gl_thread_self_func): New declaration.
74441         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
74442         (do_init_self_key, init_self_key): New functions.
74443         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
74444         Remove some fields.
74445         (running_threads, running_lock): Remove variables.
74446         (get_current_thread_handle): New function.
74447         (gl_thread_self_func, wrapper_func, glthread_create_func,
74448         glthread_join_func, gl_thread_exit_func): Largely rewritten and
74449         simplified.
74451 2008-09-30  Bruno Haible  <bruno@clisp.org>
74453         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
74454         files.
74456 2008-09-30  Jim Meyering  <meyering@redhat.com>
74458         fts.m4: correct the test for statfs.f_type
74459         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
74460         when checking for statfs.f_type.
74462 2008-09-15  Simon Josefsson  <simon@josefsson.org>
74464         tests: avoid some compiler warnings
74465         * tests/test-memchr.c (main): Pass NULL indirectly.
74466         * tests/test-getdate.c (main): Remove unused variable 'ret'.
74468 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
74470         getdate.y: disallow countable dayshifts like "4 yesterday ago"
74471         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
74472         exactly specified dayshifts.
74473         (dayshift): New rule.
74474         (rel): Add dayshift.
74475         (relative_time_table) [tomorrow, yesterday, today, now]:
74476         Use tDAY_SHIFT in place of tDAY_UNIT.
74477         * tests/test-getdate.c: Add tests for now-disallowed countable
74478         dayshifts, e.g., "4 yesterday ago".
74480 2008-09-29  Bruno Haible  <bruno@clisp.org>
74482         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
74483         * tests/test-posix_spawn1.in.sh: Renamed from
74484         tests/test-posix_spawn.in.sh.
74485         * tests/test-posix_spawn2.c: New file.
74486         * tests/test-posix_spawn2.in.sh: New file.
74487         * modules/posix_spawnp-tests (Files): Update.
74488         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
74490 2008-09-29  Bruno Haible  <bruno@clisp.org>
74492         Propagate effects of putenv/setenv/unsetenv to child processes.
74493         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
74494         * lib/pipe.c (create_pipe): Likewise.
74496 2008-09-29  Bruno Haible  <bruno@clisp.org>
74498         Enable use of shell scripts as executables in mingw.
74499         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
74500         run the program as a shell script.
74501         * lib/pipe.c (create_pipe): Likewise.
74502         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
74503         resulting array.
74505 2008-09-29  Eric Blake  <ebb9@byu.net>
74507         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
74509 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
74511         * doc/posix-functions/accept.texi: Update mingw problems.
74512         * doc/posix-functions/bind.texi: Update mingw problems.
74513         * doc/posix-functions/close.texi: Update mingw problems.
74514         * doc/posix-functions/connect.texi: Update mingw problems.
74515         * doc/posix-functions/getpeername.texi: Update mingw problems.
74516         * doc/posix-functions/getsockname.texi: Update mingw problems.
74517         * doc/posix-functions/getsockopt.texi: Update mingw problems.
74518         * doc/posix-functions/ioctl.texi: Update mingw problems.
74519         * doc/posix-functions/listen.texi: Update mingw problems.
74520         * doc/posix-functions/recv.texi: Update mingw problems.
74521         * doc/posix-functions/recvfrom.texi: Update mingw problems.
74522         * doc/posix-functions/select.texi: Update mingw problems.
74523         * doc/posix-functions/send.texi: Update mingw problems.
74524         * doc/posix-functions/sendto.texi: Update mingw problems.
74525         * doc/posix-functions/setsockopt.texi: Update mingw problems.
74526         * doc/posix-functions/socket.texi: Update mingw problems.
74528 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
74529             Bruno Haible  <bruno@clisp.org>
74531         * lib/sys_select.in.h: Include sys/time.h.
74532         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
74533         * modules/sys_select: Depend on sys_time.
74534         * tests/test-sys_select.c: Test that sys/select.h defines struct
74535         timeval fully.
74537 2008-09-29  Bruno Haible  <bruno@clisp.org>
74539         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
74540         * lib/sys_select.in.h: Likewise.
74542 2008-09-29  Bruno Haible  <bruno@clisp.org>
74544         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
74546 2008-09-29  Bruno Haible  <bruno@clisp.org>
74548         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
74549         Set LIBSOCKET instead of augmenting LIBS.
74550         * modules/sockets (Link): New section.
74551         * modules/sockets-tests (test_sockets_LDADD): New variable.
74552         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
74553         * modules/poll-tests (test_poll_LDADD): New variable.
74554         * NEWS: Document the change.
74556 2008-09-29  Bruno Haible  <bruno@clisp.org>
74558         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
74559         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
74560         ARPA_INET_H directly.
74561         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
74563 2008-09-28  Bruno Haible  <bruno@clisp.org>
74565         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
74566         from gl_HEADER_SYS_SOCKET.
74567         (gl_HEADER_SYS_SOCKET): Invoke it.
74568         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74570 2008-09-28  Bruno Haible  <bruno@clisp.org>
74572         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
74573         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
74574         Needed on OSF/1 4.0.
74576 2008-09-28  Bruno Haible  <bruno@clisp.org>
74578         Override open more carefully.
74579         * lib/open.c (orig_open): New function.
74580         (rpl_open): Use orig_open instead of open.
74581         * lib/fcntl.in.h: Add special invocation convention.
74582         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
74583         (gl_FUNC_OPEN): Invoke it.
74585         Override freopen more carefully.
74586         * lib/freopen.c (orig_freopen): New function.
74587         (rpl_freopen): Use orig_freopen instead of freopen.
74588         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
74589         (gl_FUNC_FREOPEN): Invoke it.
74591         Override fopen more carefully.
74592         * lib/fopen.c (orig_fopen): New function.
74593         (rpl_fopen): Use orig_fopen instead of fopen.
74594         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
74595         (gl_FUNC_FOPEN): Invoke it.
74596         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
74598 2008-09-28  Bruno Haible  <bruno@clisp.org>
74600         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
74601         SIGPIPE.
74603 2008-09-28  Bruno Haible  <bruno@clisp.org>
74605         * tests/test-sigaction.c (handler, main): Disable the check whether
74606         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
74607         glibc systems with LinuxThreads.
74609 2008-09-28  Bruno Haible  <bruno@clisp.org>
74611         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
74613         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
74614         with AIX xlc.
74615         * lib/fcntl.in.h (open): Likewise.
74616         Reported by Rainer Tammer <tammer@tammer.net>.
74618 2008-09-28  Bruno Haible  <bruno@clisp.org>
74620         * modules/posix_spawnp-tests: New file.
74621         * tests/test-posix_spawn.c: New file.
74622         * tests/test-posix_spawn.in.sh: New file.
74624         New module 'posix_spawnp'.
74625         * modules/posix_spawnp: New file.
74626         * lib/spawnp.c: New file, from GNU libc with modifications.
74627         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
74629         New module 'posix_spawn'.
74630         * modules/posix_spawn: New file.
74631         * lib/spawn.c: New file, from GNU libc with modifications.
74632         * doc/posix-functions/posix_spawn.texi: Mention the new module.
74634         New module 'posix_spawnattr_destroy'.
74635         * modules/posix_spawnattr_destroy: New file.
74636         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
74637         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
74638         module.
74640         New module 'posix_spawnattr_setsigmask'.
74641         * modules/posix_spawnattr_setsigmask: New file.
74642         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
74643         modifications.
74644         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
74645         new module.
74647         New module 'posix_spawnattr_getsigmask'.
74648         * modules/posix_spawnattr_getsigmask: New file.
74649         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
74650         modifications.
74651         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
74652         new module.
74654         New module 'posix_spawnattr_setsigdefault'.
74655         * modules/posix_spawnattr_setsigdefault: New file.
74656         * lib/spawnattr_setdefault.c: New file, from GNU libc with
74657         modifications.
74658         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
74659         new module.
74661         New module 'posix_spawnattr_getsigdefault'.
74662         * modules/posix_spawnattr_getsigdefault: New file.
74663         * lib/spawnattr_getdefault.c: New file, from GNU libc with
74664         modifications.
74665         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
74666         new module.
74668         New module 'posix_spawnattr_setschedpolicy'.
74669         * modules/posix_spawnattr_setschedpolicy: New file.
74670         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
74671         modifications.
74672         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
74673         new module.
74675         New module 'posix_spawnattr_getschedpolicy'.
74676         * modules/posix_spawnattr_getschedpolicy: New file.
74677         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
74678         modifications.
74679         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
74680         new module.
74682         New module 'posix_spawnattr_setschedparam'.
74683         * modules/posix_spawnattr_setschedparam: New file.
74684         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
74685         modifications.
74686         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
74687         new module.
74689         New module 'posix_spawnattr_getschedparam'.
74690         * modules/posix_spawnattr_getschedparam: New file.
74691         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
74692         modifications.
74693         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
74694         new module.
74696         New module 'posix_spawnattr_setpgroup'.
74697         * modules/posix_spawnattr_setpgroup: New file.
74698         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
74699         modifications.
74700         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
74701         module.
74703         New module 'posix_spawnattr_getpgroup'.
74704         * modules/posix_spawnattr_getpgroup: New file.
74705         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
74706         modifications.
74707         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
74708         module.
74710         New module 'posix_spawnattr_setflags'.
74711         * modules/posix_spawnattr_setflags: New file.
74712         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
74713         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
74714         module.
74716         New module 'posix_spawnattr_getflags'.
74717         * modules/posix_spawnattr_getflags: New file.
74718         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
74719         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
74720         module.
74722         New module 'posix_spawnattr_init'.
74723         * modules/posix_spawnattr_init: New file.
74724         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
74725         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
74726         module.
74728         New module 'posix_spawn_file_actions_destroy'.
74729         * modules/posix_spawn_file_actions_destroy: New file.
74730         * lib/spawn_faction_destroy.c: New file, from GNU libc with
74731         modifications.
74732         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
74733         the new module.
74735         New module 'posix_spawn_file_actions_addopen'.
74736         * modules/posix_spawn_file_actions_addopen: New file.
74737         * lib/spawn_faction_addopen.c: New file, from GNU libc with
74738         modifications.
74739         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74740         the new module.
74742         New module 'posix_spawn_file_actions_adddup2'.
74743         * modules/posix_spawn_file_actions_adddup2: New file.
74744         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74745         modifications.
74746         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74747         the new module.
74749         New module 'posix_spawn_file_actions_addclose'.
74750         * modules/posix_spawn_file_actions_addclose: New file.
74751         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74752         modifications.
74753         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74754         the new module.
74756         New module 'posix_spawn_file_actions_init'.
74757         * modules/posix_spawn_file_actions_init: New file.
74758         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74759         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74760         new module.
74762         New module 'posix_spawn-internal'.
74763         * modules/posix_spawn-internal: New file.
74764         * lib/spawn_int.h: New file, from GNU libc with modifications.
74765         * lib/spawni.c: New file, from GNU libc with modifications.
74766         * m4/posix_spawn.m4: New file.
74768         New module 'spawn'.
74769         * modules/spawn: New file.
74770         * lib/spawn.in.h: New file, from GNU libc with modifications.
74771         * m4/spawn_h.m4: New file.
74772         * doc/posix-headers/spawn.texi: Mention the new module.
74774 2008-09-28  Bruno Haible  <bruno@clisp.org>
74776         * modules/sched-tests: New file.
74777         * tests/test-sched.c: New file.
74779         New module 'sched'.
74780         * modules/sched: New file.
74781         * lib/sched.in.h: New file.
74782         * m4/sched_h.m4: New file.
74783         * doc/posix-headers/sched.texi: Mention the new module.
74785 2008-09-27  Eric Blake  <ebb9@byu.net>
74787         Fix previous patch, and tweak references to $0.
74788         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74789         (func_version, func_gnulib_dir): Don't call this program
74790         gnulib-tool.
74791         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74792         with using $0 in function.
74793         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74794         (func_fatal_error): Reuse the name the user invoked us with.
74796 2008-09-27  Bruno Haible  <bruno@clisp.org>
74798         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74799         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74800         (gl_ICONV_H): Not here.
74801         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74802         instead of assigning ICONV_H directly.
74804         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74806         WCHAR_H directly.
74808 2008-09-27  Bruno Haible  <bruno@clisp.org>
74810         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74811         * modules/arpa_inet (Depends-on): Add link-warning.
74812         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74813         * modules/unistd (Makefile.am): Likewise.
74815 2008-09-26  Bruno Haible  <bruno@clisp.org>
74817         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74818         variables.
74819         (func_version): Essentially copied from gnulib-tool.
74820         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74821         func_readlink): Copied from gnulib-tool.
74823 2008-09-26  Bruno Haible  <bruno@clisp.org>
74825         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74826         invoking git-version-gen.
74828 2008-09-26  Bruno Haible  <bruno@clisp.org>
74830         * posix-modules: Update to directory names changed on 2008-01-19.
74831         Remove commas in output before splitting into words. No more need to
74832         avoid 'ftruncate' since 2007-02-19.
74834 2008-09-26  Bruno Haible  <bruno@clisp.org>
74836         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74838 2008-09-26  Bruno Haible  <bruno@clisp.org>
74840         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74841         * modules/fwriteerror (Depends-on): Add errno.
74843 2008-09-26  Bruno Haible  <bruno@clisp.org>
74845         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74846         * tests/test-vc-list-files-cvs.sh: Likewise.
74848 2008-09-26  Bruno Haible  <bruno@clisp.org>
74850         * doc/posix-headers/sys_resource.texi: Reorder items.
74852 2008-09-26  Jim Meyering  <meyering@redhat.com>
74854         fts: tweak inode comparison function
74855         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74856         inode numbers, as documented.
74858         fts: sort dirent entries on inode number before traversing
74859         This avoids a quadratic, seek-related performance penalty when
74860         operating on a directory containing many entries (measurable at 10k;
74861         3.5 hours at 2 million entries with a cold cache) on certain types
74862         of file systems, including ext3 and ext4, but not tmpfs.
74863         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74864         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74865         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74866         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74867         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74868         (fts_build): Set the stat.st_ino member from D_INO.
74869         If it is likely to be useful, sort dirent entries on inode number.
74871         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74872         and the struct statfs.f_type member.
74873         * modules/fts (Depends-on): Add d-ino.
74875 2008-09-26  Bruno Haible  <bruno@clisp.org>
74877         * modules/sigpipe-die (Depends-on): Add sigpipe.
74879         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74880         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74881         and GNULIB_STDIO_H_SIGPIPE are set.
74882         * lib/stdio-write.c: New file.
74883         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74884         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74885         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74886         REPLACE_STDIO_WRITE_FUNCS.
74887         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74888         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74889         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74890         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74891         * modules/stdio (Files): Add lib/stdio-write.c.
74892         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74893         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74894         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74895         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74896         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74897         REPLACE_FPRINTF_POSIX.
74898         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74899         REPLACE_PRINTF_POSIX.
74900         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74901         REPLACE_VFPRINTF_POSIX.
74902         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74903         REPLACE_VPRINTF_POSIX.
74904         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74905         SIGPIPE issue.
74906         * doc/posix-functions/fputc.texi: Likewise.
74907         * doc/posix-functions/fputs.texi: Likewise.
74908         * doc/posix-functions/fwrite.texi: Likewise.
74909         * doc/posix-functions/printf.texi: Likewise.
74910         * doc/posix-functions/putc.texi: Likewise.
74911         * doc/posix-functions/putchar.texi: Likewise.
74912         * doc/posix-functions/puts.texi: Likewise.
74913         * doc/posix-functions/vfprintf.texi: Likewise.
74914         * doc/posix-functions/vprintf.texi: Likewise.
74916         * modules/safe-write (Depends-on): Add write.
74918         * modules/sigpipe-tests: New file.
74919         * tests/test-sigpipe.c: New file.
74920         * tests/test-sigpipe.sh: New file.
74922         * modules/write: New file.
74923         * lib/unistd.in.h: Include <sys/types.h>.
74924         (write): New declaration.
74925         * lib/write.c: New file.
74926         * m4/write.m4: New file.
74927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74928         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74929         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74930         GNULIB_WRITE, REPLACE_WRITE.
74931         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74932         and the SIGPIPE issue.
74934         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74935         (raise): New declaration.
74936         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74937         (ext_signal): New function.
74938         (rpl_raise): New function.
74939         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74940         GNULIB_SIGNAL_H_SIGPIPE.
74941         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74942         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74944         * modules/sigpipe: New file.
74945         * m4/sigpipe.m4: New file.
74947 2008-09-25  Derek Price  <derek@ximbiot.com>
74948             Bruno Haible  <bruno@clisp.org>
74950         * gnulib-tool (func_import): Report all license incompatibilities, not
74951         just the first one.
74953 2008-09-25  Bruno Haible  <bruno@clisp.org>
74955         * gnulib-tool (func_import): When computing the edits, consider not
74956         only the Makefile.ams that exist but also those that will be generated.
74958 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74960         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74961         fixes gnulib-tool --test warning about duplicate dependency.
74963 2008-09-25  Bruno Haible  <bruno@clisp.org>
74965         * gnulib-tool: Don't ask the user to perform edits in the generated
74966         Makefile.ams.
74967         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
74968         apply to the Makefile.am being generated.
74969         (func_emit_tests_Makefile_am): Execute edits that apply to the
74970         Makefile.am being generated.
74971         (func_import): Setup list of Makefile.am edits before emitting the
74972         Makefile.ams, not at the end.
74973         (func_create_testdir): Update.
74974         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74976 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74978         * gnulib-tool (func_import): Store the --tests-base option in the
74979         comment in gnulib-cache.m4.
74981 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
74983         * NEWS: Document increased portability that sys_select now provides.
74985         * lib/sys_select.in.h: Install select wrapper.
74986         * lib/sys_socket.in.h: Use more descriptive name when there is no
74987         select wrapper.
74988         * lib/winsock-select.c: New.
74989         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
74990         Require gl_HEADER_SYS_SOCKET.
74991         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
74992         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
74993         * tests/test-sys_select.c: Add functional tests.
74995 2008-09-24  Eric Blake  <ebb9@byu.net>
74997         open, fopen: close fd leak in last patch
74998         * lib/open.c (rpl_open): Close fd before returning error.
74999         * lib/fopen.c (rpl_fopen): Close fd before returning error.
75000         * doc/posix-functions/open.texi (open): Document that Irix also
75001         has the bug.
75002         * doc/posix-functions/fopen.texi (fopen): Likewise.
75003         Reported by Paolo Bonzini.
75005 2008-09-24  Bruno Haible  <bruno@clisp.org>
75007         Ensure that a filename ending in a slash cannot be used to access a
75008         non-directory.
75009         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
75010         to check whether it's really a directory.
75011         * lib/fopen.c: Include fcntl.h, unistd.h.
75012         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
75013         and fdopen().
75014         * modules/fopen (Depends-on): Add unistd.
75015         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
75016         * tests/test-fopen.c (main): Likewise.
75017         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
75018         * doc/posix-functions/fopen.texi: Likewise.
75019         Reported by Eric Blake.
75021 2008-09-23  Eric Blake  <ebb9@byu.net>
75023         c-stack: avoid compiler optimizations when provoking overflow
75024         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
75025         recursion harder to optimize, to ensure a stack overflow occurs.
75026         * tests/test-c-stack.c (recurse): Likewise.
75027         Borrowed from libsigsegv.
75029         c-stack: work around Irix sigaltstack bug
75030         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
75031         whether sigaltstack uses wrong end of stack_t (copied in part from
75032         libsigsegv).
75033         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
75034         Irix bug, without requiring an over-allocation.
75035         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
75036         bug.
75038         fopen: document mingw bug on directories
75039         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
75040         not allowing a stream visiting a directory, even though reading
75041         from such a stream is not portable.
75043 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75045         * lib/poll.c: Rewrite.
75046         * modules/poll: Depend on alloca.
75048 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75050         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
75051         instead define prototypes for a full set of wrappers.  Ensure
75052         that Cygwin does not use the compatibility code, which is only
75053         for MinGW.
75054         * lib/winsock.c: New.
75055         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
75056         * modules/sys_socket: Add lib/winsock.c.
75058         * modules/poll-tests: Add errno and perror.
75059         * tests/test-poll.c: Use ioctl, not ioctlsocket.
75061 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75063         * tests/test-poll.c: Downgrade minimum needed Winsock version.
75065 2008-09-23  Bruno Haible  <bruno@clisp.org>
75067         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
75068         * doc/glibc-functions/*: Likewise.
75070 2008-09-23  Simon Josefsson  <simon@josefsson.org>
75072         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
75073         success.
75075 2008-09-22  Eric Blake  <ebb9@byu.net>
75076             Bruno Haible  <bruno@clisp.org>
75078         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
75079         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
75080         supply %A but mishandle pseudo-NaN.
75081         Reported by Simon Josefsson.
75083 2008-09-21  Bruno Haible  <bruno@clisp.org>
75085         * tests/test-lock.c (main): Tweak skip message.
75086         * tests/test-tls.c (main): Likewise.
75088 2008-09-21  Bruno Haible  <bruno@clisp.org>
75090         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
75091         whether 'struct sigaction' has sa_sigaction here...
75092         (gl_PREREQ_SIG_HANDLER_H): ... not here.
75093         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
75095 2008-09-21  Bruno Haible  <bruno@clisp.org>
75097         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
75098         section.
75099         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
75100         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
75101         the new section.
75102         (Support for obsolete systems lacking POSIX:2001): New section.
75103         (String handling <string.h>): Move strdup to the new section.
75104         Suggested by Simon Josefsson and Paolo Bonzini.
75106 2008-09-21  Bruno Haible  <bruno@clisp.org>
75108         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
75109         exponents in %e and %g results on 'long double'. Needed for mingw's
75110         improved *printf functions.
75111         * tests/test-vasprintf-posix.c (test_function): Likewise.
75112         * tests/test-snprintf-posix.h (test_function): Likewise.
75113         * tests/test-sprintf-posix.h (test_function): Likewise.
75114         Reported by Eric Blake.
75116 2008-09-21  Bruno Haible  <bruno@clisp.org>
75118         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
75119         * tests/test-sprintf-posix.h (test_function): Likewise.
75121 2008-09-21  Bruno Haible  <bruno@clisp.org>
75123         * modules/getpass (Depends-on): Add strdup-posix.
75125         New module 'strdup-posix'.
75126         * modules/strdup-posix: New file.
75127         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
75128         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
75129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
75130         REPLACE_STRDUP.
75131         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
75132         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
75133         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75134         strdup-posix.
75136         * modules/strdup (Depends-on): Remove malloc-posix.
75138 2008-09-20  Bruno Haible  <bruno@clisp.org>
75140         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
75141         Wildenhues.
75143 2008-09-20  Bruno Haible  <bruno@clisp.org>
75145         Ensure that wint_t gets defined on IRIX 5.3.
75146         * lib/wchar.in.h (wint_t): Define if not defined by the system.
75147         * lib/wctype.in.h (wint_t): Likewise.
75148         (__wctype_wint_t): Remove type.
75149         (isw*): Use wint_t instead of __wctype_wint_t.
75150         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
75151         * modules/wchar (Files): Add m4/wint_t.m4.
75152         (Makefile.am): Substitute HAVE_WINT_T.
75153         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
75154         * tests/test-wctype.c: Check that wint_t is defined.
75155         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
75156         * doc/posix-headers/wctype.texi: Likewise.
75157         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75159 2008-09-18  Bruno Haible  <bruno@clisp.org>
75161         * gnulib-tool (func_exit): Update comment.
75163 2008-09-18  Simon Josefsson  <simon@josefsson.org>
75165         * modules/getaddrinfo (Depends-on): Remove strdup, this module
75166         assumes strdup exists and does not depend on strdup to return
75167         ENOMEM on out of memory conditions.
75169 2008-09-18  Bruno Haible  <bruno@clisp.org>
75171         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
75172         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
75173         digits for the exponent.
75175 2008-09-18  Jim Meyering  <meyering@redhat.com>
75176             Bruno Haible  <bruno@clisp.org>
75178         * lib/vasnprintf.c (decimal_point_char): Define also if
75179         NEED_PRINTF_INFINITE_LONG_DOUBLE.
75181 2008-09-16  Bruno Haible  <bruno@clisp.org>
75182         and Eric Blake  <ebb9@byu.net>
75184         vasnprintf: support Irix 5.3
75185         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
75186         that mishandle long double infinity.
75187         Reported by Tom G. Christensen.
75189 2008-09-16  Bruno Haible  <bruno@clisp.org>
75191         * doc/glibc-functions/scandir.texi: Mention the function is missing on
75192         Solaris 9.
75193         * doc/glibc-functions/alphasort.texi: Likewise.
75194         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
75196 2008-09-16  Jim Meyering  <meyering@redhat.com>
75198         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
75199         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
75200         a umask modification leak out of a subshell.  Otherwise, the
75201         opensolaris /bin/sh would be accepted and thus cause unwarranted
75202         failures in the coreutils test suite.
75204 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
75206         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
75207         to succeed.
75209 2008-09-16  Jim Meyering  <meyering@redhat.com>
75211         avoid spurious test failure when library is built without ACL support
75212         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
75213         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
75214         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
75215         * tests/test-copy-acl.sh: Likewise.
75217 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75219         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
75220         based on character occurrence counts.
75222 2008-09-15  Eric Blake  <ebb9@byu.net>
75224         tests: avoid some compiler warnings
75225         * tests/test-memchr.c (main): Pass NULL indirectly.
75226         * tests/test-closein.c (main): Avoid unused variable.
75228 2008-09-15  Bruno Haible  <bruno@clisp.org>
75230         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
75231         are missing on OpenBSD 4.0 individually.
75232         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75234 2008-09-15  Bruno Haible  <bruno@clisp.org>
75236         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
75237         * doc/posix-functions/strerror.texi: Mention also Cygwin.
75238         * doc/posix-functions/perror.texi: Likewise.
75239         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
75240         is missing.
75241         Reported by Eric Blake.
75243         * lib/errno.in.h: Use replacement values >= 2000.
75244         Reported by Eric Blake.
75246 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75248         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
75249         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
75250         limit.
75251         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
75252         compareseq was aborted.
75254 2008-09-14  Bruno Haible  <bruno@clisp.org>
75256         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
75257         yvec_edit_count.
75258         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
75259         (fstrcmp_bounded): Simplify result computation accordingly.
75261 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75263         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
75264         (fstrcmp): Define in terms of fstrcmp_bounded.
75265         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
75266         lower_bound argument.
75267         Return quickly if the result is certainly < lower_bound.
75268         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
75270 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75272         * lib/diffseq.h (EARLY_ABORT): New macro.
75273         (compareseq): Change return type to bool. Return true when EARLY_ABORT
75274         evaluates to true.
75276 2008-09-14  Bruno Haible  <bruno@clisp.org>
75278         * modules/perror-tests: New file.
75279         * tests/test-perror.sh: New file.
75280         * tests/test-perror.c: New file.
75282         New module 'perror'.
75283         * lib/stdio.in.h (perror): New declaration.
75284         * lib/perror.c: New file.
75285         * m4/perror.m4: New file.
75286         * modules/perror: New file.
75287         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
75288         * doc/posix-functions/perror.texi: Mention the perror module.
75289         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
75290         REPLACE_PERROR.
75291         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
75292         REPLACE_PERROR.
75294 2008-09-14  Bruno Haible  <bruno@clisp.org>
75296         * modules/stdio (Makefile.am): Reorder to match the order in
75297         lib/stdio.in.h.
75298         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
75300 2008-09-13  Bruno Haible  <bruno@clisp.org>
75302         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
75304 2008-09-13  Bruno Haible  <bruno@clisp.org>
75306         Extend strerror to cover the added errno values.
75307         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
75308         (rpl_strerror): Provide error messages for the added errno values and
75309         for the WSA* values.
75310         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
75311         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
75312         strerror.
75313         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
75314         * modules/strerror (Depends-on): Add errno.
75315         * doc/posix-functions/strerror.texi: Document the change.
75316         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
75317         and EOVERFLOW.
75319 2008-09-13  Bruno Haible  <bruno@clisp.org>
75321         * modules/EOVERFLOW: Remove file.
75322         * m4/eoverflow.m4: Remove file.
75323         * modules/EOVERFLOW-tests: Remove file.
75324         * tests/test-EOVERFLOW.c: Remove file.
75325         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
75326         * modules/ftell (Depends-on): Likewise.
75327         * modules/getdelim (Depends-on): Likewise.
75328         * modules/getugroups (Depends-on): Likewise.
75329         * modules/poll (Depends-on): Likewise.
75330         * modules/snprintf (Depends-on): Likewise.
75331         * modules/sprintf-posix (Depends-on): Likewise.
75332         * modules/vasnprintf (Depends-on): Likewise.
75333         * modules/vasprintf (Depends-on): Likewise.
75334         * modules/vfprintf-posix (Depends-on): Likewise.
75335         * modules/vsnprintf (Depends-on): Likewise.
75336         * modules/vsprintf-posix (Depends-on): Likewise.
75337         * modules/xvasprintf (Depends-on): Likewise.
75338         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
75339         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
75340         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
75341         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
75342         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
75343         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
75344         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
75345         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
75346         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
75347         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
75348         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
75349         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
75350         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
75351         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
75352         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
75353         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
75354         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
75355         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
75356         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
75357         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
75358         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
75359         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
75360         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
75361         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
75362         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
75363         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
75364         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
75365         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
75366         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
75367         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
75368         * MODULES.html.sh: Remove EOVERFLOW.
75369         * NEWS: Mention the change.
75371 2008-09-13  Bruno Haible  <bruno@clisp.org>
75373         * modules/errno-tests: New file.
75374         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
75376         * lib/errno.in.h: New file.
75377         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
75378         * modules/errno: New file.
75379         * doc/posix-headers/errno.texi: Update documentation.
75380         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
75382 2008-09-13  Bruno Haible  <bruno@clisp.org>
75384         * tests/test-poll.c: Use #if for native Windows, rather than testing
75385         __MSVCRT__.
75387 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75388             Bruno Haible  <bruno@clisp.org>
75390         * lib/glob.c: Don't include <pwd.h> on native Windows.
75391         (WINDOWS32): New macro.
75392         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
75394 2008-09-13  Bruno Haible  <bruno@clisp.org>
75396         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
75397         (ETIMEDOUT): Remove macro.
75398         (glthread_cond_timedwait_multithreaded): New declaration.
75399         (glthread_cond_timedwait): Use it.
75400         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
75401         (glthread_cond_timedwait_multithreaded): New function.
75403 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75405         * modules/poll-tests: Do not check for io.h.
75406         * tests/test-poll.c: Check for __MSVCRT__ instead.
75408 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75410         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
75411         * modules/poll-tests: Add inet_pton, stdbool, sockets.
75412         * tests/test-poll.c: Use them.  Use _pipe on Windows.
75414 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75416         * modules/poll-tests: New.
75417         * tests/test-poll.c: New.
75419 2008-09-12  Eric Blake  <ebb9@byu.net>
75421         frexp: test for NetBSD failure on -0.0
75422         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
75423         not all, bugs from NetBSD 3.0 have been fixed.
75424         * doc/posix-functions/frexp.texi (frexp): Document bug.
75425         Reported by Thomas Klausner.
75427         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
75428         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
75429         literal -0.0.
75430         Reported by Jonathan C. Patschke <jp@centtech.com>.
75432 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75434         * lib/glthread/cond.h: Use dummy implementation also if
75435         USE_WIN32_THREADS.
75437 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75439         * modules/fnmatch-posix (License): Change to LGPLv2+.
75440         * modules/fnmatch-gnu (License): Likewise.
75442 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75444         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
75446 2008-09-11  Jim Meyering  <meyering@redhat.com>
75448         * users.txt: Add gtk-vnc.
75450 2008-09-08  Simon Josefsson  <simon@josefsson.org>
75452         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
75453         rotate amounts.
75455         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
75456         required for 16-bit and 8-bit rotates.
75457         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
75458         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
75459         UINT8_MAX instead of hard-coded constants.
75460         Suggested by Paul Eggert.
75462 2008-09-07  Bruno Haible  <bruno@clisp.org>
75464         * tests/test-striconveh.c (main): Check behaviour when converting from
75465         UTF-7.
75467         Make striconveh work better with stateful encodings.
75468         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
75469         that iconv does not increment the inptr when returning -1/EINVAL.
75471 2008-09-07  Bruno Haible  <bruno@clisp.org>
75473         * build-aux/config.rpath: Update according to libtool-2.2.6.
75474         * build-aux/config.libpath: Likewise.
75476 2008-09-06  Bruno Haible  <bruno@clisp.org>
75478         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
75479         * lib/freadptr.c (freadptr): Likewise.
75480         * lib/freadseek.c (freadptrinc): Likewise.
75481         Reported by Simon Josefsson.
75483 2008-09-06  Bruno Haible  <bruno@clisp.org>
75485         * modules/freadptr (License): Change to LGPLv2+.
75486         * modules/freadseek (License): Likewise.
75487         Suggested by Eric Blake.
75489         * modules/memchr2 (License): Change to LGPLv2+.
75490         Approved by Eric Blake.
75492 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75493             Bruno Haible  <bruno@clisp.org>
75495         Make gnulib-tool work with native 'sed' on AIX.
75496         * gnulib-tool (sed_noop): New variable.
75497         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
75498         func_add_or_update, func_create_testdir): Use it to initialize sed
75499         script variables.
75500         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75502 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
75503             Bruno Haible  <bruno@clisp.org>
75505         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
75506         also works after #include directives.
75508 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
75510         getdate.y: reject an out-of-range timezone value
75511         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
75512         the range [-24...+24].  When specified with only one or two digits,
75513         * tests/test-getdate.c: Tests for the fix.
75514         * doc/getdate.texi: Document this change.
75516 2008-09-03  Bruno Haible  <bruno@clisp.org>
75518         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
75520 2008-09-02  Simon Josefsson  <simon@josefsson.org>
75522         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
75523         <bruce.korb@gmail.com> with ideas from Ben Pfaff
75524         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
75525         Blake <ebb9@byu.net>.
75527         * tests/test-bitrotate.c: Add more test vectors.
75529 2008-09-02  Eric Blake  <ebb9@byu.net>
75531         vasnprintf-posix: handle large precision via %.*d
75532         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
75533         when handling it ourselves.
75534         * tests/test-vasnprintf-posix.c (test_function): Add test.
75535         * tests/test-snprintf-posix.h (test_function): Likewise.
75536         * tests/test-sprintf-posix.h (test_function): Likewise.
75537         * tests/test-vasprintf-posix.c (test_function): Likewise.
75538         Reported by Alain Guibert.
75540 2008-09-01  Eric Blake  <ebb9@byu.net>
75542         c-stack: make configure-time check more robust
75543         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
75544         successful sigaction call.
75545         Reported by Tom G. Christensen.
75547 2008-09-01  Bruno Haible  <bruno@clisp.org>
75549         New module 'findprog-lgpl'.
75550         * modules/findprog-lgpl: New file.
75551         * lib/findprog-lgpl.c: New file.
75552         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
75553         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
75554         to decide whether to use strdup or xstrdup, concatenated_filename or
75555         xconcatenated_filename.
75557 2008-09-01  Bruno Haible  <bruno@clisp.org>
75559         Split module 'concat-filename' into 'concat-filename' (LGPL) and
75560         'xconcat-filename' (GPL).
75561         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
75562         (License): Change to LGPLv2+.
75563         * modules/xconcat-filename: New file.
75564         * lib/concat-filename.h (concatenated_filename): Change specification.
75565         (xconcatenated_filename): New declaration.
75566         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
75567         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
75568         memory situations.
75569         * lib/xconcat-filename.c: New file.
75570         * NEWS: Mention the change.
75571         * lib/findprog.c: Include concat-filename.h, not filename.h.
75572         (find_in_path): Use xconcatenated_filename instead of
75573         concatenated_filename.
75574         * lib/javacomp.c: Include concat-filename.h, not filename.h.
75575         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
75576         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
75577         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
75578         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
75579         instead of concatenated_filename.
75580         * lib/javaexec.c: Include concat-filename.h, not filename.h.
75581         (execute_java_class): Use xconcatenated_filename instead of
75582         concatenated_filename.
75583         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
75584         * modules/javacomp (Depends-on): Likewise.
75585         * modules/javaexec (Depends-on): Likewise.
75587 2008-09-01  Bruno Haible  <bruno@clisp.org>
75589         Split module 'filename' into 'filename' and 'concat-filename'.
75590         * modules/filename: Keep only lib/filename.h.
75591         (License): Change to LGPLv2+.
75592         * modules/concat-filename: New file, extracted from modules/filename.
75593         * lib/filename.h (concatenated_filename): Remove declaration.
75594         * lib/concat-filename.h: New file, extracted from lib/filename.h.
75595         * lib/concat-filename.c: Include concat-filename.h.
75596         * NEWS: Mention the change.
75598 2008-09-01  Simon Josefsson  <simon@josefsson.org>
75600         * lib/bitrotate.h (rotl8, rotr8): Add.
75602         * modules/bitrotate (configure.ac): Need
75603         AC_REQUIRE([AC_C_INLINE]).
75604         (Description): Mention stdint.h.  Reported by Bruno Haible
75605         <bruno@clisp.org>.
75607         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
75608         Paolo Bonzini <bonzini@gnu.org>.
75610 2008-08-31  Bruno Haible  <bruno@clisp.org>
75612         Assume Solaris specific bi-arch conventions on Solaris systems.
75613         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
75614         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
75615         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
75616         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
75617         like acl_libdirstem.
75618         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
75619         acl_libdirstem.
75620         * NEWS: Mention the change.
75621         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
75623 2008-08-31  Jim Meyering  <meyering@redhat.com>
75625         * lib/strftime.h: Add comments describing the two added arguments.
75627         remove duplicate #include directives
75628         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
75629         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
75631 2008-08-31  Bruno Haible  <bruno@clisp.org>
75633         New module 'sigpipe-die'.
75634         * modules/sigpipe-die: New file.
75635         * lib/sigpipe-die.h: New file.
75636         * lib/sigpipe-die.c: New file.
75637         * MODULES.html.sh (Signal handling): Add sigpipe-die.
75639 2008-08-31  Bruno Haible  <bruno@clisp.org>
75641         Don't override previously installed signal handlers.
75642         * lib/fatal-signal.c (saved_sigactions): New variable.
75643         (uninstall_handlers): Reset the signal to the saved handler, not
75644         to SIG_DFL (except when ignored).
75645         (install_handlers): Save the previous handlers.
75647 2008-08-30  Bruno Haible  <bruno@clisp.org>
75649         * gnulib-tool (func_reset_sigpipe): New function.
75650         (func_get_automake_snippet, func_modules_transitive_closure,
75651         func_import): Invoke it before a join command that reads from stdin,
75652         to avoid "echo: write error: Broken pipe" error messages on stderr.
75653         Reported by Sam Steingold <sds@gnu.org>.
75655 2008-08-30  Bruno Haible  <bruno@clisp.org>
75657         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
75658         Code copied from m4/open.m4.
75659         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
75660         access and the filename ends in a slash. Code copied from lib/open.c.
75661         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
75662         * tests/test-fopen.c (main): Check against bug with trailing slash.
75664 2008-08-29  Bruno Haible  <bruno@clisp.org>
75666         Avoid some "gcc -pedantic" warnings.
75667         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
75668         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
75669         * lib/dirent.in.h: Likewise.
75670         * lib/fcntl.in.h: Likewise.
75671         * lib/float.in.h: Likewise.
75672         * lib/iconv.in.h: Likewise.
75673         * lib/inttypes.in.h: Likewise.
75674         * lib/locale.in.h: Likewise.
75675         * lib/math.in.h: Likewise.
75676         * lib/netinet_in.in.h: Likewise.
75677         * lib/search.in.h: Likewise.
75678         * lib/signal.in.h: Likewise.
75679         * lib/stdarg.in.h: Likewise.
75680         * lib/stdint.in.h: Likewise.
75681         * lib/stdio.in.h: Likewise.
75682         * lib/stdlib.in.h: Likewise.
75683         * lib/string.in.h: Likewise.
75684         * lib/strings.in.h: Likewise.
75685         * lib/sys_select.in.h: Likewise.
75686         * lib/sys_socket.in.h: Likewise.
75687         * lib/sys_stat.in.h: Likewise.
75688         * lib/sys_time.in.h: Likewise.
75689         * lib/sysexits.in.h: Likewise.
75690         * lib/time.in.h: Likewise.
75691         * lib/unistd.in.h: Likewise.
75692         * lib/wchar.in.h: Likewise.
75693         * lib/wctype.in.h: Likewise.
75694         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
75695         * modules/fchdir (Makefile.am): Likewise.
75696         * modules/fcntl (Makefile.am): Likewise.
75697         * modules/float (Makefile.am): Likewise.
75698         * modules/iconv_open (Makefile.am): Likewise.
75699         * modules/inttypes (Makefile.am): Likewise.
75700         * modules/locale (Makefile.am): Likewise.
75701         * modules/math (Makefile.am): Likewise.
75702         * modules/netinet_in (Makefile.am): Likewise.
75703         * modules/search (Makefile.am): Likewise.
75704         * modules/signal (Makefile.am): Likewise.
75705         * modules/stdarg (Makefile.am): Likewise.
75706         * modules/stdint (Makefile.am): Likewise.
75707         * modules/stdio (Makefile.am): Likewise.
75708         * modules/stdlib (Makefile.am): Likewise.
75709         * modules/string (Makefile.am): Likewise.
75710         * modules/strings (Makefile.am): Likewise.
75711         * modules/sys_select (Makefile.am): Likewise.
75712         * modules/sys_socket (Makefile.am): Likewise.
75713         * modules/sys_stat (Makefile.am): Likewise.
75714         * modules/sys_time (Makefile.am): Likewise.
75715         * modules/sysexits (Makefile.am): Likewise.
75716         * modules/time (Makefile.am): Likewise.
75717         * modules/unistd (Makefile.am): Likewise.
75718         * modules/wchar (Makefile.am): Likewise.
75719         * modules/wctype (Makefile.am): Likewise.
75720         Reported by Reuben Thomas <rrt@sc3d.org>.
75722 2008-08-29  Bruno Haible  <bruno@clisp.org>
75724         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
75725         any more.
75727 2008-08-29  Simon Josefsson  <simon@josefsson.org>
75729         * MODULES.html.sh (Misc): Add bitrotate.
75731         * modules/bitrotate: New file.
75733         * lib/bitrotate.h: New file.
75735         * modules/bitrotate-tests: New file.
75737         * tests/test-bitrotate.c: New file.
75739         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75740         on the bitrotate module.
75742         * lib/arctwo.c: Use new bitrotate module.
75744 2008-08-29  Jim Meyering  <meyering@redhat.com>
75746         bootstrap: merge changes from coreutils
75747         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75748         of copied files.  Remove a kludge, now that this is fixed.
75749         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75750         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75751         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75753 2008-08-29  Bruno Haible  <bruno@clisp.org>
75755         * MODULES.html.sh: Remove --cvs-urls option.
75757 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75759         maint.mk: adjust to file name change
75760         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75762 2008-08-28  Jim Meyering  <meyering@redhat.com>
75764         * modules/getndelim2 (License): Relicense to LGPLv2+.
75765         Approved by Richard Stallman for the version of 1995, and by
75766         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75768 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75770         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75771         dummy if one is not available.  Do not touch them if
75772         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75773         (getc_maybe_unlocked): New.
75774         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75776 2008-08-26  Eric Blake  <ebb9@byu.net>
75778         doc/INSTALL: resync from autoconf
75779         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75780         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75781         moving...
75782         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75783         * INSTALL: Regenerate.
75784         * INSTALL.ISO: New file.
75785         * INSTALL.UTF-8: Likewise.
75787 2008-08-26  Jim Meyering  <meyering@redhat.com>
75789         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75790         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75791         these definitions conditional, so that they may be overridden, too.
75793 2008-08-26  Bruno Haible  <bruno@clisp.org>
75795         Generate INSTALL file variants with prettier quotes.
75796         * doc/Makefile (INSTALL_PRELUDE): New macro.
75797         (INSTALL): Use it.
75798         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75800 2008-08-26  Bruno Haible  <bruno@clisp.org>
75802         Run makeinfo in an English locale.
75803         * doc/Makefile (MAKEINFO): New variable.
75805 2008-08-26  Bruno Haible  <bruno@clisp.org>
75807         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75808         Suggested by Eric Blake.
75810 2008-08-25  Bruno Haible  <bruno@clisp.org>
75812         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75814 2008-08-25  Eric Blake  <ebb9@byu.net>
75816         c-stack: test that stack overflow can be caught
75817         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75818         that platform allows handling stack overflow; at least OS/2 EMX
75819         has sigaltstack, but crashes before transferring control to
75820         handler on stack overflow.
75821         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75822         check for HAVE_STACK_OVERFLOW_HANDLING.
75823         Reported by Elbert Pol.
75825 2008-08-25  Bruno Haible  <bruno@clisp.org>
75827         * doc/posix-functions/strftime.texi: Fix description of strftime
75828         module.
75830 2008-08-24  Bruno Haible  <bruno@clisp.org>
75832         * tests/uniwidth/test-uc_width2.c: New file.
75833         * tests/uniwidth/test-uc_width2.sh: New file.
75834         * modules/uniwidth/width-tests (Files): Add the new files.
75835         (TESTS): Add uniwidth/test-uc_width2.sh.
75836         (TESTS_ENVIRONMENT): New variable.
75837         (check_PROGRAMS): Add test-uc_width2.
75838         (test_uc_width2_SOURCES): New variable.
75840         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75841         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75842         not 0x00AB.
75843         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75845 2008-08-22  Eric Blake  <ebb9@byu.net>
75847         test-lock, test-tls: mention why a test is skipped
75848         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75849         skipped.
75850         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75852         count-one-bits: relax license
75853         * modules/count-one-bits (License): Relicense to LGPLv2+.
75854         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75856 2008-08-22  Andreas Schwab  <schwab@suse.de>
75858         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75859         Remove spurious space in assignment.
75861 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75863         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75864         Paul Eggert <eggert@CS.UCLA.EDU>.
75866 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75868         * modules/gettext: Add m4/threadlib.m4.
75870 2008-08-19  Eric Blake  <ebb9@byu.net>
75872         test-c-stack: fix compilation failure on FreeBSD 5.0
75873         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75874         headers before <sys/resource.h>.
75875         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75876         the bug.
75877         Reported by Nelson H. F. Beebe.
75879         strverscmp: migrate from "strverscmp.h" to <string.h>
75880         * modules/string (Makefile.am): Add new hooks.
75881         * modules/strverscmp (Files): Remove strverscmp.h.
75882         (Depends-on): Add string.
75883         (configure.ac): Add indicator.
75884         (Include): Mention new header.
75885         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75886         defaults.
75887         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75888         results.
75889         * lib/strverscmp.h: Delete.
75890         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75891         * tests/test-strverscmp.c (includes): Adjust client.
75892         * lib/check-version.c (includes): Likewise.
75893         * NEWS: Document the change.
75895         strverscmp: add unit test
75896         * modules/strverscmp-tests: New file.
75897         * tests/test-strverscmp.c: Likewise.
75899 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75901         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75902         regarding Windows crypto stuff, from Mono.
75904 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75906         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75907         if present, for intel RND.  Return error on failures.
75909 2008-08-18  Ben Pfaff  <blp@gnu.org>
75911         gitlog-to-changelog: give better diagnostic for failed pipe-open
75912         * build-aux/gitlog-to-changelog: Improve error message: suggest
75913         that the version of Git may be too old.
75915 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75917         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75918         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75920 2008-08-18  Bruno Haible  <bruno@clisp.org>
75922         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75923         pthread_in_use().
75925 2008-08-18  Bruno Haible  <bruno@clisp.org>
75927         * lib/glthread/threadlib.c: Include <pthread.h>.
75929 2008-08-18  Bruno Haible  <bruno@clisp.org>
75931         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75932         glthread_recursive_lock_* macros.
75933         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75934         Fix syntax error.
75936 2008-08-18  Bruno Haible  <bruno@clisp.org>
75938         * lib/glthread/thread.c: Avoid forcing a context switch right after
75939         thread creation.
75941 2008-08-17  Bruno Haible  <bruno@clisp.org>
75943         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75944         * lib/glthread/thread.h: Provide Win32 specific implementation.
75945         * modules/thread (Files): Add lib/glthread/thread.c.
75946         (Depends-on): Add lock.
75947         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75949 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75951         New module 'yield'.
75952         * modules/yield: New file.
75953         * lib/glthread/yield.h: New file.
75954         * m4/yield.m4: New file.
75955         * MODULES.html.sh (Multithreading): Add yield.
75957 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75959         New module 'thread'.
75960         * modules/thread: New file.
75961         * lib/glthread/thread.h: New file.
75962         * m4/thread.m4: New file.
75963         * MODULES.html.sh (Multithreading): Add thread.
75965 2008-08-17  Bruno Haible  <bruno@clisp.org>
75967         * lib/glthread/lock.h: Include <stdlib.h> always.
75968         * lib/glthread/tls.h: Likewise.
75969         * lib/glthread/cond.h: Likewise.
75971 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75973         New module 'cond'.
75974         * modules/cond: New file.
75975         * lib/glthread/cond.h: New file.
75976         * lib/glthread/cond.c: New file.
75977         * m4/cond.m4: New file.
75978         * MODULES.html.sh (Multithreading): Add cond.
75980 2008-08-16  Eric Blake  <ebb9@byu.net>
75982         c-stack: fix regression on Irix 5.3 from 2008-06-21
75983         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
75984         sa_sigaction...
75985         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
75986         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
75987         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
75988         * modules/signal (Makefile.am): Use the value.
75989         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
75990         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
75991         * doc/posix-headers/signal.texi (signal.h): Document this
75992         portability issue.
75993         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
75994         Reported by Tom G. Christensen.
75996 2008-08-17  Bruno Haible  <bruno@clisp.org>
75998         New module 'threadlib'.
75999         * modules/threadlib: New file.
76000         * lib/glthread/threadlib.c: New file, extracted from
76001         lib/glthread/lock.c.
76002         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
76003         functions.
76004         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
76005         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
76006         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
76007         macros.
76008         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
76009         (gl_DISABLE_THREADS): Remove macro.
76010         * modules/lock (Files): Remove build-aux/config.rpath.
76011         (Depends-on): Remove havelib. Add threadlib.
76012         (configure.ac-early): Remove section.
76013         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
76014         * modules/tls (Depends-on): Remove lock. Add threadlib.
76015         (Link): New section, copied from threadlib.
76016         * MODULES.html.sh (Multithreading): Add threadlib.
76018 2008-08-14  Bruno Haible  <bruno@clisp.org>
76020         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
76021         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
76022         glthread_rwlock_unlock, glthread_rwlock_destroy,
76023         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
76024         glthread_recursive_lock_destroy): Define as macros always.
76025         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
76026         glthread_lock_lock.
76027         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
76028         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
76029         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
76030         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
76031         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
76032         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
76033         (glthread_recursive_lock_lock_func): Renamed from
76034         glthread_recursive_lock_lock.
76035         (glthread_recursive_lock_unlock_func): Renamed from
76036         glthread_recursive_lock_unlock.
76037         (glthread_recursive_lock_destroy_func): Renamed from
76038         glthread_recursive_lock_destroy.
76040 2008-08-14  Bruno Haible  <bruno@clisp.org>
76042         * lib/glthread/lock.h: Renamed from lib/lock.h.
76043         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
76044         * lib/glthread/tls.h: Renamed from lib/tls.h.
76045         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
76046         * lib/fstrcmp.c: Update includes.
76047         * lib/strsignal.c: Update includes.
76048         * modules/lock (Files, Makefile.am): Update.
76049         (Include): Change to "glthread/lock.h".
76050         * modules/tls (Files, Makefile.am): Update.
76051         (Include): Change to "glthread/tls.h".
76052         * tests/test-lock.c: Update includes.
76053         * tests/test-tls.c: Update includes.
76054         * NEWS: Mention the renamed header files.
76056 2008-08-11  Jim Meyering  <meyering@redhat.com>
76058         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
76060 2008-08-11  Eric Blake  <ebb9@byu.net>
76062         test-c-stack: avoid C99-ism
76063         * tests/test-c-stack.c (main): Fix whitespace, move declaration
76064         before statement.
76065         Reported by Alain Guibert.
76067 2008-08-10  Jim Meyering  <meyering@redhat.com>
76069         ensure that return value of uinttostr et al are not ignored
76070         * lib/inttostr.h (__GNUC_PREREQ): Define.
76071         (__attribute_warn_unused_result__): Define.
76072         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
76074 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
76076         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
76077         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
76079 2008-08-07  Jim Meyering  <meyering@redhat.com>
76081         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
76083         * modules/mkstemp (License): Relicense under LGPLv2+.
76084         * modules/tempname (License): Likewise.
76086 2008-08-06  Bruno Haible  <bruno@clisp.org>
76088         * lib/poll.c (poll): Further micro-optimization.
76090 2008-08-06  Jim Meyering  <meyering@redhat.com>
76092         inet_pton.c: use locale-independent tolower
76093         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
76094         (inet_pton6): Use c_tolower rather than tolower.
76095         * modules/inet_pton (Depends-on): Add c-ctype.
76097 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
76099         * lib/poll.c (poll): Avoid division when timeout is 0, cache
76100         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
76102 2008-08-06  Jim Meyering  <meyering@redhat.com>
76104         * modules/inet_pton (License): Relicense under LGPLv2+.
76106 2008-08-03  Bruno Haible  <bruno@clisp.org>
76108         Additional non-aborting API for lock and tls.
76109         * lib/lock.h: Include <errno.h>.
76110         (glthread_lock_init): New macro/function.
76111         (gl_lock_init): Define as wrapper around glthread_lock_init.
76112         (glthread_lock_lock): New macro/function.
76113         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
76114         (glthread_lock_unlock): New macro/function.
76115         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
76116         (glthread_lock_destroy): New macro/function.
76117         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
76118         (glthread_rwlock_init): New macro/function.
76119         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
76120         (glthread_rwlock_rdlock): New macro/function.
76121         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
76122         (glthread_rwlock_wrlock): New macro/function.
76123         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
76124         (glthread_rwlock_unlock): New macro/function.
76125         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
76126         (glthread_rwlock_destroy): New macro/function.
76127         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
76128         (glthread_recursive_lock_init): New macro/function.
76129         (gl_recursive_lock_init): Define as wrapper around
76130         glthread_recursive_lock_init.
76131         (glthread_recursive_lock_lock): New macro/function.
76132         (gl_recursive_lock_lock): Define as wrapper around
76133         glthread_recursive_lock_lock.
76134         (glthread_recursive_lock_unlock): New macro/function.
76135         (gl_recursive_lock_unlock): Define as wrapper around
76136         glthread_recursive_lock_unlock.
76137         (glthread_recursive_lock_destroy): New macro/function.
76138         (gl_recursive_lock_destroy): Define as wrapper around
76139         glthread_recursive_lock_destroy.
76140         (glthread_once): New macro/function.
76141         (gl_once): Define as wrapper around glthread_once.
76142         Update function declarations.
76143         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
76144         glthread_rwlock_init. Return error code.
76145         (glthread_rwlock_rdlock_multithreaded): Renamed from
76146         glthread_rwlock_rdlock. Return error code.
76147         (glthread_rwlock_wrlock_multithreaded): Renamed from
76148         glthread_rwlock_wrlock. Return error code.
76149         (glthread_rwlock_unlock_multithreaded): Renamed from
76150         glthread_rwlock_unlock. Return error code.
76151         (glthread_rwlock_destroy_multithreaded): Renamed from
76152         glthread_rwlock_destroy. Return error code.
76153         (glthread_recursive_lock_init_multithreaded): Renamed from
76154         glthread_recursive_lock_init. Return error code.
76155         (glthread_recursive_lock_lock_multithreaded): Renamed from
76156         glthread_recursive_lock_lock. Return error code.
76157         (glthread_recursive_lock_unlock_multithreaded): Renamed from
76158         glthread_recursive_lock_unlock. Return error code.
76159         (glthread_recursive_lock_destroy_multithreaded): Renamed from
76160         glthread_recursive_lock_destroy. Return error code.
76161         (glthread_once_call): Make static.
76162         (glthread_once_multithreaded): Renamed from glthread_once.
76163         * lib/tls.h: Include <errno.h>.
76164         (glthread_tls_key_init): New macro/function.
76165         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
76166         (glthread_tls_set): New macro/function.
76167         (gl_tls_set): Define as wrapper around glthread_tls_set.
76168         (glthread_tls_key_destroy): New macro/function.
76169         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
76170         Update function declarations.
76171         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
76172         glthread_tls_get.
76173         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76175 2008-08-04  Eric Blake  <ebb9@byu.net>
76177         gnumakefile: use space, not TAB, outside of targets
76178         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
76180 2008-08-02  Jim Meyering  <meyering@redhat.com>
76182         getdate.y: avoid locale-dependent date parsing failure
76183         In Turkish locales, getdate would fail to recognize keywords
76184         containing a lowercase "i".  The solution is not to rely on
76185         locale-sensitive case-conversion.
76186         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
76187         (lookup_word): Use c_toupper in place of toupper.
76188         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
76189         Reported by Vefa Bicakci <bicave@superonline.com> in
76190         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
76191         * modules/getdate (Depends-on): Add c-ctype.
76193 2008-08-02  Bruno Haible  <bruno@clisp.org>
76195         * gnulib-tool (func_import): When updating or creating a .gitignore
76196         file, prepend each added line with a slash, and ignore leading slashes
76197         from the existing lines.
76198         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
76200 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76202         Portability fix for GNU make 3.79.1.
76203         * top/GNUmakefile: Avoid 'else COND', which older GNU make
76204         versions do not understand.
76206 2008-08-01  Bruno Haible  <bruno@clisp.org>
76208         Work around bug of HP-UX 10.20 cc with -0.0 literal.
76209         * tests/test-isnanf.h (zero): New variable.
76210         (main): Avoid literal -0.0f.
76211         * tests/test-isnand.h (zero): New variable.
76212         (main): Avoid literal -0.0.
76213         * tests/test-isnanl.h (zero): New variable.
76214         (main): Avoid literal -0.0L.
76215         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
76216         (test_float, test_double, test_long_double): Avoid literals -0.0f,
76217         -0.0, -0.0L.
76218         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
76219         (test_signbitd): Avoid literal -0.0.
76220         (test_signbitl): Avoid literal -0.0L.
76221         * tests/test-ceilf1.c (zero): New variable.
76222         (main): Avoid literal -0.0f.
76223         * tests/test-ceill.c (zero): New variable.
76224         (main): Avoid literal -0.0L.
76225         * tests/test-floorf1.c (zero): New variable.
76226         (main): Avoid literal -0.0f.
76227         * tests/test-floorl.c (zero): New variable.
76228         (main): Avoid literal -0.0L.
76229         * tests/test-roundf1.c (zero): New variable.
76230         (main): Avoid literal -0.0f.
76231         * tests/test-round1.c (zero): New variable.
76232         (main): Avoid literal -0.0.
76233         * tests/test-roundl.c (zero): New variable.
76234         (main): Avoid literal -0.0L.
76235         * tests/test-truncf1.c (zero): New variable.
76236         (main): Avoid literal -0.0f.
76237         * tests/test-trunc1.c (zero): New variable.
76238         (main): Avoid literal -0.0.
76239         * tests/test-truncl.c (zero): New variable.
76240         (main): Avoid literal -0.0L.
76241         * tests/test-frexp.c (zero): New variable.
76242         (main): Avoid literal -0.0.
76243         * tests/test-frexpl.c (zero): New variable.
76244         (main): Avoid literal -0.0L.
76245         * tests/test-ldexpl.c (zero): New variable.
76246         (main): Avoid literal -0.0L.
76247         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76248         (zerod, zerol): New variables.
76249         (test_function): Avoid literals -0.0, -0.0L.
76250         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76251         (zerod, zerol): New variables.
76252         (test_function): Avoid literals -0.0, -0.0L.
76253         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76254         (zerod, zerol): New variables.
76255         (test_function): Avoid literals -0.0, -0.0L.
76256         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76257         (zerod, zerol): New variables.
76258         (test_function): Avoid literals -0.0, -0.0L.
76259         * tests/test-strtod.c (zero): New variable.
76260         (main): Avoid literal -0.0.
76261         Reported by Jonathan C. Patschke <jp@centtech.com>.
76263 2008-07-31  Jim Meyering  <meyering@redhat.com>
76265         sha256.h: correct definition of SHA224_DIGEST_SIZE
76266         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
76267         Reported by Paulie Pena IV <paulie4@gmail.com>.
76268         Define as 224 / 8, rather than as a literal.
76269         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
76270         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
76271         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
76273 2008-07-31  Bruno Haible  <bruno@clisp.org>
76275         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
76276         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
76277         Reported by Jonathan Patschke <jp@centtech.com>.
76279 2008-07-31  Bruno Haible  <bruno@clisp.org>
76281         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
76282         Reported by Paolo Bonzini <bonzini@gnu.org>.
76284 2008-07-30  Eric Blake  <ebb9@byu.net>
76286         test-strtod: allow compilation without -lm
76287         * tests/test-strtod.c (main): Avoid link dependence on fabs.
76288         Reported by Dennis Clarke <blastwave@gmail.com>.
76290 2008-07-28  Jim Meyering  <meyering@redhat.com>
76292         bootstrap: work also when there are no .po files in po/
76293         * build-aux/bootstrap (update_po_files): Complete the change
76294         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
76296 2008-07-27  Jim Meyering  <meyering@redhat.com>
76298         * users.txt: Add zile.
76300 2008-07-26  Ben Pfaff  <blp@gnu.org>
76302         Add missing dependencies on new m4/exponent[fdl].m4 files.
76303         * modules/isnanf-nolibm: Add m4/exponentf.m4.
76304         * modules/isnand-nolibm: Add m4/exponentd.m4.
76305         * modules/isnanl-nolibm: Add m4/exponentl.m4.
76306         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
76307         m4/isnan[fdl].m4, because the macros actually used moved.
76308         Reported by Jim Meyering.
76310 2008-07-14  Ben Pfaff  <blp@gnu.org>
76312         Add isinf module.
76313         * lib/isinf.c: New file.
76314         * lib/math.in.h: Define isinf macro if we have decided to replace
76315         it.
76316         * m4/isinf.m4: New file.
76317         * m4/math_h.m4: Initialize and substitute variables for isinf
76318         module.
76319         * modules/isinf: New file.
76320         * modules/isinf-tests: New file.
76321         * modules/math: Add substitutions for new module.
76322         * tests/test-isinf.c: New file.
76323         * doc/posix-functions/isinf.texi: Mention new module.
76324         * MODULES.html.sh: Mention new module.
76326 2008-07-14  Ben Pfaff  <blp@gnu.org>
76328         Factor out some macros for use by additional modules.
76329         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
76330         exponentf.m4.
76331         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
76332         exponentd.m4.
76333         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
76334         file exponentl.m4.
76335         * m4/exponentf.m4: New file.
76336         * m4/exponentd.m4: New file.
76337         * m4/exponentl.m4: New file.
76338         * modules/isnanf: Use new file m4/exponentf.m4.
76339         * modules/isnand: Use new file m4/exponentd.m4.
76340         * modules/isnanl: Use new file m4/exponentl.m4.
76342 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
76344         mktime.c: normalize tp->tm_isdst value to -1/0/1.
76345         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
76346         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
76347         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
76349         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
76350         readlink on platforms without PATH_MAX.
76352 2008-07-21  Eric Blake  <ebb9@byu.net>
76354         Warn, not fail, on stale version.
76355         * top/GNUmakefile (_curr-ver): Tone down previous patch.
76357         Don't allow installation with stale devel version number.
76358         * top/GNUmakefile (_is-install-target): New macro.
76359         (_curr-ver): Forbid installation with stale version number.
76361 2008-07-20  Bruno Haible  <bruno@clisp.org>
76363         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
76364         TESTS_ENVIRONMENT.
76365         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
76367 2008-07-20  Bruno Haible  <bruno@clisp.org>
76369         * lib/c-stack.h (c_stack_action): Add documentation.
76370         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
76372 2008-07-20  Bruno Haible  <bruno@clisp.org>
76374         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
76375         * modules/readlink (License): Likewise.
76377 2008-07-17  Eric Blake  <ebb9@byu.net>
76379         * modules/c-stack (Link): Fix typo.
76381         Make c-stack use libsigsegv, when available.
76382         * modules/c-stack (Depends-on): Add libsigsegv.
76383         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
76384         needed.
76385         * lib/c-stack.c (SIGSTKSZ): Define fallback.
76386         (segv_handler, overflow_handler, c_stack_action)
76387         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
76388         implementation when libsigsegv is available, but only when using
76389         the library is necessary.
76390         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
76391         comment, explaining why XSI check fails on Linux.
76392         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
76393         * tests/test-c-stack2.sh: Tweak skip message.
76394         * NEWS: Document new link-time requirements.
76396 2008-07-16  Eric Blake  <ebb9@byu.net>
76398         c-stack: Expose false positives when not using libsigsegv.
76399         * modules/c-stack-tests (Files): Expand test.
76400         * tests/test-c-stack.c (main): Add means to conditionally trigger
76401         non-overflow SIGSEGV.
76402         * tests/test-c-stack2.sh: New file.
76404 2008-07-14  Bruno Haible  <bruno@clisp.org>
76406         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
76407         Reported by Eric Blake.
76409 2008-07-14  Sam Steingold  <sds@gnu.org>
76410             Bruno Haible  <bruno@clisp.org>
76412         New module libsigsegv.
76413         * modules/libsigsegv: New file.
76414         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
76415         modifications.
76416         * MODULES.html.sh (Signal handling): New section.
76418 2008-07-14  Bruno Haible  <bruno@clisp.org>
76420         * modules/unictype/ctype-* (Description): Add the word "function".
76421         Improves the resulting doc in MODULES.html.
76423 2008-07-12  Ben Pfaff  <blp@gnu.org>
76425         Add longlong module.
76426         * modules/longlong: New file.
76428 2008-07-12  Bruno Haible  <bruno@clisp.org>
76430         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
76431         to empty.
76433 2008-07-10  Ben Pfaff  <blp@gnu.org>
76435         Add isnan module.
76436         * doc/posix-functions/isnan.texi: Mention new module.
76437         * lib/math.in.h: Define isnan macro if we have decided to replace
76438         it.
76439         * m4/isnan.m4: New file.
76440         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
76441         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
76442         also.
76443         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
76444         redundancy.
76445         * m4/math_h.m4: Initialize and substitute variables for isnan
76446         module.
76447         * modules/isnan: New file.
76448         * modules/isnan-tests: New file.
76449         * modules/math: Add substitutions for new module.
76450         * tests/test-isnan.c: New file.
76451         * MODULES.html.sh: Mention new module.
76453 2008-07-10  Ben Pfaff  <blp@gnu.org>
76455         Add isnanf module.
76456         * lib/isnanf.m4: New file.
76457         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
76458         (gl_HAVE_ISNANF_IN_LIBM): New macro.
76459         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
76460         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
76461         * modules/isnanf: New file.
76462         * modules/isnanf-tests: New file.
76463         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
76464         files.
76465         * tests/test-isnanf-nolibm.c: factored most of its contents into
76466         new file tests/test-isnanf.h.
76467         * tests/test-isnanf.h: New file.
76468         * tests/test-isnanf.c: New file.
76469         * MODULES.html.sh: Mention new module.
76470         * doc/glibc-functions/isnanf.texi: Mention new module.
76472 2008-07-10  Ben Pfaff  <blp@gnu.org>
76474         Add isnand module.
76475         * lib/isnand.h: New file.
76476         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
76477         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
76478         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
76479         functionality also.
76480         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
76481         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
76482         (gl_HAVE_ISNAND_IN_LIBM): New macro.
76483         * modules/isnand: New file.
76484         * modules/isnand-tests: New file.
76485         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
76486         files.
76487         * tests/test-isnand-nolibm.c: factored most of its contents into
76488         new file tests/test-isnand.h.
76489         * tests/test-isnand.h: New file.
76490         * tests/test-isnand.c: New file.
76491         * MODULES.html.sh: Mention new module.
76493 2008-07-10  Ben Pfaff  <blp@gnu.org>
76495         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
76496         * lib/isnand.h: Rename lib/isnand-nolibm.h.
76497         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
76498         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
76499         * modules/isnanf-nolibm: Update references to renamed files.
76500         * modules/isnand-nolibm: Likewise.
76501         * modules/isnanf-nolibm-tests: Likewise.
76502         * modules/isnand-nolibm-tests: Likewise.
76503         * lib/frexp.c: Likewise.
76504         * lib/isfinite.c: Likewise.
76505         * lib/signbitd.c: Likewise.
76506         * lib/signbitf.c: Likewise.
76507         * lib/vasnprintf.c: Likewise.
76508         * tests/test-ceilf1.c: Likewise.
76509         * tests/test-ceilf2.c: Likewise.
76510         * tests/test-floorf1.c: Likewise.
76511         * tests/test-floorf2.c: Likewise.
76512         * tests/test-frexp.c: Likewise.
76513         * tests/test-round1.c: Likewise.
76514         * tests/test-round2.c: Likewise.
76515         * tests/test-roundf1.c: Likewise.
76516         * tests/test-strtod.c: Likewise.
76517         * tests/test-trunc1.c: Likewise.
76518         * tests/test-trunc2.c: Likewise.
76519         * tests/test-truncf1.c: Likewise.
76520         * tests/test-truncf2.c: Likewise.
76521         * NEWS: Mention the renamed header files.
76523 2008-07-11  Jim Meyering  <meyering@redhat.com>
76525         vc-list-files: make the last-resort awk code more portable
76526         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
76527         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
76528         does not support it.
76530 2008-07-10  Eric Blake  <ebb9@byu.net>
76532         Work with tar's bootstrap.
76533         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
76534         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
76535         an m4 comment.
76537 2008-07-09  Jim Meyering  <meyering@redhat.com>
76539         posix-shell.m4: fix typo that made this test malfunction
76540         * m4/posix-shell.m4: Remove capitalization in variable name.
76542 2008-07-08  Bruno Haible  <bruno@clisp.org>
76544         * m4/onceonly.m4: Update comments.
76545         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76547 2008-07-04  Jim Meyering  <meyering@redhat.com>
76549         * users.txt: Add vc-dwim.
76550         (bison, coreutils): Use the gitweb URL.
76552 2008-07-03  Jim Meyering  <meyering@redhat.com>
76554         * users.txt: Add libffcall.  From Sam Steingold.
76556 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
76558         getdate.y: do not ignore TZ with relative day, month or year offset
76559         * lib/getdate.y (get_date): Move the tz-handling block to follow the
76560         relative-date-handling, since otherwise, the latter would clobber the
76561         sole output (an updated Start value) of the tz-handling block.
76562         * tests/test-getdate.c: Tests for the fix
76564 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76566         Recognize 'foo_LIBRARIES += libgnu.a'.
76567         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
76568         makefile snippet has already specified an installation location,
76569         also using '+='.
76571 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
76573         getdate.y: factor out common actions
76574         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
76575         Use them in place of open-coded actions.
76577 2008-07-01  Simon Josefsson  <simon@josefsson.org>
76579         Add self-test for getdate module.
76580         * modules/getdate-tests: New file.
76581         * tests/test-getdate.c: New file.
76583 2008-06-29  Bruno Haible  <bruno@clisp.org>
76585         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
76586         .gitignore.
76587         Reported by Sylvain Beucler <beuc@beuc.net>.
76589 2008-06-29  Bruno Haible  <bruno@clisp.org>
76591         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
76592         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
76594 2008-06-29  Bruno Haible  <bruno@clisp.org>
76596         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
76597         EXTRA_DIST.
76598         Reported by Sylvain Beucler <beuc@beuc.net>.
76600 2008-06-26  Jim Meyering  <meyering@redhat.com>
76602         make several modules depend on the "open" module
76603         This provides slightly increased consistency when opening-for-write
76604         the name of a non-directory spelled with a trailing slash.
76605         * modules/chdir-safer: Likewise.
76606         * modules/chown: Likewise.
76607         * modules/clean-temp: Likewise.
76608         * modules/copy-file: Likewise.
76609         * modules/fchdir: Likewise.
76610         * modules/fcntl-safer: Likewise.
76611         * modules/pipe: Likewise.
76612         * modules/utime: Likewise.
76613         Prompted by Eric Blake and Bruno Haible.
76615 2008-06-24  Andreas Schwab  <schwab@suse.de>
76617         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
76618         literals can be used as initializers for global variables.
76620 2008-06-23  Eric Blake  <ebb9@byu.net>
76622         Make gnulib-cache.m4 easier to diff.
76623         * gnulib-tool (func_import): Allow newlines when reading cached
76624         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
76626 2008-06-23  Bruno Haible  <bruno@clisp.org>
76628         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
76629         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
76630         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
76631         m4/signalblocking.m4.
76632         (gl_PREREQ_SIGACTION): Don't invoke it.
76633         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
76634         gl_PREREQ_SIG_HANDLER_H.
76635         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76636         Don't check for sigaction here.
76638 2008-06-23  Bruno Haible  <bruno@clisp.org>
76640         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
76641         (install_handlers): Don't set the SA_RESETHAND flag.
76643 2008-06-23  Bruno Haible  <bruno@clisp.org>
76645         * m4/sigaction.m4: Comment fixes.
76646         * lib/signal.in.h: Likewise.
76648 2008-06-23  Eric Blake  <ebb9@byu.net>
76650         Fix typo.
76651         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
76653         Avoid SA_ namespace.
76654         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
76655         Reported by Ralf Wildenhues.
76657         Avoid test failure due to SA_RESTORER.
76658         * tests/test-sigaction.c (SA_MASK): New macro.
76659         (main): Avoid failing due to extension flags being set.
76660         Reported by Jim Meyering.
76662         Revert use of sig-handler.h in sigprocmask.c.
76663         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
76664         it requires the existence of struct sigaction.
76665         * lib/sigprocmask.c (handler_t): Restore typedef.
76666         (rpl_signal, old_handlers): Use local type.
76668 2008-06-22  Bruno Haible  <bruno@clisp.org>
76670         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
76671         conditionally.
76672         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76674 2008-06-22  Bruno Haible  <bruno@clisp.org>
76676         * doc/posix-functions/siginterrupt.texi: Move note.
76678         * lib/signal.in.h (SA_RESTART): New macro.
76679         * lib/sigaction.c: Update comment.
76681         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
76683         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
76684         (gl_PREREQ_SIGPROCMASK): Invoke it.
76685         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
76687         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
76689         * lib/sigprocmask.c: Update a comment.
76691 2008-06-21  Eric Blake  <ebb9@byu.net>
76693         Use sigaction module rather than signal().
76694         * modules/c-stack (Depends-on): Add sigaction.
76695         * modules/fatal-signal (Depends-on): Likewise.
76696         * modules/nanosleep (Depends-on): Likewise.
76697         * modules/sigprocmask (Files): Add sig-handler.h.
76698         * modules/sigaction (Files): Likewise.
76699         * lib/sig-handler.h (get_handler): New file, suggested by Paul
76700         Eggert.
76701         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
76702         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
76703         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
76704         (init_fatal_signals): Likewise.
76705         * lib/nanosleep.c (rpl_nanosleep): Likewise.
76706         (siginterrupt): Delete fallback.
76707         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
76708         instead.
76709         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
76710         siginterrupt.
76712         New module sigaction, for mingw.
76713         * modules/sigaction: New module...
76714         * modules/sigaction-tests: ...and its test.
76715         * m4/sigaction.m4: New file.
76716         * lib/sigaction.c: Likewise.
76717         * tests/test-sigaction.c: Likewise.
76718         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
76719         * modules/signal (Makefile.am): Likewise.
76720         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
76721         needed.
76722         * doc/posix-headers/signal.texi (signal.h): Mention provided
76723         types.
76724         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
76725         that sigaction is preferable.
76726         * doc/posix-functions/sigaction.texi (sigaction): Mention new
76727         module.
76728         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76729         sigaction.
76731         Improve robustness of sigprocmask by overriding signal.
76732         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
76733         is in use.
76734         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
76735         (SIGKILL, SIGSTOP): Provide fallbacks.
76736         (rpl_signal): Implement.
76737         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
76738         signal can be called inside handlers.
76740         Fix nanosleep module on mingw.
76741         * modules/nanosleep (Depends-on): Add sys_select.
76742         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76744         Fix licensing of sigprocmask.
76745         * modules/raise (License): Relicense as LGPL.
76747 2008-06-21  Bruno Haible  <bruno@clisp.org>
76749         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76750         result if it contains question marks.
76751         Reported by Michael Geng <linux@michaelgeng.de>.
76753 2008-06-19  Bruno Haible  <bruno@clisp.org>
76755         Fix CVS-ism.
76756         * doc/gnulib.texi: Include updated-stamp.texi.
76757         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76758         (updated-stamp.texi): New rule.
76759         (gnulib.info): Depend on it.
76760         * doc/.gitignore: Add updated-stamp.texi.
76761         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76763 2008-06-19  Bruno Haible  <bruno@clisp.org>
76765         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76766         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76768 2008-06-19  Eric Blake  <ebb9@byu.net>
76770         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76771         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76772         Reported by Stepan Kasal.
76774 2008-06-18  Bruno Haible  <bruno@clisp.org>
76776         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76777         Reported by Eric Blake.
76779 2008-06-18  Eric Blake  <ebb9@byu.net>
76781         Work around cygwin 1.5.25 strsignal bug.
76782         * tests/test-strsignal.c: Allow for const char *.
76783         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76785 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76787         * users.txt: Update URL to article and add author/date
76788         information.
76790 2008-06-17  Bruno Haible  <bruno@clisp.org>
76792         New macro gl_DISABLE_THREADS.
76793         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76794         if the user did not pass --enable-threads or --disable-threads option.
76795         (gl_DISABLE_THREADS): New macro.
76796         Reported by Eric Blake <ebb9@byu.net>.
76798 2008-06-17  Bruno Haible  <bruno@clisp.org>
76800         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76801         when the macro ignores it.
76802         Based on a patch by Eric Blake <ebb9@byu.net>.
76804 2008-06-17  Bruno Haible  <bruno@clisp.org>
76806         * modules/tls (License): Change to LGPLv2+.
76807         Reported by Eric Blake.
76809 2008-06-17  Eric Blake  <ebb9@byu.net>
76811         Simplify c-stack prerequisites.
76812         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76813         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76814         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76815         check.
76816         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76817         <sys/resource.h>.
76819         Move c-stack test into testsuite.
76820         * modules/c-stack-tests: New file.
76821         * lib/c-stack.c [DEBUG]: Move test program...
76822         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76823         fail test if sigaltstack is lacking.
76824         * tests/test-c-stack.sh: New driver file.
76826 2008-06-16  Eric Blake  <ebb9@byu.net>
76828         Use raise module consistently.
76829         * modules/fatal-signal (Depends-on): Add raise.
76830         * modules/sigprocmask (Depends-on): Likewise.
76831         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76832         * lib/sigprocmask.c (sigprocmask): Likewise.
76833         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76834         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76836         Fix compliance bug in sigpending.
76837         * lib/sigprocmask.c (sigpending): Return pending array via
76838         parameter, not return value.
76840 2008-06-14  Eric Blake  <ebb9@byu.net>
76842         Improve obstack-printf test code.
76843         * tests/test-obstack-printf.c (test_function): Fix comment, and
76844         simplify usage of obstack_* in macros.  Add a test for coverage.
76845         Reported by Bruno Haible.
76847 2008-06-14  Bruno Haible  <bruno@clisp.org>
76849         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76850         array size as a constant, not as a const variable.
76851         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76852         AC_USE_SYSTEM_EXTENSIONS.
76853         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76854         Test whether the obstack_printf function actually exists.
76855         * modules/obstack-printf (Depends-on): Add extensions.
76856         (Include): Remove obstack.h.
76857         * modules/obstack-printf-posix (Depends-on): Add extensions.
76858         (Include): Remove obstack.h.
76860 2008-06-13  Eric Blake  <ebb9@byu.net>
76862         Add obstack-printf and obstack-printf-posix modules.
76863         * modules/obstack-printf: New file.
76864         * modules/obstack-printf-posix: Likewise.
76865         * MODULES.html.sh (Misc): Mention them.
76866         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76867         Likewise.
76868         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76869         Likewise.
76870         * modules/stdio (Makefile.am): Accomodate new modules.
76871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76872         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76873         Declare.
76874         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76875         functions.
76876         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76877         (gl_REPLACE_OBSTACK_PRINTF): New macros
76878         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76879         * tests/test-obstack-printf.c: New file.
76880         * modules/obstack-printf-tests: Likewise.
76881         * modules/obstack-printf-posix-tests: Likewise.
76883 2008-06-11  Bruno Haible  <bruno@clisp.org>
76885         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76886         * lib/open.c: Include errno.h.
76887         (open): Fail when attempting to write to a file that has a trailing
76888         slash.
76889         * tests/test-open.c (main): Test against trailing slash bug.
76890         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76892 2008-06-10  Bruno Haible  <bruno@clisp.org>
76894         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76895         for $? to work inside the trap command, with various /bin/sh-s.
76896         * tests/test-vc-list-files-cvs.sh: Likewise.
76898 2008-06-10  Bruno Haible  <bruno@clisp.org>
76900         * lib/acl-internal.h: Don't include gettext.h here.
76901         * lib/set-mode-acl.c: Include gettext.h here.
76902         * lib/copy-acl.c: Likewise.
76904 2008-06-10  Bruno Haible  <bruno@clisp.org>
76906         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76907         * lib/wait-process.c (wait_subprocess): Likewise.
76908         * lib/execute.h (execute): Add termsigp argument.
76909         * lib/execute.c (execute): Likewise.
76910         * lib/csharpcomp.c (compile_csharp_using_pnet,
76911         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76912         * lib/csharpexec.c (execute_csharp_using_pnet,
76913         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76914         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76915         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76916         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76917         is_jikes_present): Update.
76918         * lib/javaexec.c (execute_java_class): Update.
76919         * lib/javaversion.c (execute_and_read_line): Update.
76920         * NEWS: Document the changes.
76921         Reported by Eric Blake.
76923 2008-06-10  Eric Blake  <ebb9@byu.net>
76925         Add missing include.
76926         * tests/test-strstr.c (includes): Add <signal.h>.
76927         * tests/test-strcasestr.c (includes): Likewise.
76928         * tests/test-memmem.c (includes): Likewise.
76930 2008-06-10  Bruno Haible  <bruno@clisp.org>
76932         * lib/wait-process.c (wait_subprocess): Add an assertion.
76934 2008-06-10  Bruno Haible  <bruno@clisp.org>
76936         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76938 2008-06-10  Bruno Haible  <bruno@clisp.org>
76940         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76941         using alarm().
76942         * tests/test-strcasestr.c (main): Likewise.
76943         * tests/test-strstr.c (main): Likewise.
76945 2008-06-09  Bruno Haible  <bruno@clisp.org>
76947         Work around the Solaris 10 ACE ACLs ABI change.
76948         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76949         declare if ACL_NO_TRIVIAL is present.
76950         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76951         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76952         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76953         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76954         define if ACL_NO_TRIVIAL is present.
76955         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76956         and use the current ABI.
76957         (file_has_acl): Use same #if condition as elsewhere.
76958         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76959         in use, and use the current ABI.
76960         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76961         Reported by Jim Meyering.
76963 2008-06-09  Eric Blake  <ebb9@byu.net>
76965         Work around environments that (stupidly) ignore SIGALRM.
76966         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
76967         before using alarm().
76968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76969         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
76970         Reported by Ian Beckwith <ianb@erislabs.net>.
76972         Produce autobuild blurb earlier in log.
76973         * modules/autobuild (configure.ac-early): Move AB_INIT here.
76975 2008-06-09  Jim Meyering  <meyering@redhat.com>
76976         and Ondřej Vašík  <ovasik@redhat.com>
76978         utimens.c: correct kernel bug work-around
76979         Ondřej Vašík found that the invalid return value of 280 indicates
76980         failure, not success, and the kernel bug we're trying to work
76981         around affects not just the utimensat call, but also the fallback
76982         futimens call.
76983         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
76984         not success.
76985         [HAVE_FUTIMENS]: Use the same work-around, here.
76987 2008-06-09  Jim Meyering  <meyering@redhat.com>
76989         add more guards around definition of ACE_-related code
76990         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
76991         ALLOW and ACE_OWNER are also defined.
76993 2008-06-08  Bruno Haible  <bruno@clisp.org>
76995         * lib/acl-internal.h: Add me as co-author.
76996         * lib/file-has-acl.c: Likewise.
76997         * lib/set-mode-acl.c: Likewise.
76998         * lib/copy-acl.c: Likewise.
77000 2008-06-08  Bruno Haible  <bruno@clisp.org>
77002         Add support for AIX ACLs.
77003         * lib/acl-internal.h (acl_nontrivial): New declaration.
77004         * lib/file-has-acl.c (acl_nontrivial): New function.
77005         (file_has_acl): Add implementation using AIX 4 ACL API.
77006         * lib/set-mode-acl.c (qset_acl): Likewise.
77007         * lib/copy-acl.c (qcopy_acl): Likewise.
77009 2008-06-08  Bruno Haible  <bruno@clisp.org>
77011         Add support for HP-UX ACLs.
77012         * lib/acl-internal.h (acl_nontrivial): New declaration.
77013         * lib/file-has-acl.c (acl_nontrivial): New function.
77014         (file_has_acl): Add implementation using HP-UX 11 ACL API.
77015         * lib/set-mode-acl.c (qset_acl): Likewise.
77016         * lib/copy-acl.c (qcopy_acl): Likewise.
77018 2008-06-08  Bruno Haible  <bruno@clisp.org>
77020         Add support for Cygwin ACLs.
77021         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
77022         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
77023         the chmod_or_fchmod call.
77024         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
77026 2008-06-08  Bruno Haible  <bruno@clisp.org>
77028         Fix bug with setuid modes in Solaris 10+ code.
77029         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
77030         succeeded, when the mode contains some special bits.
77032 2008-06-08  Bruno Haible  <bruno@clisp.org>
77034         Add support for Solaris 7..10 ACLs.
77035         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
77036         declarations.
77037         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
77038         functions.
77039         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
77040         * lib/set-mode-acl.c (qset_acl): Likewise.
77041         * lib/copy-acl.c (qcopy_acl): Likewise.
77043 2008-06-08  Bruno Haible  <bruno@clisp.org>
77045         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
77046         declaration.
77047         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
77048         (acl_access_nontrivial): Remove MacOS X case.
77049         (file_has_acl): Use acl_extended_nontrivial.
77050         * lib/copy-acl.c (qcopy_acl): Likewise.
77052 2008-06-08  Bruno Haible  <bruno@clisp.org>
77054         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
77056 2008-06-08  Jim Meyering  <meyering@redhat.com>
77058         * modules/acl (Maintainer): Add Bruno Haible.
77060 2008-06-07  Bruno Haible  <bruno@clisp.org>
77062         Improve support for Tru64 ACLs.
77063         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
77064         ACL on OSF/1.
77066 2008-06-07  Bruno Haible  <bruno@clisp.org>
77068         Add support for MacOS X ACLs.
77069         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
77070         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
77071         * lib/set-mode-acl.c (qset_acl): Likewise.
77072         * lib/copy-acl.c (qcopy_acl): Likewise.
77074 2008-06-07  Bruno Haible  <bruno@clisp.org>
77076         Fix memory leak introduced on 2008-05-22.
77077         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
77078         use.
77080 2008-06-07  Bruno Haible  <bruno@clisp.org>
77082         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
77083         to construct an empty ACL.
77085 2008-06-07  Bruno Haible  <bruno@clisp.org>
77087         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
77088         precisely.
77089         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
77091 2008-06-07  Bruno Haible  <bruno@clisp.org>
77093         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
77094         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
77096 2008-06-07  Bruno Haible  <bruno@clisp.org>
77098         * doc/posix-functions/_setjmp.texi: Explain the use of this function
77099         regardless of POSIX.
77100         * doc/posix-functions/_longjmp.texi: Likewise.
77101         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
77102         SystemV platform in this case.
77104 2008-06-06  Eric Blake  <ebb9@byu.net>
77106         Document abort() bugs.
77107         * doc/posix-functions/abort.texi (abort): Mention anomalies.
77109         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
77110         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
77111         sigsetjmp.
77112         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
77113         siglongjmp, but only as a macro.
77114         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
77115         is obsolete.
77116         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
77118         Tweak documentation to cover cygwin argz bugs.
77119         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
77120         argz bug fix; no code change needed since no cygwin releases
77121         occurred between the last fix and the bug being tested.
77122         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
77123         module and recently fixed cygwin bugs.
77124         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
77125         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
77126         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
77127         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
77128         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
77129         Likewise.
77130         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
77131         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
77132         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
77133         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
77134         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
77135         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
77136         Likewise.
77138         Avoid gcc warning on cygwin.
77139         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
77140         !ACL_NO_TRIVIAL]: Avoid unused variable.
77142 2008-06-05  Eric Blake  <ebb9@byu.net>
77144         Be tolerant of UNKNOWN version in gnulib-tool test dir.
77145         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
77146         git-version-gen fails to come up with a version.
77147         Reported by Simon Josefsson.
77149 2008-06-05  Jim Meyering  <meyering@redhat.com>
77150             Paul Eggert  <eggert@cs.ucla.edu>
77152         utimens.c: work around a probable Linux kernel bug
77153         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
77154         appears to be a kernel bug that causes utimensat to return 280
77155         instead of 0, indicating success.
77157 2008-06-04  Bruno Haible  <bruno@clisp.org>
77159         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
77160         2008-06-01 commit.
77162 2008-06-04  Bruno Haible  <bruno@clisp.org>
77164         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
77165         * lib/file-has-acl.c (acl_access_nontrivial): New function.
77166         (file_has_acl): Use it. Save errno afterwards.
77167         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
77169 2008-06-03  Bruno Haible  <bruno@clisp.org>
77171         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
77172         draft code. Simplify #ifs.
77173         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
77174         Put Solaris code after POSIX-draft code. Fix comments regarding
77175         Solaris 10, HP-UX. Mention Cygwin.
77176         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
77178 2008-06-03  Eric Blake  <ebb9@byu.net>
77180         Provide fallback for older kernels.
77181         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
77182         Provide runtime fallback if kernel lacks support.
77183         Reported by Mike Frysinger.
77185 2008-06-02  Bruno Haible  <bruno@clisp.org>
77187         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
77188         it exists.
77190 2008-06-02  Bruno Haible  <bruno@clisp.org>
77192         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
77193         * lib/copy-acl.c (qcopy_acl): Update comment.
77195 2008-06-02  Bruno Haible  <bruno@clisp.org>
77197         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
77198         like ACL APIs.
77200 2008-06-02  Bruno Haible  <bruno@clisp.org>
77202         * tests/test-file-has-acl.sh: Use different code for Cygwin.
77203         * tests/test-set-mode-acl.sh: Likewise.
77204         * tests/test-copy-acl.sh: Likewise.
77205         * tests/test-copy-file.sh: Likewise.
77207 2008-06-02  Bruno Haible  <bruno@clisp.org>
77209         * tests/test-file-has-acl.sh: Remove unused code.
77211 2008-06-01  Bruno Haible  <bruno@clisp.org>
77213         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
77214         (copy_acl): Just a wrapper around qcopy_acl that emits the error
77215         messages.
77216         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
77218 2008-06-01  Bruno Haible  <bruno@clisp.org>
77220         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
77221         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
77222         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
77223         APIs.
77224         * modules/acl-tests (configure.ac): Remove tests now contained in
77225         m4/acl.m4.
77227 2008-06-02  Jim Meyering  <meyering@redhat.com>
77229         announce-gen: use a better key-server host name
77230         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
77231         it may be more consistently reliable.  Suggested by Werner Koch
77232         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
77234 2008-06-01  Bruno Haible  <bruno@clisp.org>
77236         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
77237         Reported by Voroskoi Andras <voroskoi@gmail.com>.
77239 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
77241         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
77243 2008-06-01  Bruno Haible  <bruno@clisp.org>
77245         New ACL tests.
77246         * tests/test-file-has-acl.sh: New file.
77247         * tests/test-file-has-acl.c: New file.
77248         * tests/test-set-mode-acl.sh: New file.
77249         * tests/test-set-mode-acl.c: New file.
77250         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
77251         * tests/test-copy-acl.c: New file.
77252         * modules/acl-tests: New file, based on modules/copy-file-tests.
77253         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
77254         (Depends-on): Add acl-tests.
77255         (configure.ac): Remove checks.
77256         (Makefile.am): Don't create test-sameacls program here any more.
77258 2008-06-01  Bruno Haible  <bruno@clisp.org>
77260         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
77261         * tests/test-sameacls.c: Include progname.h.
77262         (main): Invoke set_program_name. Portability fixes for MacOS X,
77263         Solaris, HP-UX.
77265 2008-06-01  Bruno Haible  <bruno@clisp.org>
77267         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
77268         function.
77269         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
77271 2008-06-01  Bruno Haible  <bruno@clisp.org>
77273         * modules/rpmatch (Depends-on): Add strdup.
77275 2008-06-01  Bruno Haible  <bruno@clisp.org>
77277         * lib/pipe.c: Include unistd-safer.h.
77278         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
77279         * modules/pipe (Depends-on): Add unistd-safer.
77281 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77283         * modules/autobuild (configure.ac): Call AB_INIT.
77285 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77287         * tests/test-getaddrinfo.c: Don't print debug messages by default.
77288         Suggested by Bruno Haible <bruno@clisp.org>.
77290 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77292         * tests/test-base64.c: Cast size_t to unsigned long when invoking
77293         printf.  Use %lu instead of %d.  Reported by Bruno Haible
77294         <bruno@clisp.org>.
77296 2008-05-29  Eric Blake  <ebb9@byu.net>
77298         Prefer new POSIX 200x interfaces over futimesat.
77299         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
77300         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
77301         when available.
77302         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
77304 2008-05-28  Bruno Haible  <bruno@clisp.org>
77306         * modules/stpcpy (License): Change to LGPLv2+.
77307         Requested by David Lutterkort <dlutter@redhat.com>.
77309 2008-05-27  Bruno Haible  <bruno@clisp.org>
77311         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
77312         current mingw.
77313         Reported by Jose E. Marchesi <jemarch@gnu.org>.
77315 2008-05-27  Bruno Haible  <bruno@clisp.org>
77317         * modules/iconv_open (Link): New section, from module 'iconv'.
77318         * modules/striconv (Link): Likewise.
77319         * modules/striconveh (Link): Likewise.
77320         * modules/xstriconv (Link): Likewise.
77321         * modules/unicodeio (Link): Likewise.
77322         * modules/propername (Link): Likewise.
77323         Reported by Jim Meyering.
77325 2008-05-26  Jim Meyering  <meyering@redhat.com>
77327         sha256: do not artificially restrict buffer length to be < 2^32
77328         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
77329         uint32_t to size_t.
77330         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
77331         to match.
77333         avoid unaligned access errors, e.g., on sparc
77334         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
77335         direct access through a possibly-unaligned uint64* pointer.
77336         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
77337         direct access through a possibly-unaligned uint32* pointer.
77338         Prompted by this patch from Tom "spot" Callaway:
77339         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
77341         sha512.c: fix typo in comment
77342         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
77344 2008-05-25  Bruno Haible  <bruno@clisp.org>
77346         * lib/set-mode-acl.c: Renamed from lib/acl.c.
77347         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
77348         (Makefile.am): Update lib_SOURCES.
77350 2008-05-25  Bruno Haible  <bruno@clisp.org>
77352         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
77354 2008-05-25  Jim Meyering  <meyering@redhat.com>
77356         useless-if-before-free: freed expr may have white-space differences
77357         * build-aux/useless-if-before-free: Recognize cases in which the
77358         freed expression differs from the tested one in embedded white
77359         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
77360         $1 was used, so we can't make any regexp shy.  Improved tests now
77361         detect this.
77363         useless-if-before-free: accept white space in the expression.
77364         * build-aux/useless-if-before-free: For now, any white space
77365         in the expression must be identical in the free argument.
77367         useless-if-before-free: efficiency tweak
77368         * build-aux/useless-if-before-free: Make the expression-matching
77369         regexp "shy".
77370         Make the *outer* regexp shy, not the expr-matching one.
77372         update code-in-comment to accept cast of free arg
77373         * build-aux/useless-if-before-free: Update regexp.
77375 2008-05-25  Bruno Haible  <bruno@clisp.org>
77377         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
77378         * modules/copy-file-tests (Files, Makefile.am): Update.
77379         * tests/test-copy-file.c (func_test_copy): Update.
77381 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
77383         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
77385 2008-05-23  Bruno Haible  <bruno@clisp.org>
77387         Improve support for ACLs on OSF/1.
77388         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
77389         Remove fallback for unknown flavors of ACLs.
77391 2008-05-22  Bruno Haible  <bruno@clisp.org>
77393         Add support for ACLs on OSF/1.
77394         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
77395         replacements.
77396         (acl_free_text): New macro fallback.
77397         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
77398         acl_free.
77399         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
77400         acl_free_text function. Require AC_C_INLINE.
77402 2008-05-22  Bruno Haible  <bruno@clisp.org>
77404         Make copy_acl work on MacOS X 10.5.
77405         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
77406         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
77407         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
77408         If MODE_INSIDE_ACL, don't assume that every system has the same text
77409         representation for ACLs as FreeBSD.
77410         * lib/copy-acl.c (copy_acl): Add support for platforms with
77411         !MODE_INSIDE_ACL.
77412         * lib/file-has-acl.c (file_has_acl): Likewise.
77413         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
77414         FreeBSD, MacOS X, or IRIX, respectively.
77416 2008-05-22  Bruno Haible  <bruno@clisp.org>
77418         * lib/acl.h: Don't include <sys/acl.h>.
77419         (GETACLCNT): Move fallback to lib/acl-internal.h.
77420         * lib/acl-internal.h: Include <sys/acl.h> here.
77421         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
77423 2008-05-22  Bruno Haible  <bruno@clisp.org>
77425         Split off copy_acl function to separate file.
77426         * lib/copy-acl.c: New file, extracted from lib/acl.c.
77427         * lib/acl.c (copy_acl): Moved function to separate file.
77428         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
77429         * modules/acl (Files): Add lib/copy-acl.c.
77430         (Makefiles.am): Augment lib_SOURCES.
77432 2008-05-22  Bruno Haible  <bruno@clisp.org>
77434         * modules/copy-file-tests: New file.
77435         * tests/test-copy-file.sh: New file.
77436         * tests/test-copy-file.c: New file.
77437         * tests/test-copy-file-sameacls.c: New file.
77439 2008-05-22  Eric Blake  <ebb9@byu.net>
77441         Avoid gcc warning.
77442         * tests/test-memcmp.c (main): Pass NULL indirectly.
77444 2008-05-21  Bruno Haible  <bruno@clisp.org>
77446         Add reference doc about ACLs.
77447         * doc/acl-resources.txt: New file.
77448         * doc/acl-cygwin.txt: New file.
77450 2008-05-21  Bruno Haible  <bruno@clisp.org>
77452         Avoid one more warning from gcc.
77453         * lib/vasnprintf.c (IF_LINT): Update comments.
77454         (VASNPRINTF): Use it also for the 'prefix' array initializer.
77456 2008-05-21  Jim Meyering  <meyering@redhat.com>
77458         avoid a warning from gcc
77459         * lib/vasnprintf.c (IF_LINT): Define.
77460         (scale10_round_decimal_long_double):
77461         Use it to avoid a "may be used uninitialized" warning.
77462         (scale10_round_decimal_double): Likewise.
77464 2008-05-21  Simon Josefsson  <simon@josefsson.org>
77466         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
77467         declared.
77469 2008-05-20  Bruno Haible  <bruno@clisp.org>
77471         * tests/test-memcmp.c (main): Test also the sign of the result. Test
77472         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
77474 2008-05-20  Simon Josefsson  <simon@josefsson.org>
77476         * modules/memcmp-tests: New file.
77477         * tests/test-memcmp.c: New file.
77479 2008-05-19  Bruno Haible  <bruno@clisp.org>
77481         * modules/propername (Notice, configure.ac): Put quoted "..." into
77482         --keyword option.
77483         * lib/propername.h: Update comments accordingly.
77484         Reported by Eric Blake.
77486 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
77488         * modules/getpass-gnu (Depends-on): Add fseeko.
77490 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77492         * modules/base64-tests: New file.
77494 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
77496         * lib/base64.c (base64_decode_ctx): If a decode context structure
77497         was passed in use it to ignore newlines.  If a context structure
77498         was _not_ passed in, continue to treat newlines as garbage (this
77499         is the historical behavior).  Formerly base64_decode.
77500         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77501         takes a decode context structure.
77502         * lib/base64.h (base64_decode): Macro for four-argument calls.
77503         (base64_decode_alloc): Likewise.
77504         * lib/base64.c (base64_decode_ctx): If a decode context structure
77505         was passed in use it to ignore newlines.  If a context structure
77506         was _not_ passed in, continue to treat newlines as garbage (this
77507         is the historical behavior).  Formerly base64_decode.
77508         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77509         takes a decode context structure.
77510         * lib/base64.h (base64_decode): Macro for four-argument calls.
77511         (base64_decode_alloc): Likewise.
77513 2008-05-19  Jim Meyering  <meyering@redhat.com>
77515         avoid a warning from gcc
77516         * lib/trim.c (IF_LINT): Define.
77517         (trim2): Use it to avoid a "may be used uninitialized" warning.
77519         Fix doc typo.
77520         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
77522 2008-05-19  Bruno Haible  <bruno@clisp.org>
77524         * doc/glibc-functions/getpass.texi: Document limits of other
77525         implementations.
77527 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77528             Bruno Haible <bruno@clisp.org>
77530         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
77532 2008-05-18  Bruno Haible  <bruno@clisp.org>
77534         * modules/propername: New file, from GNU gettext.
77535         * lib/propername.h: New file, from GNU gettext.
77536         * lib/propername.c: New file, from GNU gettext.
77537         * MODULES.html.sh (Internationalization functions): Add propername.
77539 2008-05-16  Jim Meyering  <meyering@redhat.com>
77540             Bruno Haible  <bruno@clisp.org>
77542         Avoid some warnings from "gcc -Wshadow".
77543         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
77545 2008-05-15  Eric Blake  <ebb9@byu.net>
77547         Extend previous patch to cygwin 1.7.0.
77548         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
77549         fast implementation in cygwin >= 1.7.0.
77550         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77551         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77553 2008-05-15  Bruno Haible  <bruno@clisp.org>
77555         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
77556         implementation in glibc >= 2.9.
77557         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77558         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77560 2008-05-15  Bruno Haible  <bruno@clisp.org>
77562         * MODULES.html.sh (Internationalization functions): Remove linebreak.
77563         (Unicode string functions): Add unilbrk/*.
77564         Reported by Karl Berry.
77566 2008-05-15  Eric Blake  <ebb9@byu.net>
77568         Fix violation of <stdbool.h> replacement in regex.
77569         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
77570         * lib/regexec.c (re_search_internal): Likewise.
77571         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
77573 2008-05-15  Jim Meyering  <meyering@redhat.com>
77575         avoid distracting test output when git or cvs is not found
77576         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
77577         * tests/test-vc-list-files-git.sh: Likewise.
77579 2008-05-15  Eric Blake  <ebb9@byu.net>
77581         Glibc finally accepted the memmem speedup code, bugzilla #5514.
77582         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
77583         glibc version.
77584         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77585         * doc/posix-functions/strstr.texi (strstr): Likewise.
77586         * lib/str-two-way.h (MAX): Sychronize with glibc.
77588 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
77590         * lib/regcomp.c (optimize_utf8): Add a note on why we test
77591         opr.ctx_type.
77592         (calc_first): Initialize constraint field.
77593         (duplicate_node_closure): Use it instead of special casing ANCHORS.
77594         Fix grammar.
77595         (duplicate_node): Merge constraint field for all node types.
77596         (calc_eclosure_iter): Look at constraint field for all node types.
77597         * lib/regex_internal.c (create_cd_newstate): Don't look at
77598         opr.ctx_type.
77600 2008-05-14  Bruno Haible  <bruno@clisp.org>
77602         Help GCC to do better code generation.
77603         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
77604         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
77605         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
77606         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
77607         Declare with attribute 'malloc' if supported.
77609 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
77611         use "echo STR|wc -c" rather than unportable "expr length STR"
77612         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
77613         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
77615 2008-05-14  Jim Meyering  <meyering@redhat.com>
77617         use dd ibs=$n count=1 ... rather than less-portable head -c$n
77618         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
77619         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
77620         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
77621         via Collin Lasse.
77623 2008-05-14  Eric Blake  <ebb9@byu.net>
77625         Avoid quadratic growth in gl_LIBSOURCES.
77626         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
77627         Suggested by Bruno Haible.
77629         Test xmemdup0.
77630         * modules/xmemdup0-tests: New file.
77631         * tests/test-xmemdup0.c: Likewise.
77633 2008-05-13  Eric Blake  <ebb9@byu.net>
77635         Split xmemdup0 into its own module.
77636         * modules/xmemdup0: New file.
77637         * lib/xmemdup0.h: Likewise.
77638         * lib/xmemdup0.c: Likewise.
77639         * MODULES.html.sh (Memory management functions): Add xmemdup0.
77640         * lib/xalloc.h (xmemdup0): Remove.
77641         * lib/xmalloc.c (xmemdup0): Likewise.
77643 2008-05-13  Eric Blake  <ebb9@byu.net>
77644             Bruno Haible  <bruno@clisp.org>
77646         Reduce number of forks required during autoconf.
77647         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
77648         and gl_LIBSOURCES_DIR.
77649         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
77650         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
77651         m4_syscmd per file.
77652         <m4_foreach_w>: Move...
77653         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
77655 2008-05-13  Eric Blake  <ebb9@byu.net>
77657         * gnulib-tool: Fix various comment typos.
77659 2008-05-12  Bruno Haible  <bruno@clisp.org>
77661         Tailor the linebreaking algorithm.
77662         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
77664 2008-05-12  Bruno Haible  <bruno@clisp.org>
77666         Update to Unicode 5.0.0.
77667         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77668         LBP_JV, LBP_JT. Redistribute values.
77669         (unilbrk_table): Change size.
77670         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
77671         Unicode TR#14 rev. 22.
77672         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77673         LBP_JV, LBP_JT. Redistribute values.
77674         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
77675         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
77676         Update.
77677         * lib/unilbrk/lbrkprop1.h: Regenerated.
77678         * lib/unilbrk/lbrkprop2.h: Regenerated.
77679         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
77680         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
77681         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
77682         Likewise.
77683         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
77684         Likewise.
77685         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
77686         result.
77687         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
77688         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
77689         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
77690         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
77691         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
77692         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
77694 2008-05-11  Bruno Haible  <bruno@clisp.org>
77696         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
77698 2008-05-11  Bruno Haible  <bruno@clisp.org>
77700         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
77701         * modules/unilbrk/gen-lbrk: New file.
77703 2008-05-11  Bruno Haible  <bruno@clisp.org>
77705         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
77706         * m4/sha512.m4 (gl_SHA512): Likewise.
77708 2008-05-11  Jim Meyering  <meyering@redhat.com>
77710         New modules: crypto/sha256, crypto/sha512 (from coreutils)
77711         * modules/crypto/sha256: New file.
77712         * modules/crypto/sha512: Likewise.
77713         * lib/sha256.c: Likewise.
77714         * lib/sha256.h: Likewise.
77715         * lib/sha512.c: Likewise.
77716         * lib/sha512.h: Likewise.
77717         * lib/u64.h: Likewise.
77718         * m4/sha256.m4: Likewise.
77719         * m4/sha512.m4: Likewise.
77720         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
77722 2008-05-10  Bruno Haible  <bruno@clisp.org>
77724         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
77725         (Input/Output <stdio.h>): Add xprintf.
77726         (Signal handling <signal.h>): Add strsignal.
77727         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
77728         (Core language properties): Add func.
77729         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
77730         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
77731         strings.
77732         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
77733         (Input/output): New section.
77734         (File system functions): Add openat-die, stat-macros.
77735         (Networking functions): Add sockets.
77736         (Unicode string functions): Add unictype/*.
77737         (Support for building libraries and executables): Add gperf.
77738         (Support for building documentation): Add agpl-3.0.
77739         (Misc): Add nocrash.
77741 2008-05-10  Bruno Haible  <bruno@clisp.org>
77743         * modules/unictype/gen-ctype: New file.
77745 2008-05-10  Jim Meyering  <meyering@redhat.com>
77747         Make chdir-safer.c more efficient on a system with no symlinks.
77748         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77749         also if ELOOP is zero.  Suggested by Bruno Haible.
77751         Make chdir-safer.c slightly safer.
77752         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77753         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77755         Avoid compile failure on systems without ELOOP (like mingw).
77756         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77757         Reported by Bruno Haible.
77759 2008-05-10  Bruno Haible  <bruno@clisp.org>
77761         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77762         (is_utf8_encoding): Use a case-insensitive comparison.
77763         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77764         streq.
77766 2008-05-10  Bruno Haible  <bruno@clisp.org>
77768         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77769         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77770         * lib/unilbrk/ulc-common.h (iconv_string_length,
77771         iconv_string_keeping_offsets): Remove declarations.
77772         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77773         Don't include <iconv.h>, streq.h, xsize.h.
77774         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77775         conversion.
77776         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77777         <iconv.h>, streq.h, xsize.h.
77778         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77779         conversion.
77780         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77781         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77782         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77783         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77785 2008-05-10  Bruno Haible  <bruno@clisp.org>
77787         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77788         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77790         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77791         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77793         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77794         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77796         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77797         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77799         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77800         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77802         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77803         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77805         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77806         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77808         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77809         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77811 2008-05-10  Bruno Haible  <bruno@clisp.org>
77813         Split up 'linebreak' module.
77814         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77815         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77816         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77817         modifications.
77818         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77819         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77820         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77821         lib/linebreak.c.
77822         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77823         lib/linebreak.c.
77824         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77825         lib/linebreak.c.
77826         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77827         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77828         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77829         lib/linebreak.c.
77830         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77831         lib/linebreak.c.
77832         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77833         lib/linebreak.c.
77834         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77835         lib/linebreak.c.
77836         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77837         lib/linebreak.c.
77838         * modules/unilbrk/base: New file.
77839         * modules/unilbrk/tables: New file.
77840         * modules/unilbrk/u8-possible-linebreaks: New file.
77841         * modules/unilbrk/u16-possible-linebreaks: New file.
77842         * modules/unilbrk/u32-possible-linebreaks: New file.
77843         * modules/unilbrk/ulc-common: New file.
77844         * modules/unilbrk/ulc-possible-linebreaks: New file.
77845         * modules/unilbrk/u8-width-linebreaks: New file.
77846         * modules/unilbrk/u16-width-linebreaks: New file.
77847         * modules/unilbrk/u32-width-linebreaks: New file.
77848         * modules/unilbrk/ulc-width-linebreaks: New file.
77849         * lib/linebreak.h: Remove file.
77850         * lib/linebreak.c: Remove file.
77851         * m4/linebreak.m4: Remove file.
77852         * modules/linebreak: Remove file.
77853         * NEWS: Mention the changes.
77855 2008-05-09  Eric Blake  <ebb9@byu.net>
77857         Add xmemdup0.
77858         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77859         implementation.
77860         * lib/xmalloc.c (xmemdup0): New C implementation.
77862 2008-05-08  Bruno Haible  <bruno@clisp.org>
77864         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77866 2008-05-07  Eric Blake  <ebb9@byu.net>
77868         Support cross-compilation of <wctype.h>.
77869         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77870         AC_CACHE_CHECK.
77872 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77874         * build-aux/vc-list-files: Add support for bzr.
77876 2008-05-03  Jim Meyering  <meyering@redhat.com>
77878         avoid failed assertion with tight malloc
77879         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77881 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77883         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77884         are needed from arpa/inet.h.
77885         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77886         Reported by Bruno Haible.
77888 2008-05-02  Jim Meyering  <meyering@redhat.com>
77890         avoid compilation error on FreeBSD 6
77891         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77893 2008-05-01  Jim Meyering  <meyering@redhat.com>
77895         useless-if-before-free: correct --help's exit status description
77896         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77897         for one or more matches, etc.  Reported by Bruno Haible.
77899         vc-list-files: make the stand-alone gnulib test work
77900         * modules/vc-list-files-tests (configure.ac):
77901         Define and AC_SUBST abs_aux_dir.
77902         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77903         $(abs_top_srcdir) to each script and having each of them
77904         duplicate the work of setting PATH, set PATH here, using
77905         the new variable, abs_aux_dir instead.
77906         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77907         * tests/test-vc-list-files-git.sh: Likewise.
77908         Reported by Bruno Haible.
77910 2008-05-01  Bruno Haible  <bruno@clisp.org>
77912         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77913         reallocation. Rename 'done' to 'found_delimiter'.
77915 2008-05-01  Jim Meyering  <meyering@redhat.com>
77917         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77918         * build-aux/vc-list-files: Use `...`, not $(...).
77920 2008-04-30  Jim Meyering  <meyering@redhat.com>
77922         add tests for vc-list-files
77923         * modules/vc-list-files-tests: New module.
77924         * tests/test-vc-list-files-cvs.sh: New file.
77925         * tests/test-vc-list-files-git.sh: New file.
77927         avoid a warning from gcc
77928         * lib/getndelim2.c (IF_LINT): Define.
77929         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77931         vc-list-files: work properly with build-aux/cvsu, too
77932         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77933         to all cvs-based clauses.
77935         vc-list-files: work properly in the CVS+awk case, too
77936         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77938         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77939         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77940         take more than one file argument, so .  Add quotes, just in case $dir
77941         ever contains a shell meta-character.  Prompted by Soren Hansen in
77942         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77944 2008-04-29  Eric Blake  <ebb9@byu.net>
77946         Optimize getndelim2 to use block operations when possible.
77947         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77948         freadseek, and memchr2.
77949         * lib/getndelim2.c (getndelim2): Use them for block reads.
77951 2008-04-29  Bruno Haible  <bruno@clisp.org>
77953         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77954         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77955         * modules/inet_ntop (Depends-on): Add extensions.
77956         * modules/inet_pton (Depends-on): Likewise.
77957         Reported by Simon Josefsson.
77959 2008-04-29  Jim Meyering  <meyering@redhat.com>
77961         When the is more than one match in a block, match all of them.
77962         * build-aux/useless-if-before-free: Iterate through each block
77963         until there are no more matches.
77965         Fix broken useless-if-before-free script.
77966         * build-aux/useless-if-before-free: Fix typo: missing "?" after
77967         the expression to match cast of argument to free-like function.
77969 2008-04-29  Eric Blake  <ebb9@byu.net>
77971         Use new header.
77972         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
77974 2008-04-29  Jim Meyering  <meyering@redhat.com>
77976         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
77977         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
77978         by gnulib to exist and to declare e.g., inet_ntop.
77979         Don't include "inet_ntop.h", now removed.
77981         * m4/arpa_inet_h.m4: Remove trailing blanks.
77983 2008-04-29  Eric Blake  <ebb9@byu.net>
77985         Silence valgrind on safe reads beyond potential array bounds.
77986         * lib/rawmemchr.valgrind: New file.
77987         * lib/strchrnul.valgrind: Likewise.
77988         * modules/rawmemchr (Files): Distribute new file.
77989         * modules/strchrnul (Files): Likewise.
77990         Suggested by Bruno Haible.
77992 2008-04-29  Bruno Haible  <bruno@clisp.org>
77994         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
77995         (inet_ntop, inet_pton): Change portability warning's wording.
77996         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
77997         Invoke gl_CHECK_NEXT_HEADERS.
77998         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
77999         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
78000         set ARPA_INET_H.
78001         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78002         * modules/arpa_inet (Description): No longer only for systems that
78003         lack it.
78004         (Depends-on): Add include_next.
78005         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
78006         HAVE_ARPA_INET_H.
78008 2008-04-29  Jim Meyering  <meyering@redhat.com>
78010         * modules/mkdir (License): Re-license as LGPLv2+.
78012 2008-04-29  Bruno Haible  <bruno@clisp.org>
78014         * modules/rawmemchr (Maintainer): Set to Eric.
78015         * modules/strchrnul (Maintainer): Likewise.
78017 2008-04-29  Simon Josefsson  <simon@josefsson.org>
78019         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
78020         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
78022         * modules/arpa_inet (arpa/inet.h): Use them.
78024 2008-04-28  Eric Blake  <ebb9@byu.net>
78026         Test getndelim2.
78027         * modules/getndelim2-tests: New file.
78028         * tests/test-getndelim2.c: Likewise.
78029         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
78030         stream.
78031         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
78033         * MODULES.html.sh: Document new module.
78035 2008-04-20  Bruno Haible  <bruno@clisp.org>
78037         * lib/c-stack.c (die): Use raise.
78038         * modules/c-stack (Depends-on): Add raise.
78040 2008-04-28  Bruno Haible  <bruno@clisp.org>
78042         Expect rpmatch to be declared.
78043         * lib/yesno.c (rpmatch): Remove declaration.
78045         Declare rpmatch.
78046         * lib/stdlib.in.h (rpmatch): New declaration.
78047         * lib/rpmatch.c: Include <stdlib.h> first.
78048         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
78049         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
78050         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
78051         HAVE_RPMATCH.
78052         * modules/rpmatch (Depends-on): Add stdlib, extensions.
78053         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
78054         (Include): Set to <stdlib.h>.
78055         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
78056         HAVE_RPMATCH.
78057         * NEWS: Document the change.
78059 2008-04-28  Bruno Haible  <bruno@clisp.org>
78061         Change rpmatch to use nl_langinfo when appropriate.
78062         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
78063         (N_): New macro.
78064         (localized_pattern): New function/macro.
78065         (try): Remove match, nomatch arguments. Copy the pattern into safe
78066         memory before caching it.
78067         (rpmatch): Use localized_pattern. Add translator comments.
78068         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
78069         Suggested by Eric Blake.
78070         * modules/rpmatch (Depends-on): Add stdbool.
78072 2008-04-28  Eric Blake  <ebb9@byu.net>
78074         Add rawmemchr module, matching glibc.
78075         * modules/string (Makefile.am): New indicator.
78076         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
78077         * lib/string.in.h (rawmemchr): Declare when appropriate.
78078         * modules/rawmemchr: New file.
78079         * m4/rawmemchr.m4: Likewise.
78080         * lib/rawmemchr.c: Likewise.
78081         * modules/rawmemchr-tests: Likewise.
78082         * tests/test-rawmemchr.c: Likewise.
78083         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
78084         module.
78085         * modules/strchrnul (Depends-on): Add rawmemchr.
78086         * lib/strchrnul.c (strchrnul): Optimize a corner case.
78088         Whitespace cleanup.
78089         * tests/test-strchrnul.c: Reindent.
78090         * lib/strchrnul.c: Likewise.
78092         Optimize and test strchrnul.
78093         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
78094         * modules/strchrnul-tests: New file.
78095         * tests/test-strchrnul.c: Likewise.
78097         Remove intprops dependency.
78098         * modules/memchr (Depends-on): Remove intprops.
78099         * modules/memrchr (Depends-on): Likewise.
78100         * modules/memchr2 (Depends-on): Likewise.
78101         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
78102         * lib/memrchr.c (__memrchr): Likewise.
78103         * lib/memrchr2.c (memchr2): Likewise.
78104         Reported by Simon Josefsson.
78106 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78108         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
78109         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78111 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78113         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
78115         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
78117         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
78119         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
78120         declarations.
78121         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
78123         * m4/inet_pton.m4: Don't check for header files.
78125         * m4/inet_ntop.m4: Don't check for header files.
78127 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78129         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
78130         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
78131         trigger for cygwin).
78132         Reported by Bruno Haible  <bruno@clisp.org>.
78134 2008-04-28  Bruno Haible  <bruno@clisp.org>
78136         * doc/posix-functions/strdup.texi: Mention mingw problem.
78138 2008-04-27  Bruno Haible  <bruno@clisp.org>
78140         * modules/stat-time-tests (Depends-on): Add sleep.
78141         * tests/test-stat-time.c (force_unlink): New function.
78142         (cleanup): Use it.
78143         (test_mtime): Remove the ctime related tests.
78144         (test_ctime): New function, containing the ctime related tests.
78145         (main): Call test_ctime, except on native Windows platforms.
78147 2008-04-27  Bruno Haible  <bruno@clisp.org>
78149         * lib/rpmatch.c (rpmatch): Add some comments.
78150         Reported by James Youngman <jay@gnu.org>.
78152 2008-04-27  Bruno Haible  <bruno@clisp.org>
78154         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
78155         quiet NaNs.
78157 2008-04-27  Bruno Haible  <bruno@clisp.org>
78159         Make test-yesno.sh work on mingw.
78160         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
78161         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
78162         (main): Set stdin to binary mode.
78163         * modules/yesno-tests (Depends-on): Add binary-io.
78165 2008-04-27  Bruno Haible  <bruno@clisp.org>
78167         Fix 'isfinite' on x86, x86_64, ia64 platforms.
78168         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
78169         argument that lie outside the IEEE 854 domain.
78170         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
78171         (gl_ISFINITE): Use it.
78172         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
78174 2008-04-27  Bruno Haible  <bruno@clisp.org>
78176         Allow local renaming in config.h.
78177         * lib/memrchr.c (memrchr): Don't undefine outside libc.
78179 2008-04-27  Bruno Haible  <bruno@clisp.org>
78181         * lib/memchr.c (__memchr): Change type of 'i'.
78182         * lib/memchr2.c (memchr2): Likewise.
78184 2008-04-26  Eric Blake  <ebb9@byu.net>
78185         and Bruno Haible  <bruno@clisp.org>
78187         Optimize and test memrchr.
78188         * modules/memrchr (Depends-on): Add intprops.
78189         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
78190         * modules/memrchr-tests: New file.
78191         * tests/test-memrchr.c: New file.
78193 2008-04-26  Bruno Haible  <bruno@clisp.org>
78195         Add tentative support for DragonFly BSD.
78196         * lib/stdio-impl.h: Add macros for DragonFly BSD.
78197         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
78198         fp.
78199         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78200         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
78201         * lib/fpurge.c (fpurge): Likewise.
78202         * lib/freadable.c (freaadable): Likewise.
78203         * lib/freadahead.c (freadahead): Likewise.
78204         * lib/freading.c (freading): Likewise.
78205         * lib/freadptr.c (freadptr): Likewise.
78206         * lib/freadseek.c (freadptrinc): Likewise.
78207         * lib/fseeko.c (fseeko): Likewise.
78208         * lib/fseterr.c (fseterr): Likewise.
78209         * lib/fwritable.c (fwritable): Likewise.
78210         * lib/fwriting.c (fwriting): Likewise.
78212 2008-04-26  Bruno Haible  <bruno@clisp.org>
78214         * lib/stdio-impl.h: New file.
78215         * lib/fbufmode.c: Include stdio-impl.h.
78216         (fbufmode): Use fp_, remove redundant #defines.
78217         * lib/fflush.c: Include stdio-impl.h.
78218         (clear_ungetc_buffer): Remove redundant #defines.
78219         * lib/fpurge.c: Include stdio-impl.h.
78220         (fpurge): Remove redundant #defines.
78221         * lib/freadable.c: Include stdio-impl.h.
78222         (freadable): Remove redundant #defines.
78223         * lib/freadahead.c: Include stdio-impl.h.
78224         (freadahead): Remove redundant #defines.
78225         * lib/freading.c: Include stdio-impl.h.
78226         (freading): Remove redundant #defines.
78227         * lib/freadptr.c: Include stdio-impl.h.
78228         (freadptr): Remove redundant #defines.
78229         * lib/freadseek.c: Include stdio-impl.h.
78230         (freadptrinc): Remove redundant #defines.
78231         * lib/fseeko.c: Include stdio-impl.h.
78232         (rpl_fseeko): Remove redundant #defines.
78233         * lib/fseterr.c: Include stdio-impl.h.
78234         (fseterr): Remove redundant #defines.
78235         * lib/fwritable.c: Include stdio-impl.h.
78236         (fwritable: Remove redundant #defines.
78237         * lib/fwriting.c: Include stdio-impl.h.
78238         (fwriting): Remove redundant #defines.
78239         * modules/fbufmode (Files): Add lib/stdio-impl.h.
78240         * modules/fflush (Files): Likewise.
78241         * modules/fpurge (Files): Likewise.
78242         * modules/freadable (Files): Likewise.
78243         * modules/freadahead (Files): Likewise.
78244         * modules/freading (Files): Likewise.
78245         * modules/freadptr (Files): Likewise.
78246         * modules/freadseek (Files): Likewise.
78247         * modules/fseeko (Files): Likewise.
78248         * modules/fseterr (Files): Likewise.
78249         * modules/fwritable (Files): Likewise.
78250         * modules/fwriting (Files): Likewise.
78252 2008-04-26  Bruno Haible  <bruno@clisp.org>
78254         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78255         restore_seek_optimization, update_fpos_cache): New functions, extracted
78256         from rpl_fflush.
78257         (rpl_fflush): Use them.
78258         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
78259         (gl_REPLACE_FFLUSH): Use it.
78261 2008-04-26  Bruno Haible  <bruno@clisp.org>
78263         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
78264         on Solaris.
78265         * tests/test-xstrtoimax.sh: Likewise.
78266         * tests/test-xstrtoumax.sh: Likewise.
78267         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78269 2008-04-26  Bruno Haible  <bruno@clisp.org>
78271         * modules/memchr-tests: New file.
78272         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
78274 2008-04-26  Eric Blake  <ebb9@byu.net>
78275             Bruno Haible  <bruno@clisp.org>
78277         * lib/memchr.c: Include intprops.h.
78278         (__memchr): Optimize parallel detection of matching bytes. Rename local
78279         variables. Add explanatory comments.
78281 2008-04-26  Bruno Haible  <bruno@clisp.org>
78283         Fix module 'memchr', broken since 2000-10-28.
78284         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
78286 2008-04-26  Bruno Haible  <bruno@clisp.org>
78288         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
78289         comments.
78291 2008-04-25  Eric Blake  <ebb9@byu.net>
78293         Use native fstatat on cygwin 1.7.0.
78294         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
78295         first.
78297 2008-04-23  Eric Blake  <ebb9@byu.net>
78299         Improve memchr2 performance.
78300         * lib/memchr2.c (memchr2): Further optimize parallel detection of
78301         NUL bytes.
78302         * modules/memchr2 (Depends-on): Use intprops.h.
78304 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78306         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
78307         an inline function instead of a CPP macro.  Patch by Ben Pfaff
78308         <blp@cs.stanford.edu>.
78310 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78312         * lib/arpa_inet.in.h: New file.
78314         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
78315         (Makefile.am): Sed in substitute header file.
78317         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
78318         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
78320         * modules/inet_ntop (configure.ac): Use
78321         gl_ARPA_INET_MODULE_INDICATOR.
78323         * modules/inet_pton (configure.ac): Use
78324         gl_ARPA_INET_MODULE_INDICATOR.
78326 2008-04-22  Jim Meyering  <meyering@redhat.com>
78328         * modules/verify (License): Re-license as LGPLv2+.
78330 2008-04-22  Simon Josefsson  <simon@josefsson.org>
78332         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
78333         parameter to void* as per POSIX standard (MinGW uses char*).
78335 2008-04-21  Bruno Haible  <bruno@clisp.org>
78337         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78338         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78339         Define to replacements if REPLACE_ISWCNTRL is 1.
78340         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
78341         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
78342         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
78343         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
78344         what it fixes.
78345         * doc/posix-functions/iswalpha.texi: Likewise.
78346         * doc/posix-functions/iswblank.texi: Likewise.
78347         * doc/posix-functions/iswcntrl.texi: Likewise.
78348         * doc/posix-functions/iswdigit.texi: Likewise.
78349         * doc/posix-functions/iswgraph.texi: Likewise.
78350         * doc/posix-functions/iswlower.texi: Likewise.
78351         * doc/posix-functions/iswprint.texi: Likewise.
78352         * doc/posix-functions/iswpunct.texi: Likewise.
78353         * doc/posix-functions/iswspace.texi: Likewise.
78354         * doc/posix-functions/iswupper.texi: Likewise.
78355         * doc/posix-functions/iswxdigit.texi: Likewise.
78356         Reported by Alain Guibert.
78358 2008-04-21  Bruno Haible  <bruno@clisp.org>
78360         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
78361         Patch by Alain Guibert.
78363 2008-04-21  Bruno Haible  <bruno@clisp.org>
78365         Fix test failures on mingw.
78366         * tests/test-xstrtol.c (print_no_progname): New function.
78367         (main): Install it in error_print_progname hook.
78368         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
78369         * tests/test-xstrtoimax.sh: Likewise.
78370         * tests/test-xstrtoumax.sh: Likewise.
78372 2008-04-21  Bruno Haible  <bruno@clisp.org>
78374         Fix test failure on mingw.
78375         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
78377 2008-04-21  Bruno Haible  <bruno@clisp.org>
78379         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
78380         Actually assign a value.
78382 2008-04-20  Bruno Haible  <bruno@clisp.org>
78384         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
78385         take 2.
78386         * lib/canonicalize.c (canonicalize_file_name): Elide if the
78387         'canonicalize-lgpl' module is also used.
78388         * lib/canonicalize-lgpl.c: Undo last change.
78389         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
78391 2008-04-20  Bruno Haible  <bruno@clisp.org>
78393         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
78394         config.h. Provide _mkdir based fallback for mingw.
78395         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
78396         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
78397         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
78398         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
78399         rather than defining mkdir in config.h.
78400         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
78401         (gl_SYS_STAT_H_DEFAULTS): New macro.
78402         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
78403         HAVE_IO_H any more.
78404         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
78405         HAVE_DECL_MKDIR and HAVE_IO_H.
78407 2008-04-20  Bruno Haible  <bruno@clisp.org>
78409         * lib/isapipe.c: Port to native Windows platforms.
78411 2008-04-20  Bruno Haible  <bruno@clisp.org>
78413         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
78415 2008-04-21  Eric Blake  <ebb9@byu.net>
78417         Work around preprocessors that don't handle UINTMAX_MAX.
78418         * lib/memchr2.c (memchr2): Avoid embedded #if.
78419         Reported by Alain Guibert, fix suggested by Bruno Haible.
78421 2008-04-21  Simon Josefsson  <simon@josefsson.org>
78423         * doc/posix-functions/strftime.texi (strftime): Explain better
78424         Windows incompatibility.  Suggested by Micah Cowan
78425         <micah@cowan.name>.
78427 2008-04-20  Bruno Haible  <bruno@clisp.org>
78429         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
78430         unistr/u8-mblen.
78432 2008-04-20  Bruno Haible  <bruno@clisp.org>
78434         Fix test failure on platforms with non-GNU iconv.
78435         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
78436         (U_TO_U8): Use it, rather than u16_to_u8.
78437         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
78438         units at the end of the input string.
78439         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
78441 2008-04-20  Bruno Haible  <bruno@clisp.org>
78443         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
78444         when the resulting length is 0.
78445         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
78447 2008-04-20  Bruno Haible  <bruno@clisp.org>
78449         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
78450         works.
78451         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
78453 2008-04-20  Bruno Haible  <bruno@clisp.org>
78455         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
78456         * modules/tsearch-tests (configure.ac): Test for initstate function.
78458 2008-04-20  Bruno Haible  <bruno@clisp.org>
78460         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
78461         for nlink_t if missing.
78462         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
78464 2008-04-19  Bruno Haible  <bruno@clisp.org>
78466         Work around snprintf bug on Linux libc5.
78467         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
78468         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78469         gl_SNPRINTF_SIZE1.
78470         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78471         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
78472         that test failed.
78473         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
78474         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
78475         * modules/snprintf (Files): Add m4/printf.m4.
78476         * modules/vsnprintf (Files): Likewise.
78477         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
78478         * doc/posix-functions/vsnprintf.texi: Likewise.
78480 2008-04-19  Bruno Haible  <bruno@clisp.org>
78482         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
78483         from 0.0058 to less than 10^-7.
78485 2008-04-19  Bruno Haible  <bruno@clisp.org>
78487         Fix rounding when a precision is given.
78488         * lib/vasnprintf.c (is_borderline): New function.
78489         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
78490         9...9x.
78491         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
78492         %e, %g.
78493         * tests/test-vasprintf-posix.c (test_function): Likewise.
78494         * tests/test-snprintf-posix.h (test_function): Likewise.
78495         * tests/test-sprintf-posix.h (test_function): Likewise.
78496         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
78497         * tests/test-printf-posix.h (test_function): Likewise.
78498         * tests/test-printf-posix.output: Update.
78499         Reported by John Darrington <john@darrington.wattle.id.au> via
78500         Ben Pfaff <blp@cs.stanford.edu>.
78502 2008-04-18  Simon Josefsson  <simon@josefsson.org>
78504         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
78505         Suggested by Bruno Haible <bruno@clisp.org>.
78507 2008-04-17  Bruno Haible  <bruno@clisp.org>
78509         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
78510         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
78511         implementation.
78512         Patch by Bruce Merry <bmerry@gmail.com>.
78514 2008-04-17  Simon Josefsson  <simon@josefsson.org>
78516         * doc/posix-functions/strftime.texi (strftime): Mention that %e
78517         doesn't work under Windows.
78519 2008-04-16  Bruno Haible  <bruno@clisp.org>
78521         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
78522         New macros.
78523         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
78524         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
78525         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
78526         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
78527         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
78528         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
78529         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
78530         macros.
78531         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
78532         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
78533         Northern Sotho, Uighur.
78535 2008-04-16  Bruno Haible  <bruno@clisp.org>
78537         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
78538         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
78539         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
78540         Reported by Daniel Bergström <daniel@octocode.com>.
78542 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
78543             Bruno Haible  <bruno@clisp.org>
78545         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
78546         function.
78547         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
78548         New functions, mostly extracted from gl_locale_name_default.
78549         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
78551 2008-04-16  Eric Blake  <ebb9@byu.net>
78553         Adjust strtod detection to catch glibc 2.7 bug.
78554         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
78555         Reported by John Gatewood Ham.
78557 2008-04-16  Bruno Haible  <bruno@clisp.org>
78559         Add tentative support for Linux libc5.
78560         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
78561         * lib/fpurge.c (fpurge): Likewise.
78562         * lib/freadable.c (freadable): Likewise.
78563         * lib/freadahead.c (freadahead): Likewise.
78564         * lib/freading.c (freading): Likewise.
78565         * lib/freadptr.c (freadptr): Likewise.
78566         * lib/freadseek.c (freadptrinc): Likewise.
78567         * lib/fseeko.c (rpl_fseeko): Likewise.
78568         * lib/fseterr.c (fseterr): Likewise.
78569         * lib/fwritable.c (fwritable): Likewise.
78570         * lib/fwriting.c (fwriting): Likewise.
78571         Reported by Alain Guibert <alguibert+bts@free.fr>.
78573 2008-04-15  Bruno Haible  <bruno@clisp.org>
78575         * modules/mathl (configure.ac): Define module indicator.
78577 2008-04-15  Bruno Haible  <bruno@clisp.org>
78579         * lib/logl.c (logl): Remove unused variables.
78581 2008-04-15  Bruno Haible  <bruno@clisp.org>
78583         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
78584         fails.
78586 2008-04-15  Bruno Haible  <bruno@clisp.org>
78588         * lib/trim.c (trim2): Fix argument of isspace() macro.
78590 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
78592         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
78593         to 0.
78594         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
78596 2008-04-14  Bruno Haible  <bruno@clisp.org>
78598         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
78599         AC_LANG_PROGRAM argument.
78600         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
78601         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
78602         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78603         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
78604         * m4/math_h.m4 (gl_MATH_H): Likewise.
78605         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
78606         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
78607         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
78608         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
78609         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78610         * m4/regex.m4 (gl_REGEX): Likewise.
78611         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
78612         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
78613         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78614         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
78615         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
78616         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78617         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
78618         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
78620 2008-04-14  Jim Meyering  <meyering@redhat.com>
78622         test-strtod: fix typos: s/abs/fabs/
78623         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
78625 2008-04-13  Bruno Haible  <bruno@clisp.org>
78627         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
78628         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
78629         module is also used and while not building the reloc-wrapper.
78631 2008-04-13  Bruno Haible  <bruno@clisp.org>
78633         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
78635 2008-04-13  Bruno Haible  <bruno@clisp.org>
78637         Fix AIX compilation failure introduced on 2008-04-02.
78638         * tests/test-frexp.c (exp): Undefine before redefining.
78639         * tests/test-frexpl.c (exp): Likewise.
78641 2008-04-13  Bruno Haible  <bruno@clisp.org>
78643         Work around a HP-UX stdio bug.
78644         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
78645         * tests/test-ftello.c (main): Likewise.
78646         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
78647         * doc/posix-functions/ftello.texi: Likewise.
78649 2008-04-13  Bruno Haible  <bruno@clisp.org>
78651         Make test-signbit pass on HP-UX/hppa.
78652         * tests/test-signbit.c (minus_zerol): New variable.
78653         (test_signbitl): Use it.
78655 2008-04-13  Bruno Haible  <bruno@clisp.org>
78657         Make truncl work on OSF/1 4.0.
78658         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
78659         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78660         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78661         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
78662         HAVE_DECL_TRUNCL.
78663         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
78664         HAVE_DECL_TRUNCL.
78665         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
78667 2008-04-13  Bruno Haible  <bruno@clisp.org>
78669         * lib/unictype.h: Remove trailing comma from enumeration definitions.
78671 2008-04-13  Bruno Haible  <bruno@clisp.org>
78673         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
78674         expression, so as to avoid HP-UX 11 cc compiler bug.
78676 2008-04-13  Bruno Haible  <bruno@clisp.org>
78678         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
78680 2008-04-13  Bruno Haible  <bruno@clisp.org>
78682         * lib/git-merge-changelog.c: Remove empty declaration outside of
78683         functions.
78685 2008-04-13  Bruno Haible  <bruno@clisp.org>
78687         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
78689 2008-04-13  Bruno Haible  <bruno@clisp.org>
78691         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
78692         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
78693         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
78694         also if it exists but lacks definitions of the SHUT_* macros.
78695         * modules/sys_socket (Description): Update.
78696         Reported by Elbert Pol <e.pol@chello.nl>.
78698 2008-04-13  Bruno Haible  <bruno@clisp.org>
78700         * lib/localcharset.c (OS2): Don't redefine if already defined.
78701         Reported by Elbert Pol <e.pol@chello.nl>.
78703 2008-04-13  Bruno Haible  <bruno@clisp.org>
78705         * lib/binary-io.h [__EMX__]: Include <io.h>.
78706         Reported by Elbert Pol <e.pol@chello.nl>.
78708 2008-04-12  Bruno Haible  <bruno@clisp.org>
78710         * lib/fpucw.h: Enable the definitions also for x86_64.
78711         Needed for NetBSD/x86_64.
78712         Reported by Thomas Klausner <tk@giga.or.at>.
78714 2008-04-12  Bruno Haible  <bruno@clisp.org>
78716         * tests/test-strtod.c: Include isnand.h.
78717         (main): Use isnand instead of isnan.
78718         Reported by Jim Meyering.
78720 2008-04-12  Bruno Haible  <bruno@clisp.org>
78722         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
78723         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
78725 2008-04-12  Jim Meyering  <meyering@redhat.com>
78727         * m4/math_h.m4 (gl_MATH_H): Fix typos.
78729 2008-04-12  Bruno Haible  <bruno@clisp.org>
78731         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
78732         Reported by Elbert Pol <e.pol@chello.nl>.
78734 2008-04-12  Eric Blake  <ebb9@byu.net>
78736         Work around Solaris 10 math.h bug.
78737         * m4/math_h.m4 (gl_MATH_H): Check for bug.
78738         (gl_MATH_H_DEFAULTS): Set up default.
78739         * modules/math (Makefile.am): Replace new indicators.
78740         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78741         * tests/test-math.c (main): Test this.
78742         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78743         * doc/posix-headers/math.texi (math.h): Mention bug.
78744         Reported by Nelson H. F. Beebe and Jim Meyering.
78746 2008-04-11  Bruno Haible  <bruno@clisp.org>
78748         Adapt to future versions of Apple GCC.
78749         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78750         Reported by Peter O'Gorman <peter@pogma.com>.
78752 2008-04-11  Bruno Haible  <bruno@clisp.org>
78754         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78756 2008-04-11  Bruno Haible  <bruno@clisp.org>
78758         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78760         * modules/getaddrinfo-tests (Makefile.am): Define
78761         test_getaddrinfo_LDADD.
78763 2008-04-11  Bruno Haible  <bruno@clisp.org>
78765         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78766         (init): Fix syntax error.
78767         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78768         is declared.
78770 2008-04-11  Bruno Haible  <bruno@clisp.org>
78772         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78773         * modules/glob (Depends-on): Add stdbool.
78775 2008-04-11  Bruno Haible  <bruno@clisp.org>
78777         * lib/trim.c: Include <string.h>.
78779 2008-04-11  Eric Blake  <ebb9@byu.net>
78781         Avoid compile failure on OS/2.
78782         * lib/regex_internal.h (internal_function): Disable optimization
78783         on OS/2 (__EMX__), where it caused compiler error.
78784         Reported by Elbert Pol.
78786 2008-04-11  Bruno Haible  <bruno@clisp.org>
78788         Flush the standard error stream before aborting. Needed on mingw.
78789         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78790         * tests/test-array_list.c (ASSERT): Likewise.
78791         * tests/test-array_oset.c (ASSERT): Likewise.
78792         * tests/test-avltree_list.c (ASSERT): Likewise.
78793         * tests/test-avltree_oset.c (ASSERT): Likewise.
78794         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78795         * tests/test-binary-io.c (ASSERT): Likewise.
78796         * tests/test-byteswap.c (ASSERT): Likewise.
78797         * tests/test-c-ctype.c (ASSERT): Likewise.
78798         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78799         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78800         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78801         * tests/test-c-strstr.c (ASSERT): Likewise.
78802         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78803         * tests/test-canonicalize.c (ASSERT): Likewise.
78804         * tests/test-carray_list.c (ASSERT): Likewise.
78805         * tests/test-ceilf1.c (ASSERT): Likewise.
78806         * tests/test-ceilf2.c (ASSERT): Likewise.
78807         * tests/test-ceill.c (ASSERT): Likewise.
78808         * tests/test-count-one-bits.c (ASSERT): Likewise.
78809         * tests/test-fbufmode.c (ASSERT): Likewise.
78810         * tests/test-fflush2.c (ASSERT): Likewise.
78811         * tests/test-floorf1.c (ASSERT): Likewise.
78812         * tests/test-floorf2.c (ASSERT): Likewise.
78813         * tests/test-floorl.c (ASSERT): Likewise.
78814         * tests/test-fopen.c (ASSERT): Likewise.
78815         * tests/test-fpending.c (ASSERT): Likewise.
78816         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78817         * tests/test-fpurge.c (ASSERT): Likewise.
78818         * tests/test-freadable.c (ASSERT): Likewise.
78819         * tests/test-freadahead.c (ASSERT): Likewise.
78820         * tests/test-freading.c (ASSERT): Likewise.
78821         * tests/test-freadptr.c (ASSERT): Likewise.
78822         * tests/test-freadptr2.c (ASSERT): Likewise.
78823         * tests/test-freadseek.c (ASSERT): Likewise.
78824         * tests/test-freopen.c (ASSERT): Likewise.
78825         * tests/test-frexp.c (ASSERT): Likewise.
78826         * tests/test-frexpl.c (ASSERT): Likewise.
78827         * tests/test-fseek.c (ASSERT): Likewise.
78828         * tests/test-fseeko.c (ASSERT): Likewise.
78829         * tests/test-fstrcmp.c (ASSERT): Likewise.
78830         * tests/test-ftell.c (ASSERT): Likewise.
78831         * tests/test-ftello.c (ASSERT): Likewise.
78832         * tests/test-func.c (ASSERT): Likewise.
78833         * tests/test-fwritable.c (ASSERT): Likewise.
78834         * tests/test-fwriting.c (ASSERT): Likewise.
78835         * tests/test-getdelim.c (ASSERT): Likewise.
78836         * tests/test-getline.c (ASSERT): Likewise.
78837         * tests/test-i-ring.c (ASSERT): Likewise.
78838         * tests/test-iconv-utf.c (ASSERT): Likewise.
78839         * tests/test-iconv.c (ASSERT): Likewise.
78840         * tests/test-isfinite.c (ASSERT): Likewise.
78841         * tests/test-isnand.c (ASSERT): Likewise.
78842         * tests/test-isnanf.c (ASSERT): Likewise.
78843         * tests/test-isnanl.h (ASSERT): Likewise.
78844         * tests/test-ldexpl.c (ASSERT): Likewise.
78845         * tests/test-linked_list.c (ASSERT): Likewise.
78846         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78847         * tests/test-localename.c (ASSERT): Likewise.
78848         * tests/test-lseek.c (ASSERT): Likewise.
78849         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78850         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78851         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78852         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78853         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78854         * tests/test-mbschr.c (ASSERT): Likewise.
78855         * tests/test-mbscspn.c (ASSERT): Likewise.
78856         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78857         * tests/test-mbspbrk.c (ASSERT): Likewise.
78858         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78859         * tests/test-mbsrchr.c (ASSERT): Likewise.
78860         * tests/test-mbsspn.c (ASSERT): Likewise.
78861         * tests/test-mbsstr1.c (ASSERT): Likewise.
78862         * tests/test-mbsstr2.c (ASSERT): Likewise.
78863         * tests/test-mbsstr3.c (ASSERT): Likewise.
78864         * tests/test-memchr2.c (ASSERT): Likewise.
78865         * tests/test-memmem.c (ASSERT): Likewise.
78866         * tests/test-open.c (ASSERT): Likewise.
78867         * tests/test-printf-frexp.c (ASSERT): Likewise.
78868         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78869         * tests/test-printf-posix.c (ASSERT): Likewise.
78870         * tests/test-quotearg.c (ASSERT): Likewise.
78871         * tests/test-rbtree_list.c (ASSERT): Likewise.
78872         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78873         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78874         * tests/test-round1.c (ASSERT): Likewise.
78875         * tests/test-roundf1.c (ASSERT): Likewise.
78876         * tests/test-roundl.c (ASSERT): Likewise.
78877         * tests/test-signbit.c (ASSERT): Likewise.
78878         * tests/test-sleep.c (ASSERT): Likewise.
78879         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78880         * tests/test-snprintf.c (ASSERT): Likewise.
78881         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78882         * tests/test-stat-time.c (ASSERT): Likewise.
78883         * tests/test-strcasestr.c (ASSERT): Likewise.
78884         * tests/test-strerror.c (ASSERT): Likewise.
78885         * tests/test-striconv.c (ASSERT): Likewise.
78886         * tests/test-striconveh.c (ASSERT): Likewise.
78887         * tests/test-striconveha.c (ASSERT): Likewise.
78888         * tests/test-strsignal.c (ASSERT): Likewise.
78889         * tests/test-strstr.c (ASSERT): Likewise.
78890         * tests/test-strtod.c (ASSERT): Likewise.
78891         * tests/test-trunc1.c (ASSERT): Likewise.
78892         * tests/test-trunc2.c (ASSERT): Likewise.
78893         * tests/test-truncf1.c (ASSERT): Likewise.
78894         * tests/test-truncf2.c (ASSERT): Likewise.
78895         * tests/test-truncl.c (ASSERT): Likewise.
78896         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78897         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78898         * tests/test-vasnprintf.c (ASSERT): Likewise.
78899         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78900         * tests/test-vasprintf.c (ASSERT): Likewise.
78901         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78902         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78903         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78904         * tests/test-vsnprintf.c (ASSERT): Likewise.
78905         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78906         * tests/test-wcwidth.c (ASSERT): Likewise.
78907         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78908         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78909         * tests/test-xvasprintf.c (ASSERT): Likewise.
78910         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78911         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78912         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78913         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78914         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78915         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78916         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78917         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78918         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78919         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78920         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78921         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78922         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78923         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78924         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78925         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78926         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78927         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78928         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78929         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78930         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78931         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78932         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78933         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78934         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78935         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78936         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78937         * tests/unictype/test-combining.c (ASSERT): Likewise.
78938         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78939         * tests/unictype/test-digit.c (ASSERT): Likewise.
78940         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78941         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78942         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78943         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78944         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78945         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78946         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78947         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78948         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78949         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78950         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78951         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78952         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78953         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78954         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78955         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78956         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78957         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78958         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78959         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78960         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78961         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78962         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78963         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78964         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
78965         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
78966         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
78967         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
78968         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
78969         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
78970         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
78971         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
78972         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
78973         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
78974         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
78975         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
78976         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
78977         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
78978         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
78979         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
78980         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
78981         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
78982         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
78983         Reported by Eric Blake.
78985 2008-04-11  Bruno Haible  <bruno@clisp.org>
78987         * lib/wchar.in.h: Tweak comment.
78989 2008-04-11  Bruno Haible  <bruno@clisp.org>
78991         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
78992         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
78993         gl_COMMON.
78994         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
78996 2008-04-11  Bruno Haible  <bruno@clisp.org>
78998         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
79000 2008-04-11  Simon Josefsson  <simon@josefsson.org>
79002         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
79003         of attempting to use non-existing /dev/*random.  Based on patch
79004         from Adam Strzelecki <ono@java.pl> in
79005         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
79007 2008-04-08  Bruno Haible  <bruno@clisp.org>
79009         Add tentative support for emx+gcc.
79010         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
79011         * lib/fpurge.c (fpurge): Likewise.
79012         * lib/freadable.c (freadable): Likewise.
79013         * lib/freadahead.c (freadahead): Likewise.
79014         * lib/freading.c (freading): Likewise.
79015         * lib/freadptr.c (freadptr): Likewise.
79016         * lib/freadseek.c (freadptrinc): Likewise.
79017         * lib/fseeko.c (rpl_fseeko): Likewise.
79018         * lib/fseterr.c (fseterr): Likewise.
79019         * lib/fwritable.c (fwritable): Likewise.
79020         * lib/fwriting.c (fwriting): Likewise.
79021         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
79023 2008-04-09  Eric Blake  <ebb9@byu.net>
79025         Avoid some autoconf warnings.
79026         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
79027         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
79028         * m4/afs.m4 (gl_AFS): Likewise.
79029         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
79030         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
79031         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79032         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
79033         (gl_INTEGER_TYPE_SUFFIX): Likewise.
79034         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
79035         (AC_CHECK_DECLS_ONCE): Likewise.
79036         Rename file...
79037         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
79038         gnulib-tool requires autoconf 2.59 or better.
79039         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
79041 2008-04-08  Eric Blake  <ebb9@byu.net>
79043         Use 'git describe --match' if present (added in git 1.5.5).
79044         * build-aux/git-version-gen: Limit result to tags that match 'v*'
79045         if possible.
79047 2008-04-08  Bruno Haible  <bruno@clisp.org>
79049         Add tentative support for OpenServer.
79050         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
79051         _ptr, _cnt.
79052         * lib/fpurge.c (fpurge): Likewise.
79053         * lib/freadable.c (freadable): Likewise.
79054         * lib/freadahead.c (freadahead): Likewise.
79055         * lib/freading.c (freading): Likewise.
79056         * lib/freadptr.c (freadptr): Likewise.
79057         * lib/freadseek.c (freadptrinc): Likewise.
79058         * lib/fseeko.c (rpl_fseeko): Likewise.
79059         * lib/fseterr.c (fseterr): Likewise.
79060         * lib/fwritable.c (fwritable): Likewise.
79061         * lib/fwriting.c (fwriting): Likewise.
79062         Reported by Roger Cornelius <rac@tenzing.org> and
79063         Brian K. White <brian@aljex.com>.
79065 2008-04-06  Jim Meyering  <meyering@redhat.com>
79067         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
79069 2008-04-06  Bruno Haible  <bruno@clisp.org>
79071         Avoid possible error with non-ASCII bytes in UTF-8 locales.
79072         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
79073         * tests/test-printf-posix.sh: Likewise.
79074         * tests/test-vfprintf-posix.sh: Likewise.
79075         * tests/test-vprintf-posix.sh: Likewise.
79076         * tests/test-xprintf-posix.sh: Likewise.
79078 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79080         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
79081         hide error from 'ls', needed on OS/2.
79082         Report by Elbert Pol <elbert.pol@gmail.com>.
79084 2008-04-04  Eric Blake  <ebb9@byu.net>
79086         Make test-fseeko.c failures meaningful.
79087         * tests/test-fseeko.c: Print line number on failure.
79088         * tests/test-fseek.c: Likewise.
79089         Reported by Nelson H. F. Beebe.
79091         Improve strtod bug detection check.
79092         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
79093         required for Solaris 10.
79094         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
79096 2008-04-04  Bruno Haible  <bruno@clisp.org>
79098         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
79099         by m4/setenv.m4.
79101 2008-04-03  Eric Blake  <ebb9@byu.net>
79103         Ensure sane .version contents.
79104         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
79105         version string.
79106         * build-aux/git-version-gen: Improve documentation.
79108         Make GNU make output nicer.
79109         * top/GNUmakefile [!_have-Makefile]: Add dependency on
79110         MAKECMDGOALS to enforce message for all command line targets.  Set
79111         srcdir for use in maint.mk.
79113         Another maintainer tweak.
79114         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
79115         a target that regenerates version.
79117 2008-04-03  Jim Meyering  <meyering@redhat.com>
79119         vc-list-files: don't cause coreutils "make po-check" failure
79120         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
79122 2008-04-03  Eric Blake  <ebb9@byu.net>
79124         Allow VPATH usage of vc-list-files.
79125         * build-aux/vc-list-files (scriptversion): Add timestamp.
79126         (options): Add --help, --version, -C.
79127         (CVS): Support installed cvsu.
79129 2008-04-02  Bruno Haible  <bruno@clisp.org>
79131         Avoid some "statement with no effect" warnings from gcc.
79132         * tests/test-wctype.c (main): Explicitly ignore unused values.
79133         Reported by Jim Meyering.
79135 2008-04-02  Jim Meyering  <meyering@redhat.com>
79137         Avoid some warnings from "gcc -Wshadow".
79138         * tests/test-frexp.c (exp): Define to a different identifier.
79139         * tests/test-frexpl.c (exp): Likewise.
79141 2008-04-03  Jim Meyering  <meyering@redhat.com>
79143         bootstrap: remove dangling *.[ch] symlinks from lib
79144         * build-aux/bootstrap [dangling symlink removal]: Move find's
79145         -depth option to precede all others, to avoid a warning.
79146         Remove *.[ch] files too, and from "$source_base" (usually lib/).
79148 2008-04-02  Bruno Haible  <bruno@clisp.org>
79150         Avoid some warnings from "gcc -Wshadow".
79151         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
79152         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
79153         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
79154         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
79155         Reported by Jim Meyering.
79157 2008-04-01  Bruno Haible  <bruno@clisp.org>
79159         Fix test to work on IRIX 6.5 with cc.
79160         * tests/test-math.c (numeric_equal): New function.
79161         (main): Use it.
79163 2008-04-01  Bruno Haible  <bruno@clisp.org>
79165         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
79167 2008-04-01  Bruno Haible  <bruno@clisp.org>
79169         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
79170         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79171         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
79172         (Depends-on): Remove math.
79174         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
79175         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79176         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
79177         (Depends-on): Remove math.
79179         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
79180         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79181         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
79182         (Depends-on): Remove math.
79183         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
79184         (Depends-on): Remove math.
79186         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
79187         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79188         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
79189         (Depends-on): Remove math.
79190         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
79191         (Depends-on): Remove math.
79193         * tests/test-round1.c: Include nan.h.
79194         (main): Use NaNd instead of NAN.
79195         * modules/round-tests (Files): Add tests/nan.h.
79197         * tests/test-trunc1.c: Include nan.h.
79198         (main): Use NaNd instead of NAN.
79199         * modules/trunc-tests (Files): Add tests/nan.h.
79201         * tests/test-roundf1.c: Include nan.h.
79202         (main): Use NaNf instead of NAN.
79203         * modules/roundf-tests (Files): Add tests/nan.h.
79205         * tests/test-truncf1.c: Include nan.h.
79206         (main): Use NaNf instead of NAN.
79207         * modules/truncf-tests (Files): Add tests/nan.h.
79209         * tests/test-ceilf1.c: Include nan.h.
79210         (main): Use NaNf instead of NAN.
79211         * modules/ceilf-tests (Files): Add tests/nan.h.
79213         * tests/test-floorf1.c: Include nan.h.
79214         (main): Use NaNf instead of NAN.
79215         * modules/floorf-tests (Files): Add tests/nan.h.
79217         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
79218         (main): Use NaNf instead of NAN.
79219         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
79221         * tests/test-isnand.c: Include nan.h instead of <math.h>.
79222         (main): Use NaNd instead of NAN.
79223         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
79225         * tests/test-frexp.c: Include nan.h.
79226         (main): Use NaNd instead of NAN.
79227         * modules/frexp-tests (Files): Add tests/nan.h.
79229         * lib/isnan.c: Don't include <math.h>.
79230         (FUNC): Don't use NAN macro.
79231         * modules/isnand-nolibm (Depends-on): Remove math.
79232         * modules/isnanf-nolibm (Depends-on): Remove math.
79233         * modules/isnanl (Depends-on): Remove math.
79234         * modules/isnanl-nolibm (Depends-on): Remove math.
79236         * tests/nan.h: New file.
79238 2008-04-01  Eric Blake  <ebb9@byu.net>
79240         Fix typos.
79241         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
79242         values to be the right type.
79244         For now, cater to gnulib strtod inaccuracies.
79245         * tests/test-strtod.c (main): Allow 1-ulp error on expected
79246         fractional results.  While not as nice from a QoI perspective, it
79247         is a quicker patch than correctly implementing decimal to binary
79248         rounding.
79250 2008-03-31  Eric Blake  <ebb9@byu.net>
79252         Guarantee a definition of NAN.
79253         * lib/math.in.h (NAN): Define if missing.
79254         * tests/test-math.c (main): Test it.
79255         * doc/posix-headers/math.texi (math.h): Document this.
79256         * lib/isnan.c (rpl_isnand): Use it.
79257         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
79258         * tests/test-floorf1.c (NaN): Likewise.
79259         * tests/test-frexp.c (NaN): Likewise.
79260         * tests/test-isnand.c (NaN): Likewise.
79261         * tests/test-isnanf.c (NaN): Likewise.
79262         * tests/test-round1.c (NaN): Likewise.
79263         * tests/test-roundf1.c (NaN): Likewise.
79264         * tests/test-snprintf-posix.h (NaN): Likewise.
79265         * tests/test-sprintf-posix.h (NaN): Likewise.
79266         * tests/test-trunc1.c (NaN): Likewise.
79267         * tests/test-truncf1.c (NaN): Likewise.
79268         * tests/test-vasnprintf-posix.c (NaN): Likewise.
79269         * tests/test-vasprintf-posix.c (NaN): Likewise.
79270         * modules/isnand-nolibm (Depends-on): Add math.
79271         * modules/isnanf-nolibm (Depends-on): Likewise.
79272         * modules/isnanl (Depends-on): Likewise.
79273         * modules/isnanl-nolibm (Depends-on): Likewise.
79274         * modules/snprintf-posix-tests (Depends-on): Likewise.
79275         * modules/sprintf-posix-tests (Depends-on): Likewise.
79276         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
79277         * modules/vsprintf-posix-tests (Depends-on): Likewise.
79278         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
79279         * modules/vasprintf-posix-tests (Depends-on): Likewise.
79281 2008-03-31  Bruno Haible  <bruno@clisp.org>
79283         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
79284         * doc/posix-functions/strtod.texi: Likewise.
79286 2008-03-31  Bruno Haible  <bruno@clisp.org>
79288         * tests/test-strtod.c (main): Don't use C99 syntax.
79290 2008-03-31  Bruno Haible  <bruno@clisp.org>
79292         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
79293         Reported by Eric Blake.
79295 2008-03-31  Jim Meyering  <meyering@redhat.com>
79297         Don't compare actual signbit return values.
79298         * tests/test-strtod.c (main): Rather, compare only their
79299         zero/non-zero nature.
79301 2008-03-31  Eric Blake  <ebb9@byu.net>
79303         More strtod documentation.
79304         * doc/posix-functions/strtod.texi (strtod): Interpret more test
79305         failures as distinct bugs.
79307 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
79309         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
79310         Problem reported by Erik Benada in
79311         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
79313 2008-03-30  Bruno Haible  <bruno@clisp.org>
79315         * tests/test-strtod.c: Add comments about which assertion fails on which
79316         platform.
79317         * doc/posix-functions/strtod.texi: Add info about many more platforms.
79319 2008-03-30  Eric Blake  <ebb9@byu.net>
79321         Test signbit behavior on zeros.
79322         * tests/test-signbit.c (test_signbitf): Add tests for zero.
79323         (test_signbitd, test_signbitl): Likewise.
79325         More strtod touchups.
79326         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
79327         sign of negative underflow, for now.  Use .5, not .1.
79328         * doc/posix-functions/strtod.texi (strtod): Mention these
79329         limitations.
79330         Reported by Jim Meyering.
79332 2008-03-30  Bruno Haible  <bruno@clisp.org>
79334         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
79335         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
79337 2008-03-30  Bruno Haible  <bruno@clisp.org>
79339         Avoid failure when attempting to return empty iconv results on some
79340         platforms.
79341         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
79342         allocation, don't report ENOMEM when the resulting string is empty.
79344 2008-03-30  Bruno Haible  <bruno@clisp.org>
79346         Fix buffer overrun.
79347         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
79348         Don't consider the width for tmp_length. Check count against tmp_length
79349         before doing the padding. Ensure enough allocation during padding.
79351 2008-03-30  Eric Blake  <ebb9@byu.net>
79353         strtod touchups.
79354         * lib/strtod.c (strtod): Avoid compiler warnings.
79355         Reported by Jim Meyering.
79357 2008-03-30  Bruno Haible  <bruno@clisp.org>
79359         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
79360         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
79361         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
79362         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
79363         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
79364         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
79365         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
79366         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
79368         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
79369         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
79370         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
79371         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
79372         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
79373         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
79374         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
79375         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
79377         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
79378         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
79379         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
79380         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
79381         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
79382         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
79383         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
79384         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
79386         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
79387         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
79389         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
79390         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
79392         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
79393         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
79395         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
79396         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
79397         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
79399         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
79400         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
79401         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
79403         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
79404         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
79405         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
79407         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
79408         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
79409         * modules/vasprintf (Depends-on): Add EOVERFLOW.
79411         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
79412         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
79413         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
79414         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
79415         (Depends-on): Add EOVERFLOW.
79416         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
79417         (Depends-on): Add EOVERFLOW.
79418         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79419         (Depends-on): Add EOVERFLOW.
79420         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79421         (Depends-on): Add EOVERFLOW.
79422         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79423         (Depends-on): Add EOVERFLOW.
79424         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79425         (Depends-on): Add EOVERFLOW.
79426         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79427         (Depends-on): Add EOVERFLOW.
79428         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79429         (Depends-on): Add EOVERFLOW.
79431         * lib/sprintf.c (EOVERFLOW): Remove fallback.
79432         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
79433         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
79435         * lib/snprintf.c (EOVERFLOW): Remove fallback.
79436         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
79437         * modules/snprintf (Depends-on): Add EOVERFLOW.
79439         * lib/poll.c (EOVERFLOW): Remove fallback.
79440         * modules/poll (Depends-on): Add EOVERFLOW.
79442         * lib/getugroups.c (EOVERFLOW): Remove fallback.
79443         * modules/getugroups (Depends-on): Add EOVERFLOW.
79445         * lib/getdelim.c (EOVERFLOW): Remove fallback.
79446         * modules/getdelim (Depends-on): Add EOVERFLOW.
79448         * lib/ftell.c (EOVERFLOW): Remove fallback.
79449         * modules/ftell (Depends-on): Add EOVERFLOW.
79451         * lib/fprintf.c (EOVERFLOW): Remove fallback.
79452         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
79453         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
79455         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
79457         * modules/EOVERFLOW-tests: New file.
79458         * tests/test-EOVERFLOW.c: New file.
79460         * modules/EOVERFLOW: New file.
79461         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
79463 2008-03-30  Bruno Haible  <bruno@clisp.org>
79465         Fix bug introduced on 2007-06-10.
79466         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
79467         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
79469 2008-03-30  Bruno Haible  <bruno@clisp.org>
79471         Improve freadseek's efficiency after ungetc.
79472         * lib/freadseek.c: Include freadahead.h.
79473         (freadptrinc): New function, extracted from freadseek.
79474         (freadseek): Use it in a loop. Use freadahead to determine the number
79475         of loop iterations.
79476         * modules/freadseek (Depends-on): Add freadahead.
79477         (configure.ac): Require AC_C_INLINE.
79479 2008-03-30  Bruno Haible  <bruno@clisp.org>
79481         * lib/freadseek.c (freadseek): Don't ignore the return value of
79482         freadptr.
79484 2008-03-29  Eric Blake  <ebb9@byu.net>
79486         Add hex float support.
79487         * modules/strtod (Depends-on): Add c-ctype.
79488         (Link): Mention POW_LIB.
79489         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
79490         whitespace between 'e' and exponent.
79491         * tests/test-strtod.c (main): Enable hex float tests.
79492         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
79493         now provides.
79495         Document various strtod bugs, with some fixes.
79496         * doc/posix-functions/strtod.texi (strtod): Document bugs with
79497         "-0x", "inf", "nan", and hex constants.
79498         * doc/posix-functions/atof.texi (atof): Likewise.
79499         * modules/stdlib (Makefile.am): Support strtod.
79500         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79501         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
79502         detect additional strtod bugs.
79503         * lib/stdlib.in.h (rpl_strtod): Add declarations.
79504         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
79505         bool where appropriate.  Parse 'inf' and 'nan'.
79506         * tests/test-strtod.c: New file.
79507         * modules/strtod (Depends-on): Add stdbool, stdlib.
79508         (configure.ac): Turn on module indicator.
79509         * modules/strtod-tests: New module.
79511 2008-03-29  Eric Blake  <ebb9@byu.net>
79513         Fix ftell on mingw.
79514         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
79515         * modules/ftell-tests (Depends-on): Add binary-io.
79516         * modules/ftello-tests (Depends-on): Likewise.
79517         * tests/test-ftell.c (main): Enhance test to cover behavior after
79518         ungetc.  Enforce binary mode.
79519         * tests/test-ftello.c (main): Likewise.
79521         Pass test-freadseek on cygwin.
79522         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
79523         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
79524         ungetc buffer.
79526         * tests/test-fflush2.c (main): Fix typo.
79528 2008-03-29  Bruno Haible  <bruno@clisp.org>
79530         * tests/test-fflush2.c (main): Temporarily disable the contents of
79531         this test.
79532         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
79533         Reported by Eric Blake.
79535 2008-03-28  Simon Josefsson  <simon@josefsson.org>
79537         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
79538         (GC_SHA224_DIGEST_SIZE): Add.
79540         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
79541         (gc_hash_digest_length): Likewise.
79542         (gc_hash_buffer): Likewise.
79544 2008-03-25  Bruno Haible  <bruno@clisp.org>
79546         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
79547         detail which gettext release to use.
79548         Reported by Simon Josefsson.
79550 2008-03-26  Jim Meyering  <meyering@redhat.com>
79552         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
79553         * modules/gnumakefile (clean-GNUmakefile): Also, use
79554         test ... && ... || : syntax rather than if-then ... fi.
79556         gnumakefile: Don't double-quote-expand $(VPATH) value.
79557         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
79559 2008-03-24  Eric Blake  <ebb9@byu.net>
79561         Alter GNUmakefile to install into top directory.
79562         * modules/maintainer-makefile: Split, and add dependency...
79563         * modules/gnumakefile: to this new module.
79564         * build-aux/GNUmakefile: Move...
79565         * top/GNUmakefile: ...here.
79566         * build-aux/maint.mk: Move...
79567         * top/maint.mk: ...here.
79568         * MODULES.html.sh (Support for maintaining...): Document new
79569         module.
79571 2008-03-23  Bruno Haible  <bruno@clisp.org>
79573         * gnulib-tool: New options --vc-files, --no-vc-files.
79574         (func_usage): Document them.
79575         (vc_files): New variable.
79576         (func_import): Consider vc_files.
79577         (func_create_testdir): Set vc_files to empty.
79578         Suggested by Jim Meyering and Karl Berry.
79580 2008-03-23  Bruno Haible  <bruno@clisp.org>
79582         Fix regex compilation error on HP-UX 11.
79583         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
79584         * modules/regex (Files): Add m4/mbstate_t.m4.
79585         Reported by Ton Voon <ton.voon@altinity.com>.
79587 2008-03-23  Bruno Haible  <bruno@clisp.org>
79589         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
79591 2008-03-23  Eric Blake  <ebb9@byu.net>
79592             Bruno Haible  <bruno@clisp.org>
79594         Install files from top/ in the destination directory.
79595         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
79596         augmentation also for the files from top/.
79597         (func_import, func_create_testdir): Rewrite file names:
79598         top/filename -> filename.
79600 2008-03-23  Bruno Haible  <bruno@clisp.org>
79602         Tweak "gnulib --version" output.
79603         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
79605 2008-03-23  Bruno Haible  <bruno@clisp.org>
79607         Tweak "gnulib --version" output.
79608         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
79609         rather than contents of ChangeLog, when possible.
79611 2008-03-21  Eric Blake  <ebb9@byu.net>
79613         More --version tweaks.
79614         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
79615         date of last ChangeLog entry.
79617 2008-03-21  Jim Meyering  <meyering@redhat.com>
79619         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
79621 2008-03-20  Eric Blake  <ebb9@byu.net>
79623         VPATH fix.
79624         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
79626 2008-03-20  Simon Josefsson  <simon@josefsson.org>
79628         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
79629         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
79631 2008-03-20  Eric Blake  <ebb9@byu.net>
79633         Sync GNUmakefile with coreutils.
79634         * build-aux/GNUmakefile (have-Makefile): Rename...
79635         (_have-Makefile): ...to this, for namespace consideration.
79636         (GNUmakefile.cfg): Include, if present.
79637         (_autoreconf): Define a default.
79638         (_is-dist-target): New rule for rebuilds to pick up intra-release
79639         version.
79640         (maint-cfg.mk): Rename...
79641         (cfg.mk): ...to this.
79643 2008-03-18  Jim Meyering  <meyering@redhat.com>
79645         New script and module: mktempd
79646         * MODULES.html.sh (maint+release support): Add mktempd.
79647         * build-aux/mktempd: New file.
79648         * modules/mktempd: New file.
79650 2008-03-15  Jim Meyering  <meyering@redhat.com>
79652         Undo last change.
79653         * lib/sha1.c, lib/md5.c: 63 != ~63.
79654         Reported by Andreas Schwab.
79656         sha1.c, md5.c: Hoist a redundant expression.
79657         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
79658         "ctx->buflen" only once, before calling *_process_block.
79659         * lib/md5.c (md5_process_bytes): Likewise.
79661 2008-03-14  Eric Blake  <ebb9@byu.net>
79663         Bump copyright year in files generated by gnulib-tool.
79664         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
79665         gnulib-tool, rather than hard-coding it.
79667         Fix 'gnulib-tool --version' output to work with git.
79668         * gnulib-tool (func_gnulib_dir): New function, extracted from...
79669         (startup): ...here.
79670         (func_version): Use it to invoke git-version-gen, rather than
79671         relying on CVS keyword expansion.  Modernize wording.
79672         (cvsdatestamp, last_checkin_date, version): Kill unused
79673         variables.
79675 2008-03-12  Jim Meyering  <meyering@redhat.com>
79677         Recognize optional cast of the argument to free.
79678         * build-aux/useless-if-before-free: Update regexps.
79680         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
79682 2008-03-11  Bruno Haible  <bruno@clisp.org>
79684         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
79685         by a single package.
79686         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
79687         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
79688         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
79689         Reported by Sam Steingold <sds@gnu.org>.
79691 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79693         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
79694         repositories.
79696 2008-03-11  Bruno Haible  <bruno@clisp.org>
79698         Avoid conflicts between local macro definitions.
79699         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
79700         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
79702 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
79703             Bruno Haible  <bruno@clisp.org>
79705         Make va_copy work with some version of xlc on AIX 5.1.
79706         * lib/stdarg.in.h: New file.
79707         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
79708         On AIX, use a <stdarg.h> file substitute.
79709         * modules/stdarg (Files): Add lib/stdarg.in.h.
79710         (Depends-on): Add include_next.
79711         (Makefile.am): Build a stdarg.h substitute if requested.
79712         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
79714 2008-03-10  Bruno Haible  <bruno@clisp.org>
79716         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
79717         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79718         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79720 2008-03-10  Bruno Haible  <bruno@clisp.org>
79722         * modules/stdlib (Depends-on): Add include_next, remove
79723         absolute-header.
79725 2008-03-09  Bruno Haible  <bruno@clisp.org>
79727         * lib/freadahead.h (freadahead): Document more precisely.
79728         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
79729         the sum of both buffer sizes.
79730         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
79731         * NEWS: Document the change.
79733 2008-03-09  Bruno Haible  <bruno@clisp.org>
79735         Extend freadptr to return also the buffer size.
79736         * lib/freadptr.h (freadptr): Add sizep argument.
79737         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
79738         (freadptr): Add sizep argument. Determine buffer size like freadahead
79739         does.
79740         * tests/test-freadptr.c: Don't include freadahead.h.
79741         (main): Adapt for new calling convention of freadptr.
79742         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79743         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79744         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79745         tests/test-freadptr2.sh.
79746         (Depends): Remove freadahead.
79747         (TESTS): Add test-freadptr2.sh.
79748         (check_PROGRAMS): Add test-freadptr2.
79750 2008-03-09  Bruno Haible  <bruno@clisp.org>
79752         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79753         Report and solution by Simon Josefsson.
79755 2008-03-06  Bruno Haible  <bruno@clisp.org>
79757         Make fflush after ungetc work on BSD platforms.
79758         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79759         * tests/test-fflush2.c: New file.
79760         * tests/test-fflush2.sh: New file.
79761         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79762         tests/test-fflush2.c.
79763         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79764         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79766 2008-03-06  Eric Blake  <ebb9@byu.net>
79768         Likewise for ftello.
79769         * modules/ftello (Dependencies): Add extensions.
79770         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79772 2008-03-06  Bruno Haible  <bruno@clisp.org>
79774         * modules/fseeko (Dependencies): Add extensions.
79775         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79776         Needed on glibc systems.
79778 2008-03-06  Bruno Haible  <bruno@clisp.org>
79780         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79781         email address.
79782         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79784 2008-03-06  Bruno Haible  <bruno@clisp.org>
79786         * users.txt: Add libgnupdf.
79788 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79790         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79791         (Header File Substitutes, Function Substitutes,
79792         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79793         (Build robot for gnulib): Fix typo.
79795 2008-03-06  Bruno Haible  <bruno@clisp.org>
79797         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79798         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79800 2008-03-06  Bruno Haible  <bruno@clisp.org>
79802         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79803         * doc/gnulib.texi: Include it.
79805 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79807         * modules/func (License): Change license to unlimited; there was
79808         no LGPL parts in the module anyway.
79810 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79812         * modules/__func__: Renamed to modules/func.
79813         * modules/__func__-tests: Renamed to modules/func-tests.
79814         * tests/test-__func__.c: Renamed to tests/test-func.c.
79815         * m4/__func__.m4: Renamed to m4/func.m4.
79816         * doc/gnulib.texi (__func__): Section renamed to func.
79817         Suggested by Eric Blake <ebb9@byu.net>.
79819 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79821         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79822         about __func__.  Make example self-contained.  Suggested by Eric
79823         Blake <ebb9@byu.net>.
79825         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79826         Suggested by Eric Blake <ebb9@byu.net>.
79828 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79830         * modules/__func__: New file.
79831         * modules/__func__-tests: New file.
79832         * tests/test-__func__.c: New file.
79833         * m4/__func__.m4: New file.
79834         * doc/gnulib.texi (__func__): Document __func__ module.
79836 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79838         * modules/byteswap (License): Re-license as LGPLv2+.
79840 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79842         * doc/Makefile: Add pdf target.
79844 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79846         * modules/inline (License): Use 'unlimited', since there are only
79847         *.m4 files in this module.
79849 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79850             Bruno Haible  <bruno@clisp.org>
79852         Add support for HP C 7.1 on OpenVMS 8.3.
79853         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79855 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79857         Update VMS specifics.
79858         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79860 2008-03-02  Jim Meyering  <meyering@redhat.com>
79862         Remove the last dependency on the "free" module.
79863         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79864         Reported by Bob Proulx.
79866         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79868         Remove useless "if" tests before free.  Deprecate "free" module.
79869         * doc/posix-functions/free.texi: Mention that this
79870         module is no longer useful.
79871         * modules/free (Notice): Say this module is obsolete.
79872         * modules/readutmp (Depends-on): Remove free.
79873         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79874         * lib/putenv.c (putenv): Likewise.
79875         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79876         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79877         * tests/test-c-strcasestr.c (main): Likewise.
79878         * tests/test-c-strstr.c (main): Likewise.
79879         * tests/test-mbscasestr1.c (main): Likewise.
79880         * tests/test-mbscasestr2.c (main): Likewise.
79881         * tests/test-mbsstr1.c (main): Likewise.
79882         * tests/test-mbsstr2.c (main): Likewise.
79883         * tests/test-memmem.c (main): Likewise.
79884         * tests/test-strcasestr.c (main): Likewise.
79885         * tests/test-striconv.c (main): Likewise.
79886         * tests/test-striconveh.c (main): Likewise.
79887         * tests/test-striconveha.c (main): Likewise.
79888         * tests/test-strstr.c (main): Likewise.
79890         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79892         bootstrap: sync from coreutils again
79893         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79895 2008-03-01  Jim Meyering  <meyering@redhat.com>
79897         bootstrap: sync from coreutils
79898         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79899         also when the target doesn't exist.
79901 2008-03-01  Eric Blake  <ebb9@byu.net>
79903         Fix bugs in last patch.
79904         * lib/memchr2.c (memchr2): Fix typo.
79905         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79906         extension.
79907         Reported by Bruce Korb.
79909         New module 'memchr2'.
79910         * modules/memchr2: New file.
79911         * modules/memchr2-tests: Likewise.
79912         * lib/memchr2.h: Likewise.
79913         * lib/memchr2.c: Likewise, based on memchr.c.
79914         * tests/test-memchr2.c: New test.
79915         * MODULES.html.sh (String handling): Add memchr2.
79917 2008-02-29  Bruno Haible  <bruno@clisp.org>
79919         * modules/freadseek-tests: New file.
79920         * tests/test-freadseek.sh: New file.
79921         * tests/test-freadseek.c: New file.
79923         New module 'freadseek'.
79924         * modules/freadseek: New file.
79925         * lib/freadseek.h: New file.
79926         * lib/freadseek.c: New file.
79927         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79929 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79931         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79932         wydawca.
79934         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79935         program_invocation_name and program_invocation_short_name are
79936         present.
79938 2008-02-28  Bruno Haible  <bruno@clisp.org>
79940         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79941         * tests/test-freadptr.sh: Also test non-seekable stdin.
79943 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79945         * build-aux/bootstrap (source_base, m4_base)
79946         (doc_base, tests_base): New variables.
79947         (gnulib_tool_options): Do not hardcode base directories, use
79948         the above variables instead.
79950 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79952         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79954 2008-02-28  Bruno Haible  <bruno@clisp.org>
79956         * modules/freadptr-tests: New file.
79957         * tests/test-freadptr.sh: New file.
79958         * tests/test-freadptr.c: New file.
79960         New module 'freadptr'.
79961         * modules/freadptr: New file.
79962         * lib/freadptr.h: New file.
79963         * lib/freadptr.c: New file.
79964         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
79966 2008-02-26  Karl Berry  <karl@freefriends.org>
79968         Sync from Libtool:
79969         * libltdl/argz.c (argz_add, argz_count): New functions.
79970         * libltdl/argz.in.h: Declare them.
79971         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
79973 2008-02-22  Bruno Haible  <bruno@clisp.org>
79975         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
79976         is a pointer type.  Needed for HP-UX 10.
79977         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
79978         * doc/posix-functions/gmtime_r.texi: Likewise.
79979         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79981 2008-02-24  Bruno Haible  <bruno@clisp.org>
79983         * modules/environ-tests: New file.
79984         * tests/test-environ.c: New file.
79986         New module 'environ'.
79987         * modules/environ: New file.
79988         * lib/unistd.in.h (environ): New declaration.
79989         * m4/environ.m4: New file.
79990         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
79991         after use.
79992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
79993         HAVE_DECL_ENVIRON.
79994         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
79995         HAVE_DECL_ENVIRON.
79996         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
79997         wrong claim that 'environ' is missing on some systems.
79998         * modules/execute (Depends-on): Add environ.
79999         * lib/execute.c (environ): Remove fallback declaration.
80000         * modules/pipe (Depends-on): Add environ.
80001         * lib/pipe.c (environ): Remove fallback declaration.
80002         * modules/setenv (Depends-on): Add environ.
80003         * lib/setenv.c (environ): Remove fallback declaration.
80004         * modules/unsetenv (Depends-on): Add environ.
80005         * lib/unsetenv.c (environ): Remove fallback declaration.
80006         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
80007         m4/environ.m4.
80008         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
80009         (gl_PREREQ_UNSETENV): Likewise.
80011 2008-02-24  Bruno Haible  <bruno@clisp.org>
80013         * doc/posix-functions/environ.texi: Document the MacOS X problem.
80015 2008-02-20  Bob Proulx  <bob@proulx.com>
80017         Enable use of older two part flavor 'git describe'.
80018         * build-aux/git-version-gen: If using the older two part flavor of
80019         git version then recreate the third part now present in the
80020         newer three part flavor of git describe.
80022 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
80024         * lib/fts.c (fts_build): Typo correction to comment.
80026 2008-02-17  Bruno Haible  <bruno@clisp.org>
80028         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
80029         generating no-op conflicts.
80031 2008-02-17  Bruno Haible  <bruno@clisp.org>
80033         Speed up by 10%.
80034         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
80035         result_entries, rather than an index-based loop.
80037 2008-02-17  Bruno Haible  <bruno@clisp.org>
80039         Speed up by 25%.
80040         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
80041         'hashcode_cached'.
80042         (entry_create): New function.
80043         (entry_hashcode): Use the cached hashcode if possible.
80044         (read_changelog_file, try_split_merged_entry): Use entry_create.
80046 2008-02-17  Bruno Haible  <bruno@clisp.org>
80048         Speed up from O(n^2) to O(n) for long ChangeLog files.
80049         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
80050         (read_changelog_file): Change implementation of entries_reversed list
80051         to rbtreehash.
80052         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
80054 2008-02-17  Bruno Haible  <bruno@clisp.org>
80056         New option --split-merged-entry.
80057         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
80058         (find_paragraph_end, try_split_merged_entry): New functions.
80059         (long_options): Add option --split-merged-entry.
80060         (usage): Document option --split-merged-entry.
80061         (main): Implement option --split-merged-entry.
80062         Reported by Eric Blake.
80064 2008-02-17  Bruno Haible  <bruno@clisp.org>
80066         * lib/git-merge-changelog.c: Include c-strstr.h.
80067         (main): Support the "git pull --rebase" situation.
80068         * modules/git-merge-changelog (Depends-on): Add c-strstr.
80069         Reported by Eric Blake.
80071 2008-02-16  Eric Blake  <ebb9@byu.net>
80073         Avoid doubling \ in common case of "c-maybe" quoting style.
80074         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
80075         eliding outer quotes.
80076         * lib/quotearg.h: Document this.
80077         * tests/test-quotearg.c (result_strings, inputs, results_g)
80078         (flag_results, locale_results): Test it by adding a new string to
80079         each test group.
80080         (compare_strings): Test new string.
80082 2008-02-13  Eric Blake  <ebb9@byu.net>
80084         Avoid trigraph quoting in default output.
80085         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
80086         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
80087         unless explicitly requested.
80088         * tests/test-quotearg.c (flag_results, main): Add additional tests.
80090 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
80092         Don't rely on signed integer overflowing to negative value.
80093         * lib/getugroups.c (getugroups): Include <limits.h>.
80094         Instead, compare against INT_MAX, and increment only if the test passes.
80096 2008-02-13  Jim Meyering  <meyering@redhat.com>
80097         and Eric Blake  <ebb9@byu.net>
80099         Avoid shadowing warning and compile errors on Linux.
80100         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
80101         forwarding macros on Linux.
80102         (dcgettext): Define a stub, for Linux.
80103         (results_g, main): Avoid warnings.
80105 2008-02-12  Eric Blake  <ebb9@byu.net>
80107         Silence warning in last patch.
80108         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
80110         Quotearg part 4: add tests, fix c-maybe colon quoting.
80111         * lib/quotearg.h: Improve documentation.
80112         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
80113         escapes when adding outer quotes.  When quoting trigraphs, use
80114         valid C notation.  When quoting NUL, omit extra characters if next
80115         character is not digit.  Alter prototype.
80116         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
80117         callers.
80118         * modules/quotearg-tests: New module.
80119         * tests/test-quotearg.c: New test.
80121 2008-02-07  Eric Blake  <ebb9@byu.net>
80123         Quotearg part 3: add flag to control outer quote elision.
80124         * lib/quotearg.h (c_maybe_quoting_style): New style.
80125         (enum quoting_flags): Better documentation of flags.
80126         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
80127         c-maybe style.
80128         (quotearg_buffer_restyled): Handle new flag to elide outer
80129         quotes.
80131         Quotearg part 2: add flag that can control NUL elision.
80132         * lib/quotearg.h (set_quoting_flags): New prototype.
80133         * lib/quotearg.c (struct quoting_options): Add flag field.
80134         (set_quoting_flags): New function.
80135         (quotearg_buffer_restyled): Add flags parameter.
80136         (quotearg_alloc_mem): Set the flag if length cannot be returned.
80137         (quotearg_n_options): Set the flag, since length cannot be
80138         returned.
80139         (quoting_options_from_style): Default flags correctly.
80141         Quotearg part 1: more wrappers, restore quotearg_char state.
80142         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
80143         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
80144         (quotearg_colon_mem): New wrappers.
80145         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
80146         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
80147         functions.
80148         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
80149         (quotearg_colon_mem): New functions.
80151 2008-02-11  Bruno Haible  <bruno@clisp.org>
80153         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
80154         library in the current directory: it does not work with parallel make.
80155         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80157 2008-02-11  Bruno Haible  <bruno@clisp.org>
80159         * .gitattributes: New file.
80161 2008-02-11  Jim Meyering  <meyering@redhat.com>
80163         useless-if-before-free: Fix reversed exit values.
80164         * build-aux/useless-if-before-free: Use correct values
80165         for EXIT_MATCH and EXIT_NO_MATCH.
80167         * build-aux/useless-if-before-free: Close stdout carefully.
80169 2008-02-10  Bruno Haible  <bruno@clisp.org>
80171         New module 'git-merge-changelog'.
80172         * modules/git-merge-changelog: New file.
80173         * lib/git-merge-changelog.c: New file.
80175 2008-02-10  Jim Meyering  <meyering@redhat.com>
80177         useless-if-before-free: New option: --list (-l).
80179         useless-if-before-free: Don't exit immediately upon open failure.
80180         * build-aux/useless-if-before-free: Exit 2 for errors.
80181         Upon failure to open a file, don't exit immediately.
80182         Rather, just warn and continue with any remaining files.
80184 2008-02-10  Bruno Haible  <bruno@clisp.org>
80186         New abstract list operation 'node_set_value'.
80187         * lib/gl_list.h (gl_list_node_set_value): New function.
80188         (struct gl_list_implementation): New field node_set_value.
80189         * lib/gl_list.c (gl_list_node_set_value): New function.
80190         * lib/gl_array_list.c (gl_array_node_set_value): New function.
80191         (gl_array_list_implementation): Update.
80192         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
80193         (gl_carray_list_implementation): Update.
80194         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
80195         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
80196         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
80197         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
80198         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
80199         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
80200         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
80201         Update.
80202         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
80203         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
80204         (gl_sublist_list_implementation): Update.
80206 2008-02-10  Bruno Haible  <bruno@clisp.org>
80208         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
80209         Needed when ELEMENT is #defined to 'some_type *'.
80211 2008-02-10  Jim Meyering  <meyering@redhat.com>
80213         New script and module: useless-if-before-free
80214         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
80215         * build-aux/useless-if-before-free: New file.
80216         * modules/useless-if-before-free: New file.
80218         * build-aux/gitlog-to-changelog: Use committer date, not author date.
80220         xstrtol_error: Fix typo.
80221         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
80222         s/exit_failure/exit_status/.
80224 2008-02-09  Jim Meyering  <meyering@redhat.com>
80226         New script and module: gitlog-to-changelog
80227         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
80228         * modules/gitlog-to-changelog: New file.
80229         * build-aux/gitlog-to-changelog: New file.
80231 2008-02-08  Jim Meyering  <meyering@redhat.com>
80233         Avoid two "parameter unused" warnings.
80234         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
80235         Mark "st" as used.
80237         Use "git COMMAND", not "git-COMMAND".
80238         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
80239         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
80240         * build-aux/git-version-gen: Use "git status", not "git-status".
80242 2008-02-07  Bruno Haible  <bruno@clisp.org>
80244         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
80245         Avoids a crash on Windows Vista.
80246         Reported by Adam Strzelecki <ono@java.pl> via
80247         Simon Josefsson <simon@josefsson.org>.
80249 2008-02-06  Bruno Haible  <bruno@clisp.org>
80251         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
80252         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
80253         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
80254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
80255         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
80256         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
80257         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
80258         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
80259         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
80260         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
80261         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
80262         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
80263         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
80264         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
80265         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
80266         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
80267         left-adjust flag.
80268         * tests/test-snprintf-posix.h (test_function): Likewise.
80269         * tests/test-sprintf-posix.h (test_function): Likewise.
80270         * tests/test-vasprintf-posix.c (test_function): Likewise.
80271         * doc/posix-functions/fprintf.texi: Update.
80272         * doc/posix-functions/printf.texi: Update.
80273         * doc/posix-functions/snprintf.texi: Update.
80274         * doc/posix-functions/sprintf.texi: Update.
80275         * doc/posix-functions/vfprintf.texi: Update.
80276         * doc/posix-functions/vprintf.texi: Update.
80277         * doc/posix-functions/vsnprintf.texi: Update.
80278         * doc/posix-functions/vsprintf.texi: Update.
80279         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80281 2008-02-06  Bruno Haible  <bruno@clisp.org>
80283         Fix bug introduced on 2008-01-26.
80284         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
80286 2008-02-06  Bruno Haible  <bruno@clisp.org>
80288         Fix bug introduced on 2007-06-10.
80289         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
80290         !NEED_PRINTF_FLAG_ZERO.
80292 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
80294         getloadavg: use libperfstat on AIX5
80295         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
80297 2008-02-03  Bruno Haible  <bruno@clisp.org>
80299         * lib/diffseq.h: Add comments about required #includes.
80300         Reported by Michael Biggs <gnulib@doubleplum.net>.
80302 2008-02-01  Bruno Haible  <bruno@clisp.org>
80304         * users.txt: Add gnuit.
80306 2008-01-31  Bruno Haible  <bruno@clisp.org>
80308         * lib/md4.c (set_uint32): Mark as inline.
80309         * lib/md5.c (set_uint32): Likewise.
80310         * lib/sha1.c (set_uint32): Likewise.
80311         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
80312         * m4/md5.m4 (gl_MD5): Likewise.
80313         * m4/sha1.m4 (gl_SHA1): Likewise.
80315 2008-01-31  Jim Meyering  <meyering@redhat.com>
80317         Use "sizeof VAR", rather than a literal "4".
80318         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
80319         * lib/md4.c (md4_read_ctx): Likewise.
80320         * lib/sha1.c (sha1_read_ctx): Likewise.
80322 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80324         * tests/test-sha1.c: New file, based on test-md5.c.
80326         * modules/crypto/sha1-tests: New file.
80328 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80330         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
80332 2008-01-31  Jim Meyering  <meyering@redhat.com>
80334         Prefer "sizeof v" over the equivalent "4".
80335         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
80336         * lib/md5.c (set_uint32): Likewise.
80337         * lib/sha1.c (set_uint32): Likewise.
80339 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80341         * lib/sha1.c (set_uint32): Mark function as static.
80343 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80345         md2: clarify comments to say that alignment is not required.
80346         * lib/md2.h: Remove warning about alignment in comment.
80347         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
80348         never been required.
80350 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80352         md4: adapt alignment constraint fix from sha1.
80353         * lib/md4.c (set_uint32): New function, from sha1.c
80354         (md4_read_ctx): Use it.
80355         (md4_finish_ctx): Doc fix.
80356         * lib/md4.h: Doc fix.
80358 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80360         md5: adapt alignment constraint fix from sha1.
80361         * lib/md5.c (set_uint32): New function, from sha1.c
80362         (md5_read_ctx): Use it.
80363         (md5_finish_ctx): Doc fix.
80364         * lib/md5.h: Doc fix.
80366 2008-01-30  Peter Palfrader  <weasel@debian.org>
80368         sha1: remove the result buffer alignment constraint
80369         * lib/sha1.c (set_uint32): New function.
80370         (sha1_read_ctx): Rewrite to remove the result buffer alignment
80371         constraint.
80372         (sha1_finish_ctx): Remove comment warning about alignment constraint.
80373         * lib/sha1.h: Likewise.
80375 2008-01-30  Andreas Schwab  <schwab@suse.de>
80376             Bruno Haible  <bruno@clisp.org>
80378         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
80379         correct definition of LDBL_MIN_EXP.
80381 2008-01-30  Karl Berry  <karl@gnu.org>
80383         * config/srclist-update: try to preserve x bit on updates.
80384         * config/srclistvars.sh: update for karl.
80386 2008-01-29  Jim Meyering  <meyering@redhat.com>
80388         vasnprintf.c: Avoid warning about unused label
80389         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
80390         "overflow" label definition and associated code with the
80391         same cpp condition that guards the sole use of that label.
80393 2008-01-26  Bruno Haible  <bruno@clisp.org>
80395         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
80396         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
80397         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
80398         * lib/isnanl-nolibm.h (isnanl): Likewise.
80399         Reported by Paul Eggert <eggert@cs.ucla.edu>.
80401 2008-01-26  Bruno Haible  <bruno@clisp.org>
80403         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
80404         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
80406 2008-01-26  Bruno Haible  <bruno@clisp.org>
80408         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
80409         GCC >= 4.0 built-in.
80410         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
80412 2008-01-26  Bruno Haible  <bruno@clisp.org>
80414         Rename isnan, applicable to 'double' only, to isnand.
80415         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
80416         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
80417         (configure.ac): Update.
80418         (Include): Replace "isnan.h" with "isnand.h".
80419         * m4/isnand.m4: Renamed from m4/isnan.m4.
80420         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
80421         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
80422         instead of isnan.c.
80423         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
80424         instead of HAVE_ISNAN_IN_LIBC.
80425         (isnand): Renamed from isnan.
80426         * lib/isnand.c: New file.
80427         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
80428         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
80429         (Makefile.am): Update.
80430         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
80431         Include isnand.h instead of isnan.h.
80432         (main): Test isnand instead of isnan.
80433         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
80434         isnan-nolibm.
80435         * modules/frexp (Depends-on): Likewise.
80436         * modules/frexp-tests (Depends-on): Likewise.
80437         * modules/frexp-nolibm (Depends-on): Likewise.
80438         * modules/frexp-nolibm-tests (Depends-on): Likewise.
80439         * modules/isfinite (Depends-on): Likewise.
80440         * modules/round-tests (Depends-on): Likewise.
80441         * modules/signbit (Depends-on): Likewise.
80442         * modules/signbit-tests (Depends-on): Likewise.
80443         * modules/snprintf-posix (Depends-on): Likewise.
80444         * modules/sprintf-posix (Depends-on): Likewise.
80445         * modules/trunc-tests (Depends-on): Likewise.
80446         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
80447         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
80448         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
80449         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
80450         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
80451         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
80452         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
80453         * modules/vasnprintf-posix (Depends-on): Likewise.
80454         * modules/vasprintf-posix (Depends-on): Likewise.
80455         * modules/vfprintf-posix (Depends-on): Likewise.
80456         * modules/vsnprintf-posix (Depends-on): Likewise.
80457         * modules/vsprintf-posix (Depends-on): Likewise.
80458         * lib/frexp.c: Include isnand.h instead of isnan.h.
80459         (ISNAN): Set to isnand instead of isnan.
80460         * lib/isfinite.c: Include isnand.h instead of isnan.h.
80461         (gl_isfinited): Use isnand instead of isnan.
80462         * lib/signbitd.c: Include isnand.h instead of isnan.h.
80463         (gl_signbitd): Use isnand instead of isnan.
80464         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
80465         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
80466         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
80467         (main): Use isnand instead of isnan.
80468         * tests/test-round1.c: Include isnand.h.
80469         (main): Use isnand instead of isnan.
80470         * tests/test-round2.c: Include isnand.h instead of isnan.h.
80471         (ISNAN): Set to isnand instead of isnan.
80472         * tests/test-trunc1.c: Include isnand.h.
80473         (main): Use isnand instead of isnan.
80474         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
80475         (equal): Use isnand instead of isnan.
80476         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
80477         isnand-nolibm.
80478         * NEWS: Mention the change.
80480 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80481             Bruno Haible  <bruno@clisp.org>
80483         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
80484         the GCC builtins for signbits are present and set
80485         REPLACE_SIGNBIT_USING_GCC if so.
80486         * lib/math.in.h (signbit): Define using GCC builtins if
80487         REPLACE_SIGNBIT_USING_GCC is set.
80488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
80489         REPLACE_SIGNBIT_USING_GCC.
80490         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
80492 2008-01-25  Jim Meyering  <meyering@redhat.com>
80494         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
80495         * lib/poll.c: Include <config.h>, not "config.h".
80496         * tests/test-getaddrinfo.c: Likewise.
80498 2008-01-25  Simon Josefsson  <simon@josefsson.org>
80500         * modules/sockets-tests: New file.
80502 2008-01-24  Simon Josefsson  <simon@josefsson.org>
80504         * modules/sockets: New module, can be used to call WSA_Startup and
80505         WSA_Cleanup when needed.
80507         * lib/sockets.h, lib/sockets.c: New files.
80509         * m4/sockets.m4: New file.
80511         * tests/test-sockets.c: New file.
80513 2008-01-19  Bruno Haible  <bruno@clisp.org>
80515         * doc/posix-headers: Renamed from doc/headers.
80516         * doc/posix-functions: Renamed from doc/functions.
80517         * doc/gnulib.texi: Update.
80519 2008-01-19  Bruno Haible  <bruno@clisp.org>
80521         * doc/glibc-functions/strcasestr.texi: Include contents of
80522         doc/functions/strcasestr.texi, fixing the list of platforms.
80523         * doc/functions/strcasestr.texi: Remove file.
80525 2008-01-19  Bruno Haible  <bruno@clisp.org>
80527         * doc/glibc-functions/memmem.texi: Include contents of
80528         doc/functions/memmem.texi.
80529         * doc/functions/memmem.texi: Remove file.
80531 2008-01-18  Bruno Haible  <bruno@clisp.org>
80533         * doc/glibc-functions/*.texi: New files.
80534         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
80535         to use the new files.
80537 2008-01-17  Bruno Haible  <bruno@clisp.org>
80539         * tests/test-gethostname.c (main): Fix printf statement.
80541 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80543         * modules/gethostname-tests: New file.
80545         * tests/test-gethostname.c: New file.
80547 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80549         * lib/gethostname.c: Include string.h unconditionally, strncpy is
80550         used by the UNAME case.  Reported by Bruno Haible
80551         <bruno@clisp.org>.
80553 2008-01-17  Eric Blake  <ebb9@byu.net>
80555         Convert c-strcasestr to be more efficient.
80556         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
80557         (Depends-on): Add c-strcase, remove malloca, strnlen.
80558         * tests/test-c-strcasestr.c (main): Enhance test.
80559         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
80561 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
80563         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
80564         Use it in creating po/Makevars.
80566 2008-01-15  Simon Josefsson  <simon@josefsson.org>
80568         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
80569         Applications that requires it should initialize libgcrypt
80570         manually.
80572 2008-01-16  Simon Josefsson  <simon@josefsson.org>
80574         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
80576 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
80578         Fix problem with getdate on mingw32 reported by Simon Josefsson
80579         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
80580         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
80581         tzname", when deciding whether to declare tzname.
80582         * lib/strftime.c (tzname): Likewise.
80584 2008-01-15  Bruno Haible  <bruno@clisp.org>
80586         Work around a MacOS X 10.5 bug in frexpl().
80587         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
80588         * doc/functions/frexpl.texi: Document the bug.
80589         Reported by Elias Pipping <pipping@gentoo.org>.
80591 2008-01-14  Eric Blake  <ebb9@byu.net>
80593         Touch up previous patch.
80594         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
80595         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
80597         Convert strcasestr module to use Two-Way algorithm.
80598         * modules/strcasestr-simple: New module, based on the old
80599         strcasestr, but with Two-Way rather than KMP.
80600         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
80601         * lib/string.in.h (rpl_strcasestr): Declare.
80602         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
80603         performance.
80604         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
80605         * modules/string (Makefile.am): Support strcasestr.
80606         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
80607         * modules/strcasestr-tests (Depends-on): Check for alarm.
80608         * tests/test-strcasestr.c: Augment test.
80609         * lib/str-two-way.h: Clean up stray macro.
80610         * NEWS: Document new module.
80611         * MODULES.html.sh (string handling): Likewise.
80612         * doc/functions/strcasestr.texi: New file.
80613         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
80614         here, since it is not a POSIX function.
80616 2008-01-14  Colin Watson  <cjwatson@debian.org>
80617             Bruno Haible  <bruno@clisp.org>
80619         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
80620         works fine; if not, set REPLACE_STRSIGNAL.
80621         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
80622         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80623         REPLACE_STRSIGNAL.
80624         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
80625         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
80626         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
80628 2008-01-14  Bruno Haible  <bruno@clisp.org>
80630         * modules/strsignal (Include): Change to <string.h>.
80632 2008-01-14  Colin Watson  <cjwatson@debian.org>
80634         * modules/argp (Notice): Add a notice recommending to change
80635         XGETTEXT_OPTIONS.
80636         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
80638 2008-01-13  Colin Watson  <cjwatson@debian.org>
80640         * modules/strsignal-tests: New file.
80641         * tests/test-strsignal.c: New file.
80643         * lib/strsignal.c: New file, from glibc with modifications.
80644         * lib/siglist.h: New file, from glibc with modifications.
80645         * lib/string.in.h (strsignal): New declaration.
80646         * m4/strsignal.m4: New file.
80647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80648         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
80649         * modules/strsignal: New file.
80650         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
80651         HAVE_DECL_STRSIGNAL.
80653 2008-01-13  Bruno Haible  <bruno@clisp.org>
80655         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
80656         locale encoding is not ASCII. Needed for OpenBSD 4.0.
80657         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
80658         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80660 2008-01-13  Bruno Haible  <bruno@clisp.org>
80662         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
80663         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
80664         * lib/argp.h (__attribute__): Likewise.
80665         * lib/c-stack.c (__attribute__): Likewise.
80666         * lib/error.h (__attribute__): Likewise.
80667         * lib/fts.c (__attribute__): Likewise.
80668         * lib/openat.h (__attribute__): Likewise.
80669         * lib/stdio.in.h (__attribute__): Likewise.
80670         * lib/string.in.h (__attribute__): Likewise.
80671         * lib/utimens.c (__attribute__): Likewise.
80672         * lib/vasnprintf.h (__attribute__): Likewise.
80673         * lib/xalloc.h (__attribute__): Likewise.
80674         * lib/xprintf.h (__attribute__): Likewise.
80675         * lib/xstrtol.h (__attribute__): Likewise.
80676         * lib/xvasprintf.h (__attribute__): Likewise.
80678 2008-01-12  Bruno Haible  <bruno@clisp.org>
80680         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
80681         * doc/glibc-headers/a.out.texi: New file.
80682         * doc/glibc-headers/aliases.texi: New file.
80683         * doc/glibc-headers/alloca.texi: New file.
80684         * doc/glibc-headers/ar.texi: New file.
80685         * doc/glibc-headers/argp.texi: New file.
80686         * doc/glibc-headers/argz.texi: New file.
80687         * doc/glibc-headers/byteswap.texi: New file.
80688         * doc/glibc-headers/crypt.texi: New file.
80689         * doc/glibc-headers/endian.texi: New file.
80690         * doc/glibc-headers/envz.texi: New file.
80691         * doc/glibc-headers/err.texi: New file.
80692         * doc/glibc-headers/error.texi: New file.
80693         * doc/glibc-headers/execinfo.texi: New file.
80694         * doc/glibc-headers/fpu_control.texi: New file.
80695         * doc/glibc-headers/fstab.texi: New file.
80696         * doc/glibc-headers/fts.texi: New file.
80697         * doc/glibc-headers/getopt.texi: New file.
80698         * doc/glibc-headers/ieee754.texi: New file.
80699         * doc/glibc-headers/ifaddrs.texi: New file.
80700         * doc/glibc-headers/libintl.texi: New file.
80701         * doc/glibc-headers/mcheck.texi: New file.
80702         * doc/glibc-headers/mntent.texi: New file.
80703         * doc/glibc-headers/obstack.texi: New file.
80704         * doc/glibc-headers/paths.texi: New file.
80705         * doc/glibc-headers/printf.texi: New file.
80706         * doc/glibc-headers/pty.texi: New file.
80707         * doc/glibc-headers/resolv.texi: New file.
80708         * doc/glibc-headers/shadow.texi: New file.
80709         * doc/glibc-headers/sysexits.texi: New file.
80710         * doc/glibc-headers/ttyent.texi: New file.
80712 2008-01-12  Jim Meyering  <meyering@redhat.com>
80714         announce-gen: emit Gnulib's git-based version string.
80715         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
80716         New option --gnulib-version=V, where V is expected to be
80717         the output of running git describe in the gnulib directory.
80718         (get_tool_versions): Request feedback on xdelta.  I suspect it's
80719         not useful, and plan to stop publishing an xdelta file with each
80720         coreutils release.
80722         * build-aux/announce-gen: Also check for lzma-compressed files.
80724 2008-01-11  Bruno Haible  <bruno@clisp.org>
80726         * tests/test-memmem.c (main): Increase maximum allowed time.
80727         * tests/test-strstr.c (main): Likewise.
80729 2008-01-11  Bruno Haible  <bruno@clisp.org>
80731         * doc/functions/memmem.texi: Add more precisions about platforms.
80732         * doc/functions/strstr.texi: Likewise.
80734 2008-01-10  Eric Blake  <ebb9@byu.net>
80736         * m4/strstr.m4: Delete cruft from copy-n-paste.
80737         Reported by Bruno Haible.
80739 2008-01-10  Bruno Haible  <bruno@clisp.org>
80741         Make c-strstr rely on strstr.
80742         * lib/c-strstr.c: Don't include str-kmp.h.
80743         (c_strstr): Define in terms of strstr.
80744         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80745         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80747 2008-01-10  Bruno Haible  <bruno@clisp.org>
80749         * doc/gnulib.texi (String Functions in C Locale): New section.
80750         * doc/c-ctype.texi: New file.
80751         * doc/c-strcase.texi: New file.
80752         * doc/c-strcaseeq.texi: New file.
80753         * doc/c-strcasestr.texi: New file.
80754         * doc/c-strstr.texi: New file.
80755         * doc/c-strtod.texi: New file.
80756         * doc/c-strtold.texi: New file.
80758 2008-01-10  Eric Blake  <ebb9@byu.net>
80760         * lib/relocatable.h: Fix a comment.
80762 2008-01-10  Eric Blake  <ebb9@byu.net>
80764         Share two-way algorithm.
80765         * lib/str-two-way.h: New file, merged from...
80766         * lib/memmem.c: ...here...
80767         * lib/strstr.c: ...and here.
80768         * modules/memmem (Files): Use it.
80769         * modules/strstr (Files): Likewise.
80771         Avoid quadratic strstr implementations.
80772         * lib/strstr.c: New file.
80773         * m4/strstr.m4: Likewise.
80774         * modules/strstr: Likewise.
80775         * modules/strstr-tests: Likewise.
80776         * tests/test-strstr.c: Likewise.
80777         * lib/string.in.h (rpl_strstr): Declare.
80778         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80780         * modules/string (Makefile.am): Likewise.
80781         * MODULES.html.sh (string handling): Mention new module.
80782         * doc/functions/strstr.texi (strstr): Document the bug.
80784 2008-01-10  Bruno Haible  <bruno@clisp.org>
80786         * lib/relocatable.h (relocate): State whether result is freshly
80787         allocated or not.
80788         * lib/relocatable.c (relocate): Return a freshly allocated string
80789         instead of a pointer to a privately held string.
80790         Reported by Sylvain Beucler <beuc@gnu.org>.
80792 2008-01-10  Colin Watson  <cjwatson@debian.org>
80794         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80795         s/S_ISNLK/S_ISLNK/.
80797 2008-01-09  Bruno Haible  <bruno@clisp.org>
80799         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80800         and other files.
80801         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80802         if it's only a guess.
80803         * modules/memmem: Simplify by depending on memmem-simple.
80805 2008-01-09  Bruno Haible  <bruno@clisp.org>
80807         Work around OpenBSD 4.0 tdelete() bug.
80808         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80809         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80810         macros and don't redefine the enum values.
80811         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80812         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80813         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80815 2008-01-09  Bruno Haible  <bruno@clisp.org>
80817         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80818         (main): Don't perform the tests if setlocale did not install a UTF-8
80819         locale. Needed on OpenBSD 4.0.
80820         * modules/wcwidth-tests (Depends-on): Add localcharset.
80822 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80824         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80825         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80826         * NEWS: announce this.
80827         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80829 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80830         and Eric Blake  <ebb9@byu.net>
80832         Add memmem-simple module.
80833         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80834         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80835         * modules/memmem-simple: New file.
80836         * modules/memmem (Description): Tweak.
80837         * MODULES.html.sh (string handling): Mention new module.
80838         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80839         addressed by memmem-simple.
80840         * NEWS: Document the difference.
80842 2008-01-09  Eric Blake  <ebb9@byu.net>
80844         Give gcc some memmem optimization hints.
80845         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80846         (strcasestr): Declare as pure.
80847         * modules/memmem (Maintainer): Claim my implementation.
80849 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80851         Support AIX 6.1 and higher.
80852         * build-aux/config.libpath: Likewise.
80853         * build-aux/config.rpath: Likewise.
80855 2008-01-08  Jim Meyering  <meyering@redhat.com>
80856             Bruno Haible  <bruno@clisp.org>
80858         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80859         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80860         Reported by Peter Fales in
80861         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80863 2008-01-08  Bruno Haible  <bruno@clisp.org>
80865         * modules/unictype/category-of (Depends-on): Add
80866         unictype/category-none.
80867         * modules/unictype/category-and-tests (Depends-on): Add
80868         unictype/category-{L,N,Lu,Nd}.
80869         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80870         * modules/unictype/category-or-tests (Depends-on): Add
80871         unictype/category-{L,N}.
80872         * modules/unictype/category-name-tests (Depends-on): Add
80873         unictype/category-{Z,Nl}.
80874         Reported by Simon Josefsson.
80876 2008-01-08  Bruno Haible  <bruno@clisp.org>
80878         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80879         convention better.
80880         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80881         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80882         Reported by Peter Miller <millerp@canb.auug.org.au>.
80884 2008-01-08  Eric Blake  <ebb9@byu.net>
80886         Rewrite memmem to guarantee linear complexity without malloc.
80887         * lib/memmem.c (memmem): Use Two-Way rather than
80888         Knuth-Morris-Pratt, to allow O(1) space usage.
80889         (critical_factorization, two_way_short_needle)
80890         (two_way_long_needle): New functions.
80891         (knuth_morris_pratt): Delete.
80892         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80893         Add stdint.
80894         * tests/test-memmem.c (main): Add tests for periodic needle and
80895         sublinear performance.
80896         * doc/functions/memmem.texi (memmem): Document other deficiencies
80897         in cygwin and older glibc.
80899 2008-01-08  Bruno Haible  <bruno@clisp.org>
80901         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80902         augmentation.
80904 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80906         Add a configure time option: --disable-acl.
80907         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80908         AC_ARG_ENABLE(acl).
80910 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80912         * tests/test-localename.c: Don't include obsolete "setenv.h".
80914         * modules/localename-tests (Depends-on): Need unsetenv.
80916 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80918         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80920 2008-01-06  Colin Watson  <cjwatson@debian.org>
80922         * users.txt: Add man-db.
80924 2008-01-07  Bruno Haible  <bruno@clisp.org>
80926         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80927         previous section name.
80929 2008-01-07  Bruno Haible  <bruno@clisp.org>
80931         * lib/progname.c (set_program_name): Don't strip off a leading
80932         "lt-" prefix outside a .libs directory.
80933         Suggested by Paul Eggert.
80935 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80936             Bruno Haible  <bruno@clisp.org>
80938         Improve memory cleanup in 'relocatable' module.
80939         * lib/relocatable.h (compute_curr_prefix): Change return type to
80940         'char *'.
80941         * lib/relocatable.c (compute_curr_prefix): Change return type to
80942         'char *'. Free curr_installdir after use.
80943         (relocate): Free curr_prefix_better after use.
80944         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80946 2008-01-01  Bruno Haible  <bruno@clisp.org>
80948         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80949         failure on older glibc systems.
80950         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80952 2008-01-05  Eric Blake  <ebb9@byu.net>
80954         Avoid quadratic system memmem.
80955         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80956         Reported by Ralf Wildenhues.
80958         Fix memmem test for mingw.
80959         * modules/memmem-tests (configure.ac): Check for alarm.
80960         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80961         it.
80962         * doc/functions/memmem.texi: New file.
80963         * doc/gnulib.texi (Function Substitutes): Add memmem.
80964         Reported by Bruno Haible.
80966 2008-01-04  Bruno Haible  <bruno@clisp.org>
80968         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
80969         Require gl_HEADER_STRINGS_H_DEFAULTS, not
80970         gl_HEADER_STRING_H_DEFAULTS.
80972 2008-01-04  Eric Blake  <ebb9@byu.net>
80974         Shorten duration of memmem test.
80975         * tests/test-memmem.c (main): Use alarm to declare failure if test
80976         is taking too long.
80977         Reported by Ralf Wildenhues.
80979 2007-12-21  Simon Josefsson  <simon@josefsson.org>
80981         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
80982         string, needed by strerror.
80984 2008-01-03  Colin Watson  <cjwatson@debian.org>
80985             Bruno Haible  <bruno@clisp.org>
80987         * doc/gnulib-tool.texi (Localization): New section.
80989 2008-01-02  Bruno Haible  <bruno@clisp.org>
80991         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
80992         variables to 'unsigned char *' type.
80993         Reported by Paul Eggert.
80995 2008-01-02  Jim Meyering  <jim@meyering.net>
80997         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
80999 2007-12-31  Jim Meyering  <jim@meyering.net>
81001         Avoid use of private FTS type name.
81002         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
81004 2007-12-30  Karl Berry  <karl@gnu.org>
81006         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
81007         work around defect in Texinfo and/or the standalone Info browser.
81009 2007-12-30  Bruno Haible  <bruno@clisp.org>
81011         Unify 5 copies of the KMP code.
81012         * lib/str-kmp.h: New file.
81013         * lib/c-strcasestr.c: Include str-kmp.h.
81014         (knuth_morris_pratt): Remove function.
81015         (c_strcasestr): Update.
81016         * lib/c-strstr.c: Include str-kmp.h.
81017         (knuth_morris_pratt): Remove function.
81018         (c_strcasestr): Update.
81019         * lib/mbscasestr.c: Include str-kmp.h.
81020         (knuth_morris_pratt_unibyte): Remove function.
81021         * lib/mbsstr.c: Include str-kmp.h.
81022         (knuth_morris_pratt_unibyte): Remove function.
81023         * lib/strcasestr.c: Include str-kmp.h.
81024         (knuth_morris_pratt): Remove function.
81025         (strcasestr): Update.
81026         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
81027         * modules/c-strstr (Files): Likewise.
81028         * modules/mbscasestr (Files): Likewise.
81029         * modules/mbsstr (Files): Likewise.
81030         * modules/strcasestr (Files): Likewise.
81031         Suggested by Paul Eggert.
81033 2007-12-30  Bruno Haible  <bruno@clisp.org>
81035         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
81036         defined.
81038 2007-12-30  Bruno Haible  <bruno@clisp.org>
81040         * lib/xmalloca.h: Include xalloc.h.
81041         (xnmalloca): New macro.
81043 2007-12-30  Bruno Haible  <bruno@clisp.org>
81045         * lib/malloca.h (nmalloca): New macro.
81046         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
81047         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
81048         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
81049         knuth_morris_pratt_multibyte): Likewise.
81050         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
81051         knuth_morris_pratt_multibyte): Likewise.
81052         * lib/memmem.c (knuth_morris_pratt): Likewise.
81053         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
81055 2007-12-25  Bruno Haible  <bruno@clisp.org>
81057         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
81058         * lib/glob.c: Don't include openat.h.
81059         (link_exists2_p): Add back the code that deals with the
81060         !GLOB_ALTDIRFUNC case.
81061         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
81062         let it do the filename concatenation.
81063         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
81064         * modules/glob (Depends-on): Remove openat.
81066 2007-12-31  Bruno Haible  <bruno@clisp.org>
81068         * modules/dirfd (License): Change to LGPLv2+.
81069         Approved by Jim Meyering.
81071 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
81073         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
81074         when multiplying M by sizeof (size_t).
81076 2007-12-10  Martin Lambers  <marlam@marlam.de>
81078         Override getpagesize on mingw.
81079         * lib/getpagesize.c: New file.
81080         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
81081         * modules/getpagesize (Files): Add lib/getpagesize.c.
81082         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
81083         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81084         REPLACE_GETPAGESIZE.
81085         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
81087 2007-12-25  Bruno Haible  <bruno@clisp.org>
81089         * modules/localcharset (Notice): New field.
81090         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
81091         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
81093 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
81094             Bruno Haible  <bruno@clisp.org>
81096         Avoid using the syntax symbol() in formatted documentation.
81097         * MODULES.html.sh (func_module): When replacing symbol() with a
81098         hyperlink, remove the parentheses. Show an error if some remain.
81099         Recognize and render the '...' syntax.
81100         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
81101         Rework. Add paragraph about GCC's inlining.
81102         * doc/alloca.texi: Likewise.
81103         * doc/error.texi: Remove parentheses from symbol reference.
81104         * doc/gnulib-intro.texi: Likewise.
81105         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
81106         * modules/fnmatch (Description): Reword to say "the ... function".
81107         * modules/full-read (Description): Likewise.
81108         * modules/full-write (Description): Likewise.
81109         * modules/safe-read (Description): Likewise.
81110         * modules/safe-write (Description): Likewise.
81111         * modules/strchrnul (Description): Likewise.
81112         * modules/trim (Description): Likewise.
81113         * modules/error (Description): Remove parentheses from symbol
81114         references.
81115         * modules/verror (Description): Likewise.
81116         Reported by Karl Berry.
81118 2007-12-25  Bruno Haible  <bruno@clisp.org>
81120         Fixup after 2007-10-16 commit.
81121         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
81123 2007-12-24  Bruno Haible  <bruno@clisp.org>
81125         Make --enable-relocatable work with DESTDIR.
81126         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
81127         to compute installdir from destprog.
81128         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
81129         also set the RELOC_DESTDIR variable.
81130         Reported by Левашев Иван <octagram@bluebottle.com>.
81132 2007-12-24  Bruno Haible  <bruno@clisp.org>
81134         Fix link error due to xalloc_die().
81135         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
81136         of xreadlink.
81137         * lib/relocwrapper.c: Update comments.
81138         * build-aux/install-reloc: Remove xreadlink.c from file list.
81139         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
81140         xreadlink.c.
81141         Reported by Левашев Иван <octagram@bluebottle.com>.
81143 2007-12-24  Bruno Haible  <bruno@clisp.org>
81145         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
81146         * lib/setenv.h: Remove file.
81147         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
81148         lib/setenv.h.
81149         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
81150         (Depends-on): Add stdlib.
81151         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
81152         gl_FUNC_UNSETENV.
81153         (Include): Replace setenv.h with <stdlib.h>.
81154         * modules/unsetenv: New file.
81155         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
81156         * lib/unsetenv.c: Include <stdlib.h> first.
81157         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
81158         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
81159         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
81160         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
81161         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
81162         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
81164         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81165         * doc/functions/unsetenv.texi: Update.
81166         * modules/xsetenv (Depends-on): Add unsetenv.
81167         * modules/getdate (Depends-on): Likewise.
81168         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
81169         * lib/xsetenv.c: Don't include setenv.h.
81170         * lib/getdate.y: Likewise.
81171         * lib/relocwrapper.c: Likewise.
81172         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
81173         (Depends-on): Add stdlib.
81174         * NEWS: Mention the changes.
81175         Reported by Левашев Иван <octagram@bluebottle.com>.
81177 2007-12-23  Bruno Haible  <bruno@clisp.org>
81179         * lib/memmem.c (memmem): Use lowercase variable names. Tab
81180         indentation.
81182 2007-12-23  Bruno Haible  <bruno@clisp.org>
81184         * lib/c-strcasestr.c: Add more comments.
81185         * lib/c-strstr.c: Likewise.
81186         * lib/mbscasestr.c: Likewise.
81187         * lib/mbsstr.c: Likewise.
81188         * lib/strcasestr.c: Likewise.
81189         * lib/memmem.c: Likewise.
81191 2007-12-23  Bruno Haible  <bruno@clisp.org>
81193         * tests/test-memmem.c: Include <string.h> first.
81195 2007-12-22  Bruno Haible  <bruno@clisp.org>
81197         * gnulib-tool (func_create_testdir): Change $auxdir while generating
81198         the contents of $testsbase.
81199         Reported by Ralf Wildenhues.
81201 2007-12-22  Bruno Haible  <bruno@clisp.org>
81203         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
81204         two variables local_ldadd_before, local_ldadd_last.
81206 2007-12-20  Eric Blake  <ebb9@byu.net>
81208         Work around circular library issue when cross-compiling.
81209         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
81210         that progname.o does not need to pull in rpl_memcmp.
81212 2007-12-19  Eric Blake  <ebb9@byu.net>
81214         Fix memmem to avoid O(n^2) worst-case complexity.
81215         * lib/memmem.c (knuth_morris_pratt): New function.
81216         (memmem): Use it if first few naive iterations fail.
81217         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
81218         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
81219         * modules/memchr (License): Likewise.
81220         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
81221         malloca.
81222         * tests/test-memmem.c: Rewrite, borrowing ideas from
81223         test-mbsstr1.c; the old version wouldn't even compile!
81224         * modules/memmem-tests: New file.
81225         * lib/string.in.h (rpl_memmem): Add declaration.
81226         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
81227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
81228         REPLACE_MEMMEM.
81230 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
81232         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
81233         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
81234         before any system include files, and undef after them all.  This
81235         should fix a problem on VMS reported by John E. Malmberg in
81236         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
81238 2007-12-17  Eric Blake  <ebb9@byu.net>
81240         Revert addition of verify, for BSD/OS.
81241         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
81242         can't handle large files, for the sake of obsolete platforms.
81243         * modules/fseeko (Depends-on): Remove verify.
81244         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
81245         * doc/functions/ftello.texi (ftello): Likewise.
81246         * doc/functions/fgetpos.texi (fgetpos): Likewise.
81247         Reported by Larry Jones.
81249 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
81251         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
81252         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
81254 2007-12-17  Jim Meyering  <meyering@redhat.com>
81256         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
81257         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
81258         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
81259         * modules/getcwd (Depends-on): Add openat.
81260         Reported by Petr Salinger.
81262 2007-12-17  Bruno Haible  <bruno@clisp.org>
81264         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
81265         avoid a segmentation fault of the configure test on x86_64 systems.
81267 2007-12-15  Jim Meyering  <meyering@redhat.com>
81269         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
81271 2007-12-13  Eric Blake  <ebb9@byu.net>
81273         Another fseek test.
81274         * tests/test-fseek.c (main): Also test ungetc handling.
81275         * tests/test-fseeko.c (main): Likewise.
81276         * modules/fseeko (Depends-on): Add verify.
81277         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
81278         large.
81279         Reported by Larry Jones.
81281         Fix fseeko on mingw.
81282         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
81283         seek.
81285         Beef up fseek tests.
81286         * tests/test-fseek.c (main): Also test eof handling.
81287         * tests/test-fseeko.c (main): Likewise.
81288         Reported by Larry Jones.
81290 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
81292         Fix fseeko on BSD-based platforms.
81293         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
81294         successful seek.
81296 2007-12-12  Eric Blake  <ebb9@byu.net>
81298         Allow circular dependency of separate libtests.a
81299         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
81300         when use_libtests.
81302 2007-12-11  Eric Blake  <ebb9@byu.net>
81304         Fix bug with -0.0L in previous patch.
81305         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
81306         * tests/test-isnan.c (main): Also test on zeroes.
81307         * tests/test-isnanf.c (main): Likewise.
81308         * tests/test-isnanl.h (main): Likewise.
81310         Detect pseudo-denormals on x86 even when cross-compiling.
81311         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
81312         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
81313         invalid bit patterns that happen to satisfy ==.
81315         Avoid link failures with separate libtests.a.
81316         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
81317         last, to satisfy circular dependencies.
81319 2007-12-11  Eric Blake  <ebb9@byu.net>
81320         and Bruno Haible  <bruno@clisp.org>
81322         Fix OpenBSD 4.0 <float.h> handling of long double.
81323         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
81324         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
81325         * doc/headers/float.texi (float.h): Document OpenBSD bug.
81327 2007-12-11  Jim Meyering  <meyering@redhat.com>
81329         * users.txt: Add libvirt.
81331         Support versions of autoconf prior to 2.59c.
81332         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
81333         if it is not already defined.
81335 2007-12-09  Bruno Haible  <bruno@clisp.org>
81337         Let 'gnulib-tool --import' collect sources needed for the tests in
81338         tests/ rather than in lib/.
81339         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
81340         argument. If true, add rules to generate libtests.a, and put libtests.a
81341         into $(LDADD). Consider source files in subdirectories and set
81342         uses_subdirs.
81343         (func_emit_initmacro_start, func_emit_initmacro_end,
81344         func_emit_initmacro_done): Pass all arguments explicitly.
81345         (func_import): Determine two module lists main_modules,
81346         testsrelated_modules. Determine use_libtests. Determine two variables
81347         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
81348         instead of just sed_transform_lib_file. Determine two variables
81349         main_files and testsrelated_files. Compute 'files' as the union of
81350         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
81351         func_add_or_update. In the generated gnulib-comp.m4, collect the
81352         object files for tests/ in different variables than those for lib/.
81353         Substitute LIBTESTS_LIBDEPS.
81354         (func_create_testdir): Combine the uses_subdirs results from
81355         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
81357 2007-12-09  Bruno Haible  <bruno@clisp.org>
81359         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
81360         the build-aux directory.
81362 2007-12-09  Bruno Haible  <bruno@clisp.org>
81364         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
81365         introduced on 2006-09-09.
81367 2007-12-07  Jim Meyering  <meyering@redhat.com>
81369         Let these macros work also with autoconf-2.59.
81370         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
81371         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
81372         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
81374 2007-12-06  Jim Meyering  <meyering@redhat.com>
81376         Avoid a configure-time syntax error in gl_FUNC_ACL.
81377         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
81378         function in each branch, before testing the cache variable.
81380 2007-12-04  Eric Blake  <ebb9@byu.net>
81382         Make scripts executable.
81383         * build-aux/config.guess: Add execute permissions.
81384         * build-aux/config.sub: Likewise.
81385         * build-aux/gendocs.sh: Likewise.
81387         Fix frexp on mingw.
81388         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
81389         cross-compiling.
81390         * doc/functions/frexp.texi (frexp): Document the bug.
81392         Make cygwin fseeko check more reliable.
81393         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
81394         version numbers, rather than unrelated feature check.
81395         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
81396         * doc/functions/ftello.texi (ftello): Likewise.
81397         Reported by Bruno Haible.
81399         * m4/strerror.m4: Bump version number.
81401 2007-12-03  Bruno Haible  <bruno@clisp.org>
81403         * doc/functions/mprotect.texi: Mention the mingw problem.
81405 2007-12-03  Eric Blake  <ebb9@byu.net>
81407         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
81408         REPLACE_STRERROR is initialized before this macro.
81410 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
81412         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
81413         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
81414         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
81415         put -lsec in even for programs other than 'ls'.  This fixes a problem
81416         for gettext reported by Bruno Haible in
81417         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
81418         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
81419         Add support for Solaris 10.  This isn't efficient, but should get the
81420         job done for now.
81422 2007-12-03  James Youngman  <jay@gnu.org>
81424         * doc/regexprops-generic.texi: change "an close-group" to "a
81425         close-group" and "illegal" to "not allowed".
81427 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81429         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
81430         pr_byname.h. Needed for the rare case when the maintainer has done
81431         "make maintainer-clean" in the source directory and then attempts a
81432         build outside the source directory.
81433         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
81434         scripts_byname.h.
81436 2007-12-02  Martin Lambers  <marlam@marlam.de>
81437             Bruno Haible  <bruno@clisp.org>
81439         * lib/getpagesize.h: Remove file.
81440         * lib/unistd.in.h: Include declaration of getpagesize here.
81441         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
81442         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
81443         HAVE_SYS_PARAM_H.
81444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
81445         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81446         * modules/getpagesize (Files): Remove lib/getpagesize.h.
81447         (Depends-on): Add unistd.
81448         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
81449         (Include): Use <unistd.h> instead of getpagesize.h.
81450         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
81451         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81452         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
81453         gl_GETPAGESIZE invocation, already handled by module dependency.
81454         * lib/pagealign_alloc.c: Don't include getpagesize.h.
81456 2007-12-02  Bruno Haible  <bruno@clisp.org>
81458         * modules/strings-tests: New file.
81459         * tests/test-strings.c: New file.
81461         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
81462         * lib/strings.in.h: New file.
81463         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
81464         * m4/strings_h.m4: New file.
81465         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
81466         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
81467         * modules/strings: New file.
81468         * modules/string (Makefile.am): Update.
81469         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
81470         Reported by Karl Berry.
81472 2007-12-01  Eric Blake  <ebb9@byu.net>
81474         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
81475         accommodate fix in cygwin 1.5.25.
81477 2007-12-01  Jim Meyering  <meyering@redhat.com>
81479         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
81480         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
81481         that would inhibit utf8-optimization of a regexp containing line-
81482         or buffer-anchors, e.g., `^', `$'.
81484 2007-11-30  Bruno Haible  <bruno@clisp.org>
81486         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
81487         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
81488         glthread_recursive_lock_init.
81489         * lib/lock.c (glthread_recursive_lock_init)
81490         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
81491         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81493 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
81495         New function qset_acl, like set_acl but with syscall semantics.
81496         * lib/acl.h (qset_acl): New decl.
81497         * lib/acl.c (qset_acl): New function.
81498         (set_acl): Use new function.  Use more-consistent diagnostics.
81500 2007-11-28  Jim Meyering  <meyering@redhat.com>
81502         * modules/physmem (License): Change from GPL to LGPLv2+.
81504 2007-11-26  Bruno Haible  <bruno@clisp.org>
81506         * lib/vasnprintf.c (decode_long_double): Don't abort if the
81507         'long double' type has excess precision.
81508         Reported by Jim Meyering in
81509         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
81511 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81513         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
81514         Sync from <http://gnu.org/licenses>.
81515         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
81516         with license text from same location.
81517         * doc/maintain.texi, doc/standards.texi:  Sync from
81518         <http://savannah.gnu.org/projects/gnustandards>.
81520 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
81521         and Jim Meyering  <meyering@redhat.com>
81523         Adjust getdate' grammar to accept a slightly more regular language.
81524         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
81525         Before, the former was rejected.
81526         * lib/getdate.y (digits_to_date_time): New function, factored
81527         out of ...
81528         (number): ...here.  Just call digits_to_date_time.
81529         (hybrid): New non-terminal to handle an <unsigned number,
81530         signed relative offset> sequence consistently.
81532 2007-11-18  Jim Meyering  <meyering@redhat.com>
81534         Pull my changes from coreutils:
81535         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
81536         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
81537         use of $gnulib_tool_option_extras, so that it's separated from the
81538         preceding argument.
81540         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
81541         * build-aux/bootstrap (cp_mark_as_generated): Create any required
81542         parent destination directories before copying a file into place.
81544 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
81546         bootstrap: work also with 4-argument variant of AC_INIT
81547         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
81549 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81551         Port test-getaddrinfo to Solaris.
81552         Problem reported by Bruno Haible in
81553         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
81554         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
81555         explanation of setting 'hints'.
81556         Don't reject an implementation merely because it returns EAI_SERVICE.
81557         (EAI_SERVICE): Define to 0 if not defined.
81559 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81561         The license of gnu-make and posix-shell is now "GPLed build tool".
81562         * modules/gnu-make (License): Likewise.
81563         * modules/posix-shell (License): Likewise.
81565         New module posix-shell, for determining a POSIX shell
81566         or perhaps something that is close enough to a POSIX shell.
81567         * m4/posix-shell.m4: New file.
81568         * modules/posix-shell: New file.
81570         * MODULES.html.sh: Mention new module.
81572         New module gnu-make, for determining whether we're using GNU Make.
81573         * m4/gnu-make.m4: New file.
81574         * modules/gnu-make: New file.
81575         * MODULES.html.sh: Mention new module.
81577 2007-11-14  Jim Meyering  <meyering@redhat.com>
81579         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
81580         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
81581         use this macro to create a function _definition_.
81582         Remove useless "#undef ARGMATCH_DIE".
81584 2007-11-14  Bruno Haible  <bruno@clisp.org>
81586         * lib/config.charset: Update for OpenBSD 4.1.
81587         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
81589 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81591         Document 64-bit #if problems in stdint.texi.
81592         * doc/headers/stdint.texi (stdint.h): Mention problems with
81593         64-bit-#if, and how to work around them.
81595         Don't insist on 'long long int' support in the preprocessor.  It
81596         breaks too many things.  For example, PRIdMAX still uses a 'long
81597         long int' format with the latest Sun compiler, even though
81598         HAVE_LONG_LONG_INT isn't defined due to that compiler's
81599         preprocessor problem.  This causes the latest coreutils to dump
81600         core on Solaris 10 sparc with the Sun C compiler.
81601         Instead, fix the 2007-10-16 problem in a different way, by evaluating
81602         the troublesome expressions at configure-time, not at #if-time.
81603         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
81604         preprocessor.
81605         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
81606         compile-time C checks, done at 'configure'-time.
81607         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
81608         * modules/inttypes (Makefile): Substitute the new symbols that
81609         gl_INTTYPES_H now generates.
81610         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
81612 2007-11-12  Bruno Haible  <bruno@clisp.org>
81614         Tests for Unicode character classification functions.
81616         * modules/unictype/bidicategory-byname-tests: New file.
81617         * modules/unictype/bidicategory-name-tests: New file.
81618         * modules/unictype/bidicategory-of-tests: New file.
81619         * modules/unictype/bidicategory-test-tests: New file.
81620         * modules/unictype/block-list-tests: New file.
81621         * modules/unictype/block-of-tests: New file.
81622         * modules/unictype/block-test-tests: New file.
81623         * modules/unictype/category-C-tests: New file.
81624         * modules/unictype/category-Cc-tests: New file.
81625         * modules/unictype/category-Cf-tests: New file.
81626         * modules/unictype/category-Cn-tests: New file.
81627         * modules/unictype/category-Co-tests: New file.
81628         * modules/unictype/category-Cs-tests: New file.
81629         * modules/unictype/category-L-tests: New file.
81630         * modules/unictype/category-Ll-tests: New file.
81631         * modules/unictype/category-Lm-tests: New file.
81632         * modules/unictype/category-Lo-tests: New file.
81633         * modules/unictype/category-Lt-tests: New file.
81634         * modules/unictype/category-Lu-tests: New file.
81635         * modules/unictype/category-M-tests: New file.
81636         * modules/unictype/category-Mc-tests: New file.
81637         * modules/unictype/category-Me-tests: New file.
81638         * modules/unictype/category-Mn-tests: New file.
81639         * modules/unictype/category-N-tests: New file.
81640         * modules/unictype/category-Nd-tests: New file.
81641         * modules/unictype/category-Nl-tests: New file.
81642         * modules/unictype/category-No-tests: New file.
81643         * modules/unictype/category-P-tests: New file.
81644         * modules/unictype/category-Pc-tests: New file.
81645         * modules/unictype/category-Pd-tests: New file.
81646         * modules/unictype/category-Pe-tests: New file.
81647         * modules/unictype/category-Pf-tests: New file.
81648         * modules/unictype/category-Pi-tests: New file.
81649         * modules/unictype/category-Po-tests: New file.
81650         * modules/unictype/category-Ps-tests: New file.
81651         * modules/unictype/category-S-tests: New file.
81652         * modules/unictype/category-Sc-tests: New file.
81653         * modules/unictype/category-Sk-tests: New file.
81654         * modules/unictype/category-Sm-tests: New file.
81655         * modules/unictype/category-So-tests: New file.
81656         * modules/unictype/category-Z-tests: New file.
81657         * modules/unictype/category-Zl-tests: New file.
81658         * modules/unictype/category-Zp-tests: New file.
81659         * modules/unictype/category-Zs-tests: New file.
81660         * modules/unictype/category-and-not-tests: New file.
81661         * modules/unictype/category-and-tests: New file.
81662         * modules/unictype/category-byname-tests: New file.
81663         * modules/unictype/category-name-tests: New file.
81664         * modules/unictype/category-none-tests: New file.
81665         * modules/unictype/category-of-tests: New file.
81666         * modules/unictype/category-or-tests: New file.
81667         * modules/unictype/category-test-withtable-tests: New file.
81668         * modules/unictype/combining-class-tests: New file.
81669         * modules/unictype/ctype-alnum-tests: New file.
81670         * modules/unictype/ctype-alpha-tests: New file.
81671         * modules/unictype/ctype-blank-tests: New file.
81672         * modules/unictype/ctype-cntrl-tests: New file.
81673         * modules/unictype/ctype-digit-tests: New file.
81674         * modules/unictype/ctype-graph-tests: New file.
81675         * modules/unictype/ctype-lower-tests: New file.
81676         * modules/unictype/ctype-print-tests: New file.
81677         * modules/unictype/ctype-punct-tests: New file.
81678         * modules/unictype/ctype-space-tests: New file.
81679         * modules/unictype/ctype-upper-tests: New file.
81680         * modules/unictype/ctype-xdigit-tests: New file.
81681         * modules/unictype/decimal-digit-tests: New file.
81682         * modules/unictype/digit-tests: New file.
81683         * modules/unictype/mirror-tests: New file.
81684         * modules/unictype/numeric-tests: New file.
81685         * modules/unictype/property-alphabetic-tests: New file.
81686         * modules/unictype/property-ascii-hex-digit-tests: New file.
81687         * modules/unictype/property-bidi-arabic-digit-tests: New file.
81688         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
81689         * modules/unictype/property-bidi-block-separator-tests: New file.
81690         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
81691         * modules/unictype/property-bidi-common-separator-tests: New file.
81692         * modules/unictype/property-bidi-control-tests: New file.
81693         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
81694         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
81695         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
81696         * modules/unictype/property-bidi-european-digit-tests: New file.
81697         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
81698         * modules/unictype/property-bidi-left-to-right-tests: New file.
81699         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
81700         * modules/unictype/property-bidi-other-neutral-tests: New file.
81701         * modules/unictype/property-bidi-pdf-tests: New file.
81702         * modules/unictype/property-bidi-segment-separator-tests: New file.
81703         * modules/unictype/property-bidi-whitespace-tests: New file.
81704         * modules/unictype/property-byname-tests: New file.
81705         * modules/unictype/property-combining-tests: New file.
81706         * modules/unictype/property-composite-tests: New file.
81707         * modules/unictype/property-currency-symbol-tests: New file.
81708         * modules/unictype/property-dash-tests: New file.
81709         * modules/unictype/property-decimal-digit-tests: New file.
81710         * modules/unictype/property-default-ignorable-code-point-tests: New file.
81711         * modules/unictype/property-deprecated-tests: New file.
81712         * modules/unictype/property-diacritic-tests: New file.
81713         * modules/unictype/property-extender-tests: New file.
81714         * modules/unictype/property-format-control-tests: New file.
81715         * modules/unictype/property-grapheme-base-tests: New file.
81716         * modules/unictype/property-grapheme-extend-tests: New file.
81717         * modules/unictype/property-grapheme-link-tests: New file.
81718         * modules/unictype/property-hex-digit-tests: New file.
81719         * modules/unictype/property-hyphen-tests: New file.
81720         * modules/unictype/property-id-continue-tests: New file.
81721         * modules/unictype/property-id-start-tests: New file.
81722         * modules/unictype/property-ideographic-tests: New file.
81723         * modules/unictype/property-ids-binary-operator-tests: New file.
81724         * modules/unictype/property-ids-trinary-operator-tests: New file.
81725         * modules/unictype/property-ignorable-control-tests: New file.
81726         * modules/unictype/property-iso-control-tests: New file.
81727         * modules/unictype/property-join-control-tests: New file.
81728         * modules/unictype/property-left-of-pair-tests: New file.
81729         * modules/unictype/property-line-separator-tests: New file.
81730         * modules/unictype/property-logical-order-exception-tests: New file.
81731         * modules/unictype/property-lowercase-tests: New file.
81732         * modules/unictype/property-math-tests: New file.
81733         * modules/unictype/property-non-break-tests: New file.
81734         * modules/unictype/property-not-a-character-tests: New file.
81735         * modules/unictype/property-numeric-tests: New file.
81736         * modules/unictype/property-other-alphabetic-tests: New file.
81737         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
81738         * modules/unictype/property-other-grapheme-extend-tests: New file.
81739         * modules/unictype/property-other-id-continue-tests: New file.
81740         * modules/unictype/property-other-id-start-tests: New file.
81741         * modules/unictype/property-other-lowercase-tests: New file.
81742         * modules/unictype/property-other-math-tests: New file.
81743         * modules/unictype/property-other-uppercase-tests: New file.
81744         * modules/unictype/property-paired-punctuation-tests: New file.
81745         * modules/unictype/property-paragraph-separator-tests: New file.
81746         * modules/unictype/property-pattern-syntax-tests: New file.
81747         * modules/unictype/property-pattern-white-space-tests: New file.
81748         * modules/unictype/property-private-use-tests: New file.
81749         * modules/unictype/property-punctuation-tests: New file.
81750         * modules/unictype/property-quotation-mark-tests: New file.
81751         * modules/unictype/property-radical-tests: New file.
81752         * modules/unictype/property-sentence-terminal-tests: New file.
81753         * modules/unictype/property-soft-dotted-tests: New file.
81754         * modules/unictype/property-space-tests: New file.
81755         * modules/unictype/property-terminal-punctuation-tests: New file.
81756         * modules/unictype/property-test-tests: New file.
81757         * modules/unictype/property-titlecase-tests: New file.
81758         * modules/unictype/property-unassigned-code-value-tests: New file.
81759         * modules/unictype/property-unified-ideograph-tests: New file.
81760         * modules/unictype/property-uppercase-tests: New file.
81761         * modules/unictype/property-variation-selector-tests: New file.
81762         * modules/unictype/property-white-space-tests: New file.
81763         * modules/unictype/property-xid-continue-tests: New file.
81764         * modules/unictype/property-xid-start-tests: New file.
81765         * modules/unictype/property-zero-width-tests: New file.
81766         * modules/unictype/scripts-tests: New file.
81767         * modules/unictype/syntax-c-ident-tests: New file.
81768         * modules/unictype/syntax-c-whitespace-tests: New file.
81769         * modules/unictype/syntax-java-ident-tests: New file.
81770         * modules/unictype/syntax-java-whitespace-tests: New file.
81771         * tests/unictype/test-bidi_byname.c: New file.
81772         * tests/unictype/test-bidi_name.c: New file.
81773         * tests/unictype/test-bidi_of.c: New file.
81774         * tests/unictype/test-bidi_test.c: New file.
81775         * tests/unictype/test-block_list.c: New file.
81776         * tests/unictype/test-block_of.c: New file.
81777         * tests/unictype/test-block_test.c: New file.
81778         * tests/unictype/test-categ_and.c: New file.
81779         * tests/unictype/test-categ_and_not.c: New file.
81780         * tests/unictype/test-categ_byname.c: New file.
81781         * tests/unictype/test-categ_name.c: New file.
81782         * tests/unictype/test-categ_none.c: New file.
81783         * tests/unictype/test-categ_of.c: New file.
81784         * tests/unictype/test-categ_or.c: New file.
81785         * tests/unictype/test-categ_test_withtable.c: New file.
81786         * tests/unictype/test-combining.c: New file.
81787         * tests/unictype/test-decdigit.c: New file.
81788         * tests/unictype/test-digit.c: New file.
81789         * tests/unictype/test-mirror.c: New file.
81790         * tests/unictype/test-numeric.c: New file.
81791         * tests/unictype/test-pr_byname.c: New file.
81792         * tests/unictype/test-pr_test.c: New file.
81793         * tests/unictype/test-predicate-part1.h: New file.
81794         * tests/unictype/test-predicate-part2.h: New file.
81795         * tests/unictype/test-scripts.c: New file.
81796         * tests/unictype/test-sy_c_ident.c: New file.
81797         * tests/unictype/test-sy_java_ident.c: New file.
81799         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81800         for Unicode 5.0.0.
81801         * tests/unictype/test-categ_Cc.c: Likewise.
81802         * tests/unictype/test-categ_Cf.c: Likewise.
81803         * tests/unictype/test-categ_Cn.c: Likewise.
81804         * tests/unictype/test-categ_Co.c: Likewise.
81805         * tests/unictype/test-categ_Cs.c: Likewise.
81806         * tests/unictype/test-categ_L.c: Likewise.
81807         * tests/unictype/test-categ_Ll.c: Likewise.
81808         * tests/unictype/test-categ_Lm.c: Likewise.
81809         * tests/unictype/test-categ_Lo.c: Likewise.
81810         * tests/unictype/test-categ_Lt.c: Likewise.
81811         * tests/unictype/test-categ_Lu.c: Likewise.
81812         * tests/unictype/test-categ_M.c: Likewise.
81813         * tests/unictype/test-categ_Mc.c: Likewise.
81814         * tests/unictype/test-categ_Me.c: Likewise.
81815         * tests/unictype/test-categ_Mn.c: Likewise.
81816         * tests/unictype/test-categ_N.c: Likewise.
81817         * tests/unictype/test-categ_Nd.c: Likewise.
81818         * tests/unictype/test-categ_Nl.c: Likewise.
81819         * tests/unictype/test-categ_No.c: Likewise.
81820         * tests/unictype/test-categ_P.c: Likewise.
81821         * tests/unictype/test-categ_Pc.c: Likewise.
81822         * tests/unictype/test-categ_Pd.c: Likewise.
81823         * tests/unictype/test-categ_Pe.c: Likewise.
81824         * tests/unictype/test-categ_Pf.c: Likewise.
81825         * tests/unictype/test-categ_Pi.c: Likewise.
81826         * tests/unictype/test-categ_Po.c: Likewise.
81827         * tests/unictype/test-categ_Ps.c: Likewise.
81828         * tests/unictype/test-categ_S.c: Likewise.
81829         * tests/unictype/test-categ_Sc.c: Likewise.
81830         * tests/unictype/test-categ_Sk.c: Likewise.
81831         * tests/unictype/test-categ_Sm.c: Likewise.
81832         * tests/unictype/test-categ_So.c: Likewise.
81833         * tests/unictype/test-categ_Z.c: Likewise.
81834         * tests/unictype/test-categ_Zl.c: Likewise.
81835         * tests/unictype/test-categ_Zp.c: Likewise.
81836         * tests/unictype/test-categ_Zs.c: Likewise.
81837         * tests/unictype/test-ctype_alnum.c: Likewise.
81838         * tests/unictype/test-ctype_alpha.c: Likewise.
81839         * tests/unictype/test-ctype_blank.c: Likewise.
81840         * tests/unictype/test-ctype_cntrl.c: Likewise.
81841         * tests/unictype/test-ctype_digit.c: Likewise.
81842         * tests/unictype/test-ctype_graph.c: Likewise.
81843         * tests/unictype/test-ctype_lower.c: Likewise.
81844         * tests/unictype/test-ctype_print.c: Likewise.
81845         * tests/unictype/test-ctype_punct.c: Likewise.
81846         * tests/unictype/test-ctype_space.c: Likewise.
81847         * tests/unictype/test-ctype_upper.c: Likewise.
81848         * tests/unictype/test-ctype_xdigit.c: Likewise.
81849         * tests/unictype/test-decdigit.h: Likewise.
81850         * tests/unictype/test-digit.h: Likewise.
81851         * tests/unictype/test-numeric.h: Likewise.
81852         * tests/unictype/test-pr_alphabetic.c: Likewise.
81853         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81854         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81855         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81856         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81857         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81858         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81859         * tests/unictype/test-pr_bidi_control.c: Likewise.
81860         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81861         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81862         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81863         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81864         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81865         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81866         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81867         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81868         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81869         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81870         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81871         * tests/unictype/test-pr_combining.c: Likewise.
81872         * tests/unictype/test-pr_composite.c: Likewise.
81873         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81874         * tests/unictype/test-pr_dash.c: Likewise.
81875         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81876         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81877         * tests/unictype/test-pr_deprecated.c: Likewise.
81878         * tests/unictype/test-pr_diacritic.c: Likewise.
81879         * tests/unictype/test-pr_extender.c: Likewise.
81880         * tests/unictype/test-pr_format_control.c: Likewise.
81881         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81882         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81883         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81884         * tests/unictype/test-pr_hex_digit.c: Likewise.
81885         * tests/unictype/test-pr_hyphen.c: Likewise.
81886         * tests/unictype/test-pr_id_continue.c: Likewise.
81887         * tests/unictype/test-pr_id_start.c: Likewise.
81888         * tests/unictype/test-pr_ideographic.c: Likewise.
81889         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81890         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81891         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81892         * tests/unictype/test-pr_iso_control.c: Likewise.
81893         * tests/unictype/test-pr_join_control.c: Likewise.
81894         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81895         * tests/unictype/test-pr_line_separator.c: Likewise.
81896         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81897         * tests/unictype/test-pr_lowercase.c: Likewise.
81898         * tests/unictype/test-pr_math.c: Likewise.
81899         * tests/unictype/test-pr_non_break.c: Likewise.
81900         * tests/unictype/test-pr_not_a_character.c: Likewise.
81901         * tests/unictype/test-pr_numeric.c: Likewise.
81902         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81903         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81904         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81905         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81906         * tests/unictype/test-pr_other_id_start.c: Likewise.
81907         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81908         * tests/unictype/test-pr_other_math.c: Likewise.
81909         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81910         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81911         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81912         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81913         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81914         * tests/unictype/test-pr_private_use.c: Likewise.
81915         * tests/unictype/test-pr_punctuation.c: Likewise.
81916         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81917         * tests/unictype/test-pr_radical.c: Likewise.
81918         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81919         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81920         * tests/unictype/test-pr_space.c: Likewise.
81921         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81922         * tests/unictype/test-pr_titlecase.c: Likewise.
81923         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81924         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81925         * tests/unictype/test-pr_uppercase.c: Likewise.
81926         * tests/unictype/test-pr_variation_selector.c: Likewise.
81927         * tests/unictype/test-pr_white_space.c: Likewise.
81928         * tests/unictype/test-pr_xid_continue.c: Likewise.
81929         * tests/unictype/test-pr_xid_start.c: Likewise.
81930         * tests/unictype/test-pr_zero_width.c: Likewise.
81931         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81932         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81934 2007-11-12  Bruno Haible  <bruno@clisp.org>
81936         Unicode character classification functions.
81937         * lib/unictype.h: New file.
81938         * modules/unictype/base: New file.
81939         * modules/unictype/category-L: New file.
81940         * modules/unictype/category-Lu: New file.
81941         * modules/unictype/category-Ll: New file.
81942         * modules/unictype/category-Lt: New file.
81943         * modules/unictype/category-Lm: New file.
81944         * modules/unictype/category-Lo: New file.
81945         * modules/unictype/category-M: New file.
81946         * modules/unictype/category-Mn: New file.
81947         * modules/unictype/category-Mc: New file.
81948         * modules/unictype/category-Me: New file.
81949         * modules/unictype/category-N: New file.
81950         * modules/unictype/category-Nd: New file.
81951         * modules/unictype/category-Nl: New file.
81952         * modules/unictype/category-No: New file.
81953         * modules/unictype/category-P: New file.
81954         * modules/unictype/category-Pc: New file.
81955         * modules/unictype/category-Pd: New file.
81956         * modules/unictype/category-Ps: New file.
81957         * modules/unictype/category-Pe: New file.
81958         * modules/unictype/category-Pi: New file.
81959         * modules/unictype/category-Pf: New file.
81960         * modules/unictype/category-Po: New file.
81961         * modules/unictype/category-S: New file.
81962         * modules/unictype/category-Sm: New file.
81963         * modules/unictype/category-Sc: New file.
81964         * modules/unictype/category-Sk: New file.
81965         * modules/unictype/category-So: New file.
81966         * modules/unictype/category-Z: New file.
81967         * modules/unictype/category-Zs: New file.
81968         * modules/unictype/category-Zl: New file.
81969         * modules/unictype/category-Zp: New file.
81970         * modules/unictype/category-C: New file.
81971         * modules/unictype/category-Cc: New file.
81972         * modules/unictype/category-Cf: New file.
81973         * modules/unictype/category-Cs: New file.
81974         * modules/unictype/category-Co: New file.
81975         * modules/unictype/category-Cn: New file.
81976         * modules/unictype/category-or: New file.
81977         * modules/unictype/category-of: New file.
81978         * modules/unictype/category-test: New file.
81979         * modules/unictype/category-test-withtable: New file.
81980         * modules/unictype/category-byname: New file.
81981         * modules/unictype/category-none: New file.
81982         * modules/unictype/category-and: New file.
81983         * modules/unictype/category-and-not: New file.
81984         * modules/unictype/category-name: New file.
81985         * modules/unictype/combining-class: New file.
81986         * modules/unictype/category-all: New file.
81987         * modules/unictype/bidicategory-all: New file.
81988         * modules/unictype/bidicategory-byname: New file.
81989         * modules/unictype/bidicategory-name: New file.
81990         * modules/unictype/bidicategory-of: New file.
81991         * modules/unictype/bidicategory-test: New file.
81992         * modules/unictype/decimal-digit: New file.
81993         * modules/unictype/digit: New file.
81994         * modules/unictype/numeric: New file.
81995         * modules/unictype/mirror: New file.
81996         * modules/unictype/property-white-space: New file.
81997         * modules/unictype/property-alphabetic: New file.
81998         * modules/unictype/property-other-alphabetic: New file.
81999         * modules/unictype/property-not-a-character: New file.
82000         * modules/unictype/property-default-ignorable-code-point: New file.
82001         * modules/unictype/property-other-default-ignorable-code-point: New
82002         file.
82003         * modules/unictype/property-deprecated: New file.
82004         * modules/unictype/property-logical-order-exception: New file.
82005         * modules/unictype/property-variation-selector: New file.
82006         * modules/unictype/property-private-use: New file.
82007         * modules/unictype/property-unassigned-code-value: New file.
82008         * modules/unictype/property-uppercase: New file.
82009         * modules/unictype/property-other-uppercase: New file.
82010         * modules/unictype/property-lowercase: New file.
82011         * modules/unictype/property-other-lowercase: New file.
82012         * modules/unictype/property-titlecase: New file.
82013         * modules/unictype/property-soft-dotted: New file.
82014         * modules/unictype/property-id-start: New file.
82015         * modules/unictype/property-other-id-start: New file.
82016         * modules/unictype/property-id-continue: New file.
82017         * modules/unictype/property-other-id-continue: New file.
82018         * modules/unictype/property-xid-start: New file.
82019         * modules/unictype/property-xid-continue: New file.
82020         * modules/unictype/property-pattern-white-space: New file.
82021         * modules/unictype/property-pattern-syntax: New file.
82022         * modules/unictype/property-join-control: New file.
82023         * modules/unictype/property-grapheme-base: New file.
82024         * modules/unictype/property-grapheme-extend: New file.
82025         * modules/unictype/property-other-grapheme-extend: New file.
82026         * modules/unictype/property-grapheme-link: New file.
82027         * modules/unictype/property-bidi-control: New file.
82028         * modules/unictype/property-bidi-left-to-right: New file.
82029         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
82030         * modules/unictype/property-bidi-arabic-right-to-left: New file.
82031         * modules/unictype/property-bidi-european-digit: New file.
82032         * modules/unictype/property-bidi-eur-num-separator: New file.
82033         * modules/unictype/property-bidi-eur-num-terminator: New file.
82034         * modules/unictype/property-bidi-arabic-digit: New file.
82035         * modules/unictype/property-bidi-common-separator: New file.
82036         * modules/unictype/property-bidi-block-separator: New file.
82037         * modules/unictype/property-bidi-segment-separator: New file.
82038         * modules/unictype/property-bidi-whitespace: New file.
82039         * modules/unictype/property-bidi-non-spacing-mark: New file.
82040         * modules/unictype/property-bidi-boundary-neutral: New file.
82041         * modules/unictype/property-bidi-pdf: New file.
82042         * modules/unictype/property-bidi-embedding-or-override: New file.
82043         * modules/unictype/property-bidi-other-neutral: New file.
82044         * modules/unictype/property-hex-digit: New file.
82045         * modules/unictype/property-ascii-hex-digit: New file.
82046         * modules/unictype/property-ideographic: New file.
82047         * modules/unictype/property-unified-ideograph: New file.
82048         * modules/unictype/property-radical: New file.
82049         * modules/unictype/property-ids-binary-operator: New file.
82050         * modules/unictype/property-ids-trinary-operator: New file.
82051         * modules/unictype/property-zero-width: New file.
82052         * modules/unictype/property-space: New file.
82053         * modules/unictype/property-non-break: New file.
82054         * modules/unictype/property-iso-control: New file.
82055         * modules/unictype/property-format-control: New file.
82056         * modules/unictype/property-dash: New file.
82057         * modules/unictype/property-hyphen: New file.
82058         * modules/unictype/property-punctuation: New file.
82059         * modules/unictype/property-line-separator: New file.
82060         * modules/unictype/property-paragraph-separator: New file.
82061         * modules/unictype/property-quotation-mark: New file.
82062         * modules/unictype/property-sentence-terminal: New file.
82063         * modules/unictype/property-terminal-punctuation: New file.
82064         * modules/unictype/property-currency-symbol: New file.
82065         * modules/unictype/property-math: New file.
82066         * modules/unictype/property-other-math: New file.
82067         * modules/unictype/property-paired-punctuation: New file.
82068         * modules/unictype/property-left-of-pair: New file.
82069         * modules/unictype/property-combining: New file.
82070         * modules/unictype/property-composite: New file.
82071         * modules/unictype/property-decimal-digit: New file.
82072         * modules/unictype/property-numeric: New file.
82073         * modules/unictype/property-diacritic: New file.
82074         * modules/unictype/property-extender: New file.
82075         * modules/unictype/property-ignorable-control: New file.
82076         * modules/unictype/property-test: New file.
82077         * modules/unictype/property-byname: New file.
82078         * modules/unictype/property-all: New file.
82079         * modules/unictype/scripts: New file.
82080         * modules/unictype/scripts-all: New file.
82081         * modules/unictype/block-of: New file.
82082         * modules/unictype/block-test: New file.
82083         * modules/unictype/block-list: New file.
82084         * modules/unictype/block-all: New file.
82085         * modules/unictype/syntax-c-whitespace: New file.
82086         * modules/unictype/syntax-java-whitespace: New file.
82087         * modules/unictype/syntax-c-ident: New file.
82088         * modules/unictype/syntax-java-ident: New file.
82089         * modules/unictype/ctype-alnum: New file.
82090         * modules/unictype/ctype-alpha: New file.
82091         * modules/unictype/ctype-cntrl: New file.
82092         * modules/unictype/ctype-digit: New file.
82093         * modules/unictype/ctype-graph: New file.
82094         * modules/unictype/ctype-lower: New file.
82095         * modules/unictype/ctype-print: New file.
82096         * modules/unictype/ctype-punct: New file.
82097         * modules/unictype/ctype-space: New file.
82098         * modules/unictype/ctype-upper: New file.
82099         * modules/unictype/ctype-xdigit: New file.
82100         * modules/unictype/ctype-blank: New file.
82101         * lib/unictype/bidi_byname.c: New file.
82102         * lib/unictype/bidi_name.c: New file.
82103         * lib/unictype/bidi_of.c: New file.
82104         * lib/unictype/bidi_test.c: New file.
82105         * lib/unictype/bitmap.h: New file.
82106         * lib/unictype/block_test.c: New file.
82107         * lib/unictype/blocks.c: New file.
82108         * lib/unictype/categ_C.c: New file.
82109         * lib/unictype/categ_Cc.c: New file.
82110         * lib/unictype/categ_Cf.c: New file.
82111         * lib/unictype/categ_Cn.c: New file.
82112         * lib/unictype/categ_Co.c: New file.
82113         * lib/unictype/categ_Cs.c: New file.
82114         * lib/unictype/categ_L.c: New file.
82115         * lib/unictype/categ_Ll.c: New file.
82116         * lib/unictype/categ_Lm.c: New file.
82117         * lib/unictype/categ_Lo.c: New file.
82118         * lib/unictype/categ_Lt.c: New file.
82119         * lib/unictype/categ_Lu.c: New file.
82120         * lib/unictype/categ_M.c: New file.
82121         * lib/unictype/categ_Mc.c: New file.
82122         * lib/unictype/categ_Me.c: New file.
82123         * lib/unictype/categ_Mn.c: New file.
82124         * lib/unictype/categ_N.c: New file.
82125         * lib/unictype/categ_Nd.c: New file.
82126         * lib/unictype/categ_Nl.c: New file.
82127         * lib/unictype/categ_No.c: New file.
82128         * lib/unictype/categ_P.c: New file.
82129         * lib/unictype/categ_Pc.c: New file.
82130         * lib/unictype/categ_Pd.c: New file.
82131         * lib/unictype/categ_Pe.c: New file.
82132         * lib/unictype/categ_Pf.c: New file.
82133         * lib/unictype/categ_Pi.c: New file.
82134         * lib/unictype/categ_Po.c: New file.
82135         * lib/unictype/categ_Ps.c: New file.
82136         * lib/unictype/categ_S.c: New file.
82137         * lib/unictype/categ_Sc.c: New file.
82138         * lib/unictype/categ_Sk.c: New file.
82139         * lib/unictype/categ_Sm.c: New file.
82140         * lib/unictype/categ_So.c: New file.
82141         * lib/unictype/categ_Z.c: New file.
82142         * lib/unictype/categ_Zl.c: New file.
82143         * lib/unictype/categ_Zp.c: New file.
82144         * lib/unictype/categ_Zs.c: New file.
82145         * lib/unictype/categ_and.c: New file.
82146         * lib/unictype/categ_and_not.c: New file.
82147         * lib/unictype/categ_byname.c: New file.
82148         * lib/unictype/categ_name.c: New file.
82149         * lib/unictype/categ_none.c: New file.
82150         * lib/unictype/categ_of.c: New file.
82151         * lib/unictype/categ_or.c: New file.
82152         * lib/unictype/categ_test.c: New file.
82153         * lib/unictype/combining.c: New file.
82154         * lib/unictype/ctype_alnum.c: New file.
82155         * lib/unictype/ctype_alpha.c: New file.
82156         * lib/unictype/ctype_blank.c: New file.
82157         * lib/unictype/ctype_cntrl.c: New file.
82158         * lib/unictype/ctype_digit.c: New file.
82159         * lib/unictype/ctype_graph.c: New file.
82160         * lib/unictype/ctype_lower.c: New file.
82161         * lib/unictype/ctype_print.c: New file.
82162         * lib/unictype/ctype_punct.c: New file.
82163         * lib/unictype/ctype_space.c: New file.
82164         * lib/unictype/ctype_upper.c: New file.
82165         * lib/unictype/ctype_xdigit.c: New file.
82166         * lib/unictype/decdigit.c: New file.
82167         * lib/unictype/digit.c: New file.
82168         * lib/unictype/identsyntaxmap.h: New file.
82169         * lib/unictype/mirror.c: New file.
82170         * lib/unictype/numeric.c: New file.
82171         * lib/unictype/pr_alphabetic.c: New file.
82172         * lib/unictype/pr_ascii_hex_digit.c: New file.
82173         * lib/unictype/pr_bidi_arabic_digit.c: New file.
82174         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
82175         * lib/unictype/pr_bidi_block_separator.c: New file.
82176         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
82177         * lib/unictype/pr_bidi_common_separator.c: New file.
82178         * lib/unictype/pr_bidi_control.c: New file.
82179         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
82180         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
82181         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
82182         * lib/unictype/pr_bidi_european_digit.c: New file.
82183         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
82184         * lib/unictype/pr_bidi_left_to_right.c: New file.
82185         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
82186         * lib/unictype/pr_bidi_other_neutral.c: New file.
82187         * lib/unictype/pr_bidi_pdf.c: New file.
82188         * lib/unictype/pr_bidi_segment_separator.c: New file.
82189         * lib/unictype/pr_bidi_whitespace.c: New file.
82190         * lib/unictype/pr_byname.c: New file.
82191         * lib/unictype/pr_byname.gperf: New file.
82192         * lib/unictype/pr_combining.c: New file.
82193         * lib/unictype/pr_composite.c: New file.
82194         * lib/unictype/pr_currency_symbol.c: New file.
82195         * lib/unictype/pr_dash.c: New file.
82196         * lib/unictype/pr_decimal_digit.c: New file.
82197         * lib/unictype/pr_default_ignorable_code_point.c: New file.
82198         * lib/unictype/pr_deprecated.c: New file.
82199         * lib/unictype/pr_diacritic.c: New file.
82200         * lib/unictype/pr_extender.c: New file.
82201         * lib/unictype/pr_format_control.c: New file.
82202         * lib/unictype/pr_grapheme_base.c: New file.
82203         * lib/unictype/pr_grapheme_extend.c: New file.
82204         * lib/unictype/pr_grapheme_link.c: New file.
82205         * lib/unictype/pr_hex_digit.c: New file.
82206         * lib/unictype/pr_hyphen.c: New file.
82207         * lib/unictype/pr_id_continue.c: New file.
82208         * lib/unictype/pr_id_start.c: New file.
82209         * lib/unictype/pr_ideographic.c: New file.
82210         * lib/unictype/pr_ids_binary_operator.c: New file.
82211         * lib/unictype/pr_ids_trinary_operator.c: New file.
82212         * lib/unictype/pr_ignorable_control.c: New file.
82213         * lib/unictype/pr_iso_control.c: New file.
82214         * lib/unictype/pr_join_control.c: New file.
82215         * lib/unictype/pr_left_of_pair.c: New file.
82216         * lib/unictype/pr_line_separator.c: New file.
82217         * lib/unictype/pr_logical_order_exception.c: New file.
82218         * lib/unictype/pr_lowercase.c: New file.
82219         * lib/unictype/pr_math.c: New file.
82220         * lib/unictype/pr_non_break.c: New file.
82221         * lib/unictype/pr_not_a_character.c: New file.
82222         * lib/unictype/pr_numeric.c: New file.
82223         * lib/unictype/pr_other_alphabetic.c: New file.
82224         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
82225         * lib/unictype/pr_other_grapheme_extend.c: New file.
82226         * lib/unictype/pr_other_id_continue.c: New file.
82227         * lib/unictype/pr_other_id_start.c: New file.
82228         * lib/unictype/pr_other_lowercase.c: New file.
82229         * lib/unictype/pr_other_math.c: New file.
82230         * lib/unictype/pr_other_uppercase.c: New file.
82231         * lib/unictype/pr_paired_punctuation.c: New file.
82232         * lib/unictype/pr_paragraph_separator.c: New file.
82233         * lib/unictype/pr_pattern_syntax.c: New file.
82234         * lib/unictype/pr_pattern_white_space.c: New file.
82235         * lib/unictype/pr_private_use.c: New file.
82236         * lib/unictype/pr_punctuation.c: New file.
82237         * lib/unictype/pr_quotation_mark.c: New file.
82238         * lib/unictype/pr_radical.c: New file.
82239         * lib/unictype/pr_sentence_terminal.c: New file.
82240         * lib/unictype/pr_soft_dotted.c: New file.
82241         * lib/unictype/pr_space.c: New file.
82242         * lib/unictype/pr_terminal_punctuation.c: New file.
82243         * lib/unictype/pr_test.c: New file.
82244         * lib/unictype/pr_titlecase.c: New file.
82245         * lib/unictype/pr_unassigned_code_value.c: New file.
82246         * lib/unictype/pr_unified_ideograph.c: New file.
82247         * lib/unictype/pr_uppercase.c: New file.
82248         * lib/unictype/pr_variation_selector.c: New file.
82249         * lib/unictype/pr_white_space.c: New file.
82250         * lib/unictype/pr_xid_continue.c: New file.
82251         * lib/unictype/pr_xid_start.c: New file.
82252         * lib/unictype/pr_zero_width.c: New file.
82253         * lib/unictype/scripts.c: New file.
82254         * lib/unictype/sy_c_ident.c: New file.
82255         * lib/unictype/sy_c_whitespace.c: New file.
82256         * lib/unictype/sy_java_ident.c: New file.
82257         * lib/unictype/sy_java_whitespace.c: New file.
82259         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
82260         Unicode 5.0.0.
82261         * lib/unictype/blocks.h: Likewise.
82262         * lib/unictype/categ_C.h: Likewise.
82263         * lib/unictype/categ_Cc.h: Likewise.
82264         * lib/unictype/categ_Cf.h: Likewise.
82265         * lib/unictype/categ_Cn.h: Likewise.
82266         * lib/unictype/categ_Co.h: Likewise.
82267         * lib/unictype/categ_Cs.h: Likewise.
82268         * lib/unictype/categ_L.h: Likewise.
82269         * lib/unictype/categ_Ll.h: Likewise.
82270         * lib/unictype/categ_Lm.h: Likewise.
82271         * lib/unictype/categ_Lo.h: Likewise.
82272         * lib/unictype/categ_Lt.h: Likewise.
82273         * lib/unictype/categ_Lu.h: Likewise.
82274         * lib/unictype/categ_M.h: Likewise.
82275         * lib/unictype/categ_Mc.h: Likewise.
82276         * lib/unictype/categ_Me.h: Likewise.
82277         * lib/unictype/categ_Mn.h: Likewise.
82278         * lib/unictype/categ_N.h: Likewise.
82279         * lib/unictype/categ_Nd.h: Likewise.
82280         * lib/unictype/categ_Nl.h: Likewise.
82281         * lib/unictype/categ_No.h: Likewise.
82282         * lib/unictype/categ_P.h: Likewise.
82283         * lib/unictype/categ_Pc.h: Likewise.
82284         * lib/unictype/categ_Pd.h: Likewise.
82285         * lib/unictype/categ_Pe.h: Likewise.
82286         * lib/unictype/categ_Pf.h: Likewise.
82287         * lib/unictype/categ_Pi.h: Likewise.
82288         * lib/unictype/categ_Po.h: Likewise.
82289         * lib/unictype/categ_Ps.h: Likewise.
82290         * lib/unictype/categ_S.h: Likewise.
82291         * lib/unictype/categ_Sc.h: Likewise.
82292         * lib/unictype/categ_Sk.h: Likewise.
82293         * lib/unictype/categ_Sm.h: Likewise.
82294         * lib/unictype/categ_So.h: Likewise.
82295         * lib/unictype/categ_Z.h: Likewise.
82296         * lib/unictype/categ_Zl.h: Likewise.
82297         * lib/unictype/categ_Zp.h: Likewise.
82298         * lib/unictype/categ_Zs.h: Likewise.
82299         * lib/unictype/categ_of.h: Likewise.
82300         * lib/unictype/combining.h: Likewise.
82301         * lib/unictype/ctype_alnum.h: Likewise.
82302         * lib/unictype/ctype_alpha.h: Likewise.
82303         * lib/unictype/ctype_blank.h: Likewise.
82304         * lib/unictype/ctype_cntrl.h: Likewise.
82305         * lib/unictype/ctype_digit.h: Likewise.
82306         * lib/unictype/ctype_graph.h: Likewise.
82307         * lib/unictype/ctype_lower.h: Likewise.
82308         * lib/unictype/ctype_print.h: Likewise.
82309         * lib/unictype/ctype_punct.h: Likewise.
82310         * lib/unictype/ctype_space.h: Likewise.
82311         * lib/unictype/ctype_upper.h: Likewise.
82312         * lib/unictype/ctype_xdigit.h: Likewise.
82313         * lib/unictype/decdigit.h: Likewise.
82314         * lib/unictype/digit.h: Likewise.
82315         * lib/unictype/mirror.h: Likewise.
82316         * lib/unictype/numeric.h: Likewise.
82317         * lib/unictype/pr_alphabetic.h: Likewise.
82318         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
82319         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
82320         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
82321         * lib/unictype/pr_bidi_block_separator.h: Likewise.
82322         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
82323         * lib/unictype/pr_bidi_common_separator.h: Likewise.
82324         * lib/unictype/pr_bidi_control.h: Likewise.
82325         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
82326         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
82327         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
82328         * lib/unictype/pr_bidi_european_digit.h: Likewise.
82329         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
82330         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
82331         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
82332         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
82333         * lib/unictype/pr_bidi_pdf.h: Likewise.
82334         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
82335         * lib/unictype/pr_bidi_whitespace.h: Likewise.
82336         * lib/unictype/pr_combining.h: Likewise.
82337         * lib/unictype/pr_composite.h: Likewise.
82338         * lib/unictype/pr_currency_symbol.h: Likewise.
82339         * lib/unictype/pr_dash.h: Likewise.
82340         * lib/unictype/pr_decimal_digit.h: Likewise.
82341         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
82342         * lib/unictype/pr_deprecated.h: Likewise.
82343         * lib/unictype/pr_diacritic.h: Likewise.
82344         * lib/unictype/pr_extender.h: Likewise.
82345         * lib/unictype/pr_format_control.h: Likewise.
82346         * lib/unictype/pr_grapheme_base.h: Likewise.
82347         * lib/unictype/pr_grapheme_extend.h: Likewise.
82348         * lib/unictype/pr_grapheme_link.h: Likewise.
82349         * lib/unictype/pr_hex_digit.h: Likewise.
82350         * lib/unictype/pr_hyphen.h: Likewise.
82351         * lib/unictype/pr_id_continue.h: Likewise.
82352         * lib/unictype/pr_id_start.h: Likewise.
82353         * lib/unictype/pr_ideographic.h: Likewise.
82354         * lib/unictype/pr_ids_binary_operator.h: Likewise.
82355         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
82356         * lib/unictype/pr_ignorable_control.h: Likewise.
82357         * lib/unictype/pr_iso_control.h: Likewise.
82358         * lib/unictype/pr_join_control.h: Likewise.
82359         * lib/unictype/pr_left_of_pair.h: Likewise.
82360         * lib/unictype/pr_line_separator.h: Likewise.
82361         * lib/unictype/pr_logical_order_exception.h: Likewise.
82362         * lib/unictype/pr_lowercase.h: Likewise.
82363         * lib/unictype/pr_math.h: Likewise.
82364         * lib/unictype/pr_non_break.h: Likewise.
82365         * lib/unictype/pr_not_a_character.h: Likewise.
82366         * lib/unictype/pr_numeric.h: Likewise.
82367         * lib/unictype/pr_other_alphabetic.h: Likewise.
82368         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
82369         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
82370         * lib/unictype/pr_other_id_continue.h: Likewise.
82371         * lib/unictype/pr_other_id_start.h: Likewise.
82372         * lib/unictype/pr_other_lowercase.h: Likewise.
82373         * lib/unictype/pr_other_math.h: Likewise.
82374         * lib/unictype/pr_other_uppercase.h: Likewise.
82375         * lib/unictype/pr_paired_punctuation.h: Likewise.
82376         * lib/unictype/pr_paragraph_separator.h: Likewise.
82377         * lib/unictype/pr_pattern_syntax.h: Likewise.
82378         * lib/unictype/pr_pattern_white_space.h: Likewise.
82379         * lib/unictype/pr_private_use.h: Likewise.
82380         * lib/unictype/pr_punctuation.h: Likewise.
82381         * lib/unictype/pr_quotation_mark.h: Likewise.
82382         * lib/unictype/pr_radical.h: Likewise.
82383         * lib/unictype/pr_sentence_terminal.h: Likewise.
82384         * lib/unictype/pr_soft_dotted.h: Likewise.
82385         * lib/unictype/pr_space.h: Likewise.
82386         * lib/unictype/pr_terminal_punctuation.h: Likewise.
82387         * lib/unictype/pr_titlecase.h: Likewise.
82388         * lib/unictype/pr_unassigned_code_value.h: Likewise.
82389         * lib/unictype/pr_unified_ideograph.h: Likewise.
82390         * lib/unictype/pr_uppercase.h: Likewise.
82391         * lib/unictype/pr_variation_selector.h: Likewise.
82392         * lib/unictype/pr_white_space.h: Likewise.
82393         * lib/unictype/pr_xid_continue.h: Likewise.
82394         * lib/unictype/pr_xid_start.h: Likewise.
82395         * lib/unictype/pr_zero_width.h: Likewise.
82396         * lib/unictype/scripts.h: Likewise.
82397         * lib/unictype/scripts_byname.gperf: Likewise.
82398         * lib/unictype/sy_c_ident.h: Likewise.
82399         * lib/unictype/sy_c_whitespace.h: Likewise.
82400         * lib/unictype/sy_java_ident.h: Likewise.
82401         * lib/unictype/sy_java_whitespace.h: Likewise.
82403         * lib/unictype/Makefile: New file.
82404         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
82405         glibc.
82406         * lib/unictype/3level.h: New file, copied from glibc.
82407         * lib/unictype/3levelbit.h: New file.
82409 2007-11-11  Bruno Haible  <bruno@clisp.org>
82411         * modules/gperf: New file.
82412         * modules/iconv_open (Depends-on): Add it.
82413         (Makefile.am): Remove the GPERF definition.
82415 2007-11-11  Bruno Haible  <bruno@clisp.org>
82417         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
82418         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
82420 2007-11-11  Bruno Haible  <bruno@clisp.org>
82422         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
82423         (usage): Remove function.
82425 2007-11-11  Bruno Haible  <bruno@clisp.org>
82427         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
82428         gl_FUNC_CEILF_LIBS.
82429         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
82430         gl_FUNC_CEIL_LIBS.
82431         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
82432         gl_FUNC_CEILL_LIBS.
82433         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
82434         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
82435         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
82437 2007-11-11  Bruno Haible  <bruno@clisp.org>
82439         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
82440         roundf were declared but do not exist on functions.
82441         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
82442         roundl were declared but do not exist on functions.
82443         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
82444         HAVE_FLOORL_AND_CEILL, respectively.
82445         Needed for Sun C on Solaris 10.
82447 2007-11-11  Bruno Haible  <bruno@clisp.org>
82449         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
82450         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
82451         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
82452         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
82453         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
82454         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
82455         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
82456         HAVE_DECL_ROUNDF.
82457         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
82458         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
82459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
82460         of HAVE_DECL_ROUND*.
82461         * modules/math (Makefile.am): Update.
82463 2007-11-10  Bruno Haible  <bruno@clisp.org>
82465         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
82466         ptrdiff_t as m4/intl.m4.
82468 2007-11-10  Jim Meyering  <meyering@redhat.com>
82470         Avoid link failure for the argmatch test.
82471         * tests/test-argmatch.c (usage): Define function to avoid a link
82472         failure: argmatch_die requires a usage function.
82474 2007-11-09  Bruno Haible  <bruno@clisp.org>
82476         * doc/functions/snprintf.texi: Mention BeOS deficiency.
82477         * doc/functions/vsnprintf.texi: Likewise.
82478         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
82479         with a size argument < 2.
82481 2007-11-09  Bruno Haible  <bruno@clisp.org>
82483         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
82484         buffer. Fixes an inefficiency introduced on 2007-11-03.
82486 2007-11-09  Bruno Haible  <bruno@clisp.org>
82488         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
82489         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
82491 2007-11-08  Jim Meyering  <meyering@redhat.com>
82493         Change cache variable name prefix "jm_" to "gl_" everywhere.
82494         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
82495         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
82496         * m4/uptime.m4: s/gl_/jm_/
82498 2007-11-07  Bruno Haible  <bruno@clisp.org>
82500         Update to GNU gettext 0.17.
82501         * m4/intl.m4: Update to GNU gettext 0.17.
82502         * m4/po.m4: Likewise.
82503         * modules/gettext (Files): Remove m4/ulonglong.m4.
82504         (configure.ac): Require gettext infrastructure from version 0.17.
82506 2007-11-06  Bruno Haible  <bruno@clisp.org>
82508         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
82509         symbolic values are not defined in a public header.
82510         * lib/freadable.c (freadable) [QNX]: Likewise.
82511         * lib/freadahead.c (freadahead) [QNX]: Likewise.
82512         * lib/freading.c (freading) [QNX]: Likewise.
82513         * lib/fseterr.c (fseterr) [QNX]: Likewise.
82514         * lib/fwritable.c (fwritable) [QNX]: Likewise.
82515         * lib/fwriting.c (fwriting) [QNX]: Likewise.
82516         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
82517         Reported by Alain Magloire.
82519         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
82521 2007-11-05  Bruno Haible  <bruno@clisp.org>
82523         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
82524         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
82525         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
82526         Reported by Eric Blake.
82528 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82529             Bruno Haible  <bruno@clisp.org>
82531         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
82532         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
82533         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
82534         (malloc): Undefine also before including <stdlib.h>.
82535         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
82536         Needed on OSF/1 4.0.
82538 2007-11-05  Jim Meyering  <meyering@redhat.com>
82540         git-version-gen: sync from coreutils.
82541         * build-aux/git-version-gen: Add comments.
82542         Change the first '-' to '.' in the snapshot version string,
82543         e.g., 6.9-377-08144 -> 6.9.377-08144
82544         Remove first parameter.
82545         Don't declare a version "-dirty" merely because a time
82546         stamp has changed.
82548 2007-11-04  Bruno Haible  <bruno@clisp.org>
82550         * lib/lock.h: Protect all macro definitions containing an 'if'
82551         statement through a "do { ... } while (0)".
82552         * lib/tls.h: Likewise.
82554 2007-11-04  Bruno Haible  <bruno@clisp.org>
82556         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
82558 2007-11-04  Bruno Haible  <bruno@clisp.org>
82560         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
82561         * modules/fprintf-posix (Depends-on): Add nocrash.
82562         * modules/snprintf-posix (Depends-on): Likewise.
82563         * modules/sprintf-posix (Depends-on): Likewise.
82564         * modules/vasnprintf-posix (Depends-on): Likewise.
82565         * modules/vasprintf-posix (Depends-on): Likewise.
82566         * modules/vfprintf-posix (Depends-on): Likewise.
82567         * modules/vsnprintf-posix (Depends-on): Likewise.
82568         * modules/vsprintf-posix (Depends-on): Likewise.
82569         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82570         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82571         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82572         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82573         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82574         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82575         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82577 2007-11-04  Bruno Haible  <bruno@clisp.org>
82579         * modules/nocrash: New file.
82580         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
82581         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
82583 2007-11-04  Bruno Haible  <bruno@clisp.org>
82585         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
82586         precision handling.
82587         * tests/test-vasprintf-posix.c (test_function): Likewise.
82588         * tests/test-snprintf-posix.h (test_function): Likewise.
82589         * tests/test-sprintf-posix.h (test_function): Likewise.
82591         Fix *printf behaviour for large precisions on mingw and BeOS.
82592         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
82593         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
82594         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
82595         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82596         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82597         gl_PRINTF_PRECISION and test its result. Invoke
82598         gl_PREREQ_VASNPRINTF_PRECISION.
82599         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82600         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82601         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82602         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82603         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82604         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82605         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82606         * doc/functions/fprintf.texi: Update.
82607         * doc/functions/printf.texi: Update.
82608         * doc/functions/snprintf.texi: Update.
82609         * doc/functions/sprintf.texi: Update.
82610         * doc/functions/vfprintf.texi: Update.
82611         * doc/functions/vprintf.texi: Update.
82612         * doc/functions/vsnprintf.texi: Update.
82613         * doc/functions/vsprintf.texi: Update.
82615 2007-11-04  Bruno Haible  <bruno@clisp.org>
82617         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
82619 2007-11-04  Bruno Haible  <bruno@clisp.org>
82621         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
82622         Reported by Sylvain Beucler <beuc@gnu.org>.
82624 2007-11-03  Bruno Haible  <bruno@clisp.org>
82626         * tests/test-fprintf-posix2.sh: New file.
82627         * tests/test-fprintf-posix2.c: New file.
82628         * modules/fprintf-posix-tests (Files): Add them.
82629         (TESTS): Add test-fprintf-posix2.sh.
82630         (configure.ac): Check for getrlimit and setrlimit.
82631         (check_PROGRAMS): Add test-fprintf-posix2.
82633         * tests/test-printf-posix2.sh: New file.
82634         * tests/test-printf-posix2.c: New file.
82635         * modules/printf-posix-tests (Files): Add them.
82636         (TESTS): Add test-printf-posix2.sh.
82637         (configure.ac): Check for getrlimit and setrlimit.
82638         (check_PROGRAMS): Add test-printf-posix2.
82640         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
82641         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
82642         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
82643         (decode_double): New function, copied from decode_long_double.
82644         (scale10_round_decimal_decoded): New function, extracted from
82645         scale10_round_decimal_long_double.
82646         (scale10_round_decimal_long_double): Use it.
82647         (scale10_round_decimal_double): New function.
82648         (floorlog10): New function.
82649         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
82650         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
82651         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82652         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82653         gl_PRINTF_ENOMEM and test its result. Invoke
82654         gl_PREREQ_VASNPRINTF_ENOMEM.
82655         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82656         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82657         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82658         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82659         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82660         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82661         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82662         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
82663         * modules/snprintf-posix (Depends-on): Likewise.
82664         * modules/sprintf-posix (Depends-on): Likewise.
82665         * modules/vasnprintf-posix (Depends-on): Likewise.
82666         * modules/vasprintf-posix (Depends-on): Likewise.
82667         * modules/vfprintf-posix (Depends-on): Likewise.
82668         * modules/vsnprintf-posix (Depends-on): Likewise.
82669         * modules/vsprintf-posix (Depends-on): Likewise.
82670         * doc/functions/fprintf.texi: Update.
82671         * doc/functions/printf.texi: Update.
82672         * doc/functions/snprintf.texi: Update.
82673         * doc/functions/sprintf.texi: Update.
82674         * doc/functions/vfprintf.texi: Update.
82675         * doc/functions/vprintf.texi: Update.
82676         * doc/functions/vsnprintf.texi: Update.
82677         * doc/functions/vsprintf.texi: Update.
82679 2007-11-03  Bruno Haible  <bruno@clisp.org>
82681         * modules/frexp-nolibm-tests: New file.
82683         * modules/frexp-nolibm: New file.
82684         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
82686 2007-11-03  Bruno Haible  <bruno@clisp.org>
82688         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
82689         value is C99 compliant.
82690         Needed for OSF/1 5.1.
82692 2007-11-03  Bruno Haible  <bruno@clisp.org>
82694         Fix out-of-memory handling of vasnprintf.
82695         * lib/printf-parse.c: Include <errno.h>.
82696         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
82697         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
82698         is already set.
82700 2007-11-02  Eric Blake  <ebb9@byu.net>
82702         Fix tests on cygwin.
82703         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
82705 2007-11-01  Bruno Haible  <bruno@clisp.org>
82707         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
82708         warning.
82709         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
82710         needed for POSIX compatibility.
82712 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82714         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
82715         for compatibility with GNU.
82717 2007-11-01  Bruno Haible  <bruno@clisp.org>
82719         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
82720         (putenv): Renamed from rpl_putenv. Change argument type from
82721         'const char *' to 'char *'.
82722         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
82723         of defining putenv in config.h, just set REPLACE_PUTENV.
82724         * modules/putenv (Depends-on): Add stdlib.
82725         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
82726         (Include): Use <stdlib.h>.
82727         * lib/stdlib.in.h (putenv): New declaration.
82728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
82729         REPLACE_PUTENV.
82730         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
82731         REPLACE_PUTENV.
82732         Needed for MacOS X 10.5.0.
82733         Reported by Peter O'Gorman <peter@pogma.com>.
82735 2007-11-01  Jim Meyering  <meyering@redhat.com>
82737         Treat an empty date string exactly like "0".
82738         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
82739         if the remaining date string (to be parsed) is empty, use "0".
82740         Reported by Mischa Molhoek and discussed in this thread:
82741         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82743 2007-10-31  Bruno Haible  <bruno@clisp.org>
82745         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82746         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82747         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82748         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82749         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82750         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82752 2007-10-31  Bruno Haible  <bruno@clisp.org>
82754         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82755         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82756         (AC_TYPE_LONG_LONG_INT): Use it.
82757         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82758         it as well.
82759         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82760         to m4/longlong.m4.
82761         * modules/stdint (Files): Remove m4/ulonglong.m4.
82762         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82763         m4/ulonglong.m4.
82764         * modules/strtoumax (Files): Likewise.
82766 2007-10-30  Bruno Haible  <bruno@clisp.org>
82768         * modules/xvasprintf-posix: New file.
82769         Suggested by Eric Blake.
82771 2007-10-30  Bruno Haible  <bruno@clisp.org>
82773         * modules/xprintf-posix-tests: New file.
82774         * tests/test-xprintf-posix.sh: New file.
82775         * tests/test-xprintf-posix.c: New file.
82776         * tests/test-xfprintf-posix.c: New file.
82778         * modules/xprintf-posix: New file.
82780 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82782         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82783         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82784         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82786 2007-10-29  Bruno Haible  <bruno@clisp.org>
82788         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82789         contain the special marker '_cv_'.
82790         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82791         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82792         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82793         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82794         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82795         Reported by Ralf Wildenhues.
82797 2007-10-29  Bruno Haible  <bruno@clisp.org>
82799         * gnulib-tool (func_import): When --lgpl is not specified, set
82800         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82801         GPLv3.
82802         Reported by Simon Josefsson.
82804 2007-10-28  Bruno Haible  <bruno@clisp.org>
82806         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82807         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82808         HAVE_DECL_ISFINITE.
82809         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82810         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82811         HAVE_DECL_ISFINITE.
82813 2007-10-28  Bruno Haible  <bruno@clisp.org>
82815         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82816         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82818 2007-10-28  Bruno Haible  <bruno@clisp.org>
82820         Fix link errors with Sun C 5.0 on Solaris 10.
82821         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82822         function is declared but not present in the compiler's libm.
82823         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82824         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82825         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82826         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82827         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82828         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82829         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82830         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82831         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82832         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82833         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82834         HAVE_DECL_FLOORL.
82836 2007-10-28  Bruno Haible  <bruno@clisp.org>
82838         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82839         gl_FUNC_FLOORL. Cache the result.
82840         (gl_FUNC_FLOORL): Use it.
82841         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82842         gl_FUNC_CEILL. Cache the result.
82843         (gl_FUNC_CEILL): Use it.
82845         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82846         gl_FUNC_FLOOR. Cache the result.
82847         (gl_FUNC_FLOOR): Use it.
82848         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82849         gl_FUNC_CEIL. Cache the result.
82850         (gl_FUNC_CEIL): Use it.
82852         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82853         gl_FUNC_FLOORF. Cache the result.
82854         (gl_FUNC_FLOORF): Use it.
82855         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82856         gl_FUNC_CEILF. Cache the result.
82857         (gl_FUNC_CEILF): Use it.
82859 2007-10-28  Bruno Haible  <bruno@clisp.org>
82861         * gnulib-tool: Allow specifying the LGPL version number through
82862         --lgpl=2 or --lgpl=3.
82863         (func_usage): Document --lgpl with argument.
82864         Handle --lgpl=... arguments.
82865         (func_import): Recognize also gl_LGPL calls with an argument. When
82866         --lgpl=2 is used and the module's license is just LGPL, report an
82867         error. Set sed_transform_lib_file according to the lgpl variable. In
82868         the generated files, use --lgpl or gl_LGPL invocations with argument,
82869         if necessary.
82870         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82871         an LGPv2+ license.
82872         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82873         gl_LGPL macro.
82875 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82876             Bruno Haible  <bruno@clisp.org>
82878         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82879         (u16_uctomb_aux): Likewise.
82880         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82881         !HAVE_INLINE.
82882         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82884 2007-10-28  Bruno Haible  <bruno@clisp.org>
82886         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82887         Invoke AM_GETTEXT_OPTION if it exists.
82888         * modules/vasprintf: Likewise.
82889         * modules/verror: Likewise.
82890         * modules/xprintf: Likewise.
82891         * modules/xvasprintf: Likewise.
82893 2007-10-27  Ben Pfaff  <blp@gnu.org>
82895         * lib/math.in.h: Define isfinite macro and prototypes for
82896         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82897         implementations.
82898         * m4/math_h.m4: New substitutions for isfinite module.
82899         * lib/isfinite.c: New file.
82900         * m4/isfinite.m4: New file.
82901         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82902         * modules/isfinite: New file.
82903         * modules/isfinite-tests: New file.
82904         * tests/tests-isfinite.c: New file.
82905         * doc/functions/isfinite.texi: Mention isfinite module.
82906         * MODULES.html.sh: Mention new module.
82908 2007-10-27  Ben Pfaff  <blp@gnu.org>
82910         Ralf Wildenhues reported that Tru64 4.0D declares the round
82911         functions but does not have definitions.
82912         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82913         cannot be found in any library, set the output variable to
82914         "missing" instead of "".
82915         * m4/round.m4: Also use our substitute if we cannot find round in
82916         any library, even if it is declared.
82917         * m4/roundf.m4: Likewise for roundf.
82918         * m4/roundl.m4: Likewise for roundl.
82919         * lib/math.in.h: Undefine roundf, round, roundl before defining
82920         their replacements, to allow for hypothetical systems where these
82921         may be defined as macros but not available in libraries.
82923 2007-10-27  Bruno Haible  <bruno@clisp.org>
82925         * doc/gnulib.texi: Invoke @firstparagraphindent.
82926         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82927         changes in gnulib.
82928         (Source changes): New section.
82930 2007-10-26  Bruno Haible  <bruno@clisp.org>
82932         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82933         borrowed from autoconf.
82935 2007-10-26  Bruno Haible  <bruno@clisp.org>
82937         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82938         strerror returned the empty string. Needed on HP-UX 11.00.
82940 2007-10-24  Micah Cowan  <micah@cowan.name>
82942         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82943         * build-aux/bootstrap: Remove support for now-unnecessary option,
82944         --cvs-user, and envvars CVS_USER, CVS_RSH.
82946 2007-10-24  Jim Meyering  <meyering@redhat.com>
82948         Avoid diagnostics from sha1sum when there is no cached checksum.
82949         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82950         if the po.s1 file hasn't been created yet.
82952         * build-aux/bootstrap: Sync from coreutils:
82953         2007-10-24  Jim Meyering  <meyering@redhat.com>
82954         Get gnulib from the git repository, not from an obsolete cvs one.
82955         * build-aux/bootstrap: Suggestion from Micah Cowan.
82956         2007-10-04  Jim Meyering  <jim@meyering.net>
82957         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82958         (update_po_files): Work also when there are no .po files in po/.
82960 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82962         * README: Append ".git" to git and cg examples.
82963         Problem reported by Benoit Sigoure.
82965 2007-10-23  Micah Cowan  <micah@cowan.name>
82967         * users.txt: Add wget.
82969 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82971         Fix linking of some unistdio tests on FreeBSD.
82972         * modules/unistdio/u16-vsnprintf-tests
82973         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
82974         * modules/unistdio/u16-vsprintf-tests
82975         (test_u16_vsnprintf1_LDADD): Likewise.
82976         * modules/unistdio/u32-vsnprintf-tests
82977         (test_u32_vsnprintf1_LDADD): Likewise.
82978         * modules/unistdio/u32-vsprintf-tests
82979         (test_u32_vsprintf1_LDADD): Likewise.
82980         * modules/unistdio/u8-vsnprintf-tests
82981         (test_u8_vsnprintf1_LDADD): Likewise.
82982         * modules/unistdio/u8-vsprintf-tests
82983         (test_u8_vsprintf1_LDADD): Likewise.
82984         * modules/unistdio/ulc-vsnprintf-tests
82985         (test_ulc_vsnprintf1_LDADD): Likewise.
82986         * modules/unistdio/ulc-vsprintf-tests
82987         (test_ulc_vsprintf1_LDADD): Likewise.
82989         Fix linking of some uniconv tests on FreeBSD.
82990         * modules/uniconv/u16-conv-from-enc-tests
82991         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
82992         * modules/uniconv/u16-conv-to-enc-tests
82993         (test_u16_conv_to_enc_LDADD): Likewise.
82994         * modules/uniconv/u16-strconv-from-enc-tests
82995         (test_u16_strconv_from_enc_LDADD): Likewise.
82996         * modules/uniconv/u16-strconv-to-enc-tests
82997         (test_u16_strconv_to_enc_LDADD): Likewise.
82998         * modules/uniconv/u32-conv-from-enc-tests
82999         (test_u32_conv_from_enc_LDADD): Likewise.
83000         * modules/uniconv/u32-conv-to-enc-tests
83001         (test_u32_conv_to_enc_LDADD): Likewise.
83002         * modules/uniconv/u32-strconv-from-enc-tests
83003         (test_u32_strconv_from_enc_LDADD): Likewise.
83004         * modules/uniconv/u32-strconv-to-enc-tests
83005         (test_u32_strconv_to_enc_LDADD): Likewise.
83006         * modules/uniconv/u8-conv-from-enc-tests
83007         (test_u8_conv_from_enc_LDADD): Likewise.
83008         * modules/uniconv/u8-conv-to-enc-tests
83009         (test_u8_conv_to_enc_LDADD): Likewise.
83010         * modules/uniconv/u8-strconv-from-enc-tests
83011         (test_u8_strconv_from_enc_LDADD): Likewise.
83012         * modules/uniconv/u8-strconv-to-enc-tests
83013         (test_u8_strconv_to_enc_LDADD): Likewise.
83015 2007-10-22  Bruno Haible  <bruno@clisp.org>
83017         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
83018         size.
83020 2007-10-22  Eric Blake  <ebb9@byu.net>
83022         Tweak x*printf documentation.
83023         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
83024         variable name and comments.
83025         Suggested by Bruno Haible.
83027 2007-10-22  Bruno Haible  <bruno@clisp.org>
83029         * lib/acl.c (copy_acl): Fix file name in comment.
83031 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83033         Fix Tru64 problem with stdbool.h.
83034         * lib/stdbool.in.h (false, true):
83035         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
83036         Don't declare as an enum in this situation; it runs afoul of Tru64.
83037         Problem reported by Steven M. Schweda in
83038         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
83040 2007-10-22  Eric Blake  <ebb9@byu.net>
83042         Also wrap vf?printf.
83043         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
83044         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
83045         (xvprintf, xvfprintf): New functions.
83047 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83049         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
83050         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
83052         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
83053         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
83055 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83057         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
83058         by Bruno Haible.
83060 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83062         * lib/getloadavg.c
83063         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
83064         Undef `sys' after including sys/table.h, for Tru64 4.0D.
83066         * tests/test-i-ring.c: Work for C89.
83068 2007-10-22  Bruno Haible  <bruno@clisp.org>
83070         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
83071         -1u, in preprocessor expression, so that we don't test for the bug
83072         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
83073         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
83075 2007-10-22  Eric Blake  <ebb9@byu.net>
83077         * tests/test-yesno.sh: Silence stderr during test.
83079 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83081         * modules/crypto/gc-camellia: New file.
83083         * m4/gc-camellia.m4: New file.
83085         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
83087         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
83089 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83091         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
83092         --help to stdout.  Reported by sms@antinode.org (Steven
83093         M. Schweda).
83095 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83097         * users.txt: Fix link to libksba.
83099 2007-10-21  Ben Pfaff  <blp@gnu.org>
83101         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
83102         round.c roundf implementation that depends on floorf and ceilf to
83103         be tested unconditionally.
83105 2007-10-21  Ben Pfaff  <blp@gnu.org>
83107         * m4/check-libm-func.m4: Removed.
83108         * m4/check-math-lib.m4: New file.
83109         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
83110         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
83111         definition and lack of AC_LIBOBJ([roundf]).
83112         * m4/roundl.m4: Ditto, and similarly for roundl.
83113         * modules/round: Reference new m4 file.
83114         * modules/roundf: Ditto.
83115         * modules/roundl: Ditto.
83116         * tests/test-round2.c (main): Use ROUND instead of round.
83117         Bug report from Bruno Haible.
83119 2007-10-21  Bruno Haible  <bruno@clisp.org>
83121         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
83122         context.
83124 2007-10-21  Bruno Haible  <bruno@clisp.org>
83126         * tests/test-wcwidth.c (main): Allow negative result for some control
83127         characters.
83129         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
83130         Needed on OSF/1 5.1.
83132 2007-10-21  Bruno Haible  <bruno@clisp.org>
83134         * tests/test-floorf1.c: Include isnanf.h.
83135         (main): Use isnanf() instead of isnan().
83136         * tests/test-ceilf1.c: Include isnanf.h.
83137         (main): Use isnanf() instead of isnan().
83138         * tests/test-truncf1.c: Include isnanf.h.
83139         (main): Use isnanf() instead of isnan().
83140         * tests/test-roundf1.c: Include isnanf.h.
83141         (main): Use isnanf() instead of isnan().
83143 2007-10-21  Eric Blake  <ebb9@byu.net>
83145         * users.txt: Update URL for m4.
83147 2007-10-21  Bruno Haible  <bruno@clisp.org>
83149         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
83151 2007-10-21  Bruno Haible  <bruno@clisp.org>
83153         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
83154         Git's management files if the CVS files are not present.
83156 2007-10-20  Bruno Haible  <bruno@clisp.org>
83158         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
83159         gcc-3.4.x.
83161 2007-10-20  Ben Pfaff  <blp@gnu.org>
83163         * lib/math.in.h: Declare round, roundf, roundl if we are providing
83164         implementations.
83165         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
83166         * lib/round.c: New file.
83167         * lib/roundf.c: New file.
83168         * lib/roundl.c: New file.
83169         * m4/round.m4: New file.
83170         * m4/roundf.m4: New file.
83171         * m4/roundl.m4: New file.
83172         * m4/check-libm-func-m4: New file.
83173         * modules/math: Replace round, roundf, roundl related @VARS@ in
83174         math.in.h.
83175         * modules/round: New file.
83176         * modules/round-tests: New file.
83177         * modules/roundf: New file.
83178         * modules/roundf-tests: New file.
83179         * modules/roundl: New file.
83180         * modules/roundl-tests: New file.
83181         * tests/test-round1.c: New file.
83182         * tests/test-round2.c: New file.
83183         * tests/test-roundf1.c: New file.
83184         * tests/test-roundf2.c: New file.
83185         * tests/test-roundl.c: New file.
83186         * doc/functions/round.texi: Mention round module.
83187         * doc/functions/roundf.texi: Mention roundf module.
83188         * doc/functions/roundl.texi: Mention roundl module.
83189         * MODULES.html.sh: Mention new modules.
83190         Thanks to Bruno Haible for suggestions.
83192 2007-10-20  Jim Meyering  <meyering@redhat.com>
83194         * lib/xprintf.c: Include <config.h> unconditionally.
83196         Change xprintf's license to GPL.
83197         * modules/xprintf (License): s/LGPL/GPL/, since this module
83198         depends on modules (exit and exitfail) which are GPL.
83199         Suggestion from Bruno Haible.
83201         xprintf fixes.
83202         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
83203         Use a clearer diagnostic.
83204         Patch from Bruno Haible.
83206 2007-10-20  Bruno Haible  <bruno@clisp.org>
83208         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
83209         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
83210         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83212 2007-10-20  Bruno Haible  <bruno@clisp.org>
83214         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
83215         precision in the comparison result > x - 1 or similar.
83216         * tests/test-ceilf2.c (correct_result_p): Likewise.
83217         * tests/test-truncf2.c (correct_result_p): Likewise.
83218         * tests/test-trunc2.c (correct_result_p): Likewise.
83219         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83221 2007-10-20  Bruno Haible  <bruno@clisp.org>
83223         * modules/ceil: New file.
83224         * m4/ceil.m4: New file.
83225         * doc/functions/ceil.texi: Mention the 'ceil' module.
83227 2007-10-20  Bruno Haible  <bruno@clisp.org>
83229         * modules/floor: New file.
83230         * m4/floor.m4: New file.
83231         * doc/functions/floor.texi: Mention the 'floor' module.
83233 2007-10-20  Bruno Haible  <bruno@clisp.org>
83235         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
83236         of %a.
83237         * modules/floorf-tests (Depends-on): Likewise.
83238         * modules/truncf-tests (Depends-on): Likewise.
83239         * modules/trunc-tests (Depends-on): Likewise.
83240         Reported by Ben Pfaff.
83242 2007-10-19  Jim Meyering  <meyering@redhat.com>
83244         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
83245         Don't bother testing specific errno values.  Just test ferror.
83247         New module: xprintf
83248         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
83250 2007-10-19  Bruno Haible  <bruno@clisp.org>
83252         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
83253         syntax.
83254         * modules/javaexec (Makefile.am): Likewise.
83255         * modules/relocatable-prog (Makefile.am): Likewise.
83256         Suggested by Jim Meyering.
83258 2007-10-18  Bruno Haible  <bruno@clisp.org>
83260         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
83261         Reported by Jim Meyering.
83263 2007-10-18  Eric Blake  <ebb9@byu.net>
83265         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
83267 2007-10-18  Bruno Haible  <bruno@clisp.org>
83269         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
83270         the format string into writable memory. Needed in Fortify conditions.
83272 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
83273             Bruno Haible  <bruno@clisp.org>
83275         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
83276         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
83277         * modules/trim (Depends-on): Add mbchar.
83278         (configure.ac): Add gl_FUNC_MBRTOWC.
83279         (Makefile.am): Augment lib_SOURCES.
83281 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83283         Modify glob.c to use fstatat and dirfd, to simplify it.
83284         Suggested by Eric Blake.
83285         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
83286         Don't include <stdbool.h>; not used.
83287         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
83288         (link_exists_p): Simplify implementation, since we can now assume
83289         dirfd and fstatat.
83290         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
83292 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83294         * gnulib-tool (func_get_dependencies): Fix sed script to
83295         match only tests.
83297 2007-10-17  Bruno Haible  <bruno@clisp.org>
83299         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
83300         allow locale names without encoding suffix.
83301         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
83302         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
83304 2007-10-16  Bruno Haible  <bruno@clisp.org>
83306         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
83307         * lib/getgroups.c (getgroups): Likewise.
83308         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
83310 2007-10-16  Bruno Haible  <bruno@clisp.org>
83312         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
83313         * modules/malloc-posix (License): Likewise.
83314         * modules/realloc-posix (License): Likewise.
83315         * modules/calloc-posix (License): Likewise.
83316         * modules/intprops (License): Change from GPL to LGPL, with
83317         Paul Eggert's approval.
83319 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83321         Merge glibc changes into lib/glob.c.
83323         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
83324         2007-10-15 04:59:03 UTC.  Here are the changes:
83326         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
83328         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
83330         * lib/glob.c: Add some branch prediction throughout.
83332         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
83334         [BZ #5103]
83335         * lib/glob.c (glob): Recognize patterns starting \/.
83337         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
83339         [BZ #3996]
83340         * lib/glob.c (attribute_hidden): Define if not defined.
83341         (glob): Unescape dirname, filename or username when needed and not
83342         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
83343         is NULL.  Handle unescaped [ in pattern without closing ].
83344         Don't pass GLOB_CHECK down to recursive glob for directories.
83345         (__glob_pattern_type): New function.
83346         (__glob_pattern_p): Implement using __glob_pattern_type.
83347         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
83348         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
83349         Remove unreachable code.
83351         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
83353         * lib/glob.c (glob_in_dir): Add some comments and asserts to
83354         explain why there are no leaks.
83356         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
83358         [BZ #3253]
83359         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
83360         time, rather allocate increasingly bigger arrays of pointers, if
83361         possible with alloca, if too large with malloc.
83363 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83365         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
83366         Problem reported by H.Merijn Brand in
83367         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
83368         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
83369         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
83371 2007-10-15  Bruno Haible  <bruno@clisp.org>
83373         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
83374         with explicit rpl_ prefix.
83375         * lib/fopen.c (fopen): Likewise.
83376         * lib/freopen.c (freopen): Likewise.
83377         * lib/iconv.c (iconv): Likewise.
83378         * lib/iconv_close.c (iconv_close): Likewise.
83380 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83382         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
83384 2007-10-15  Bruno Haible  <bruno@clisp.org>
83386         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
83387         <stddef.h> instead of <stdlib.h> since we only need NULL.
83388         Reported by Ben Pfaff <blp@cs.stanford.edu>.
83390 2007-10-15  Bruno Haible  <bruno@clisp.org>
83392         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
83393         Replace paragraph talking about LIBOBJS.
83394         Reported by Colin Watson <cjwatson@debian.org>.
83396 2007-10-15  Bruno Haible  <bruno@clisp.org>
83398         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
83399         <stdlib.h> before using NULL.
83401 2007-10-15  Simon Josefsson  <simon@josefsson.org>
83403         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
83404         Reported by Albert Chin <china@thewrittenword.com>.
83406 2007-10-14  Bruno Haible  <bruno@clisp.org>
83408         * modules/iconv_open-utf-tests: New file.
83409         * tests/test-iconv-utf.c: New file.
83411         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
83412         * modules/iconv_open-utf: New file.
83413         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
83414         (iconv, iconv_close): New declarations.
83415         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
83416         be defined.
83417         (iconv_open): Add special handling of conversion between UTF-8 and
83418         UTF-{16,32}{BE,LE}.
83419         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
83420         * lib/iconv_close.c: New file.
83421         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
83422         gl_FUNC_ICONV_OPEN.
83423         (gl_FUNC_ICONV_OPEN): Use it.
83424         (gl_FUNC_ICONV_OPEN_UTF): New macro.
83425         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
83426         and REPLACE_ICONV_UTF.
83427         * modules/iconv_open (Depends-on): Add c-strcase.
83428         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
83429         ICONV_CONST.
83430         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
83432 2007-10-13  Albert Chin  <china@thewrittenword.com>
83433             Bruno Haible  <bruno@clisp.org>
83435         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
83436         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
83438 2007-10-13  Bruno Haible  <bruno@clisp.org>
83440         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
83441         defined, use the ISO C99 inline semantics.
83442         * lib/argp.h (ARGP_EI): Likewise.
83444 2007-10-13  Bruno Haible  <bruno@clisp.org>
83446         Handle 'inline' change in gcc 4.3.0.
83447         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
83448         argp_fmtstream_write, argp_fmtstream_set_lmargin,
83449         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
83450         argp_fmtstream_point): Disable 'extern' declaration if the function
83451         definition is going to be provided inline.
83452         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
83453         semantics, not the ISO C99 inline semantics.
83454         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
83455         'extern' declaration if the function definition is going to be provided
83456         inline.
83457         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
83458         the GNU C inline semantics, not the ISO C99 inline semantics. With
83459         GCC 4.2, avoid a warning.
83461 2007-10-13  Bruno Haible  <bruno@clisp.org>
83463         * lib/freading.h (freading): Enable the use of __freading for
83464         glibc >= 2.7.
83465         * lib/freading.c (freading): Likewise.
83467 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
83469         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
83470         "warning: C99 inline functions are not supported; using GNU89".
83472 2007-10-12  Bruno Haible  <bruno@clisp.org>
83474         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
83475         of 2.
83476         * tests/test-ceilf2.c: New file.
83477         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
83479         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
83480         * modules/ceilf-tests: Update.
83482 2007-10-12  Bruno Haible  <bruno@clisp.org>
83484         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
83485         of 2.
83486         * tests/test-floorf2.c: New file.
83487         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
83489         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
83490         * modules/floorf-tests: Update.
83492 2007-10-12  Bruno Haible  <bruno@clisp.org>
83494         * tests/test-trunc2.c: New file.
83495         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
83497         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
83498         * modules/trunc-tests: Update.
83500 2007-10-12  Bruno Haible  <bruno@clisp.org>
83502         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
83503         of 2.
83504         * tests/test-truncf2.c: New file.
83505         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
83507         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
83508         * modules/truncf-tests: Update.
83510 2007-10-11  Eric Blake  <ebb9@byu.net>
83512         Don't claim strerror is broken on Interix.
83513         * doc/functions/strerror.texi (strerror): Known broken systems are
83514         now Solaris 8, and not Interix.
83515         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
83516         Interix on cross-compile.
83517         Reported by Martin Koeppe in
83518         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
83520 2007-10-11  Bruno Haible  <bruno@clisp.org>
83522         * modules/i-ring-tests: New file.
83523         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
83524         instead of assert.
83526 2007-10-11  Bruno Haible  <bruno@clisp.org>
83528         * modules/filenamecat-tests: New file.
83529         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
83530         * lib/filenamecat.c: Remove test code.
83532 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
83534         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
83536         * lib/strerror.c: Include <string.h> always, to test interface,
83537         and to remove the need for the dummy.
83538         Include intprops.h to compute width instead of doing it ourselves
83539         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
83540         (strerror): Define it to return NULL if there's no system strerror.
83541         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
83542         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
83543         ancient pre-strerror Unix systems well any more.  Saying "unknown
83544         system error" is enough.
83545         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
83546         simpler strerror.c implementation.
83547         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
83548         Simplify the tests to reflect the simpler strerror implementation.
83549         * modules/strerror (Depends-on): Add intprops.
83551 2007-10-09  Eric Blake  <ebb9@byu.net>
83553         Silence test-fpending.
83554         * modules/fpending-tests (Files): Add wrapper script.
83555         * tests/test-fpending.sh: New file.
83557 2007-10-09  Bruno Haible  <bruno@clisp.org>
83559         * MODULES.html.sh (func_module): Don't create a hyperlink for
83560         function names like 'printf_frexp'.
83561         (Misc): Add crc, memxor.
83562         (Characteristics of floating types): New section.
83563         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
83564         isnanf-nolibm, signbit, trunc, truncf, truncl.
83565         (Enhancements for ISO C 99 functions): New subsection Input/output.
83566         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
83567         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
83568         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
83569         (Compatibility checks for POSIX:2001 functions): Add clock-time.
83570         (Enhancements for POSIX:2001 functions): Add chdir-long.
83571         (File system functions): Add areadlink, chdir-safer, read-file.
83572         Remove cycle-check.
83573         (File system as inode set): New section.
83574         (Date and time): Add gethrxtime.
83575         (Multithreading): Add openmp.
83576         (Internationalization functions): Add localename.
83577         (Unicode string functions): Add unistr/u*-mbsnlen.
83578         (Support for maintaining and releasing projects): Add git-version-gen.
83579         (Lone files): Remove directories.
83581 2007-10-08  Ben Pfaff  <blp@gnu.org>
83583         * lib/xmalloca.h: Fix typo in comment.
83585 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83587         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
83588         when avoiding problems with integer overflow.  Use a portable test
83589         instead.
83591 2007-10-08  Simon Josefsson  <simon@josefsson.org>
83593         * modules/dummy (License): Change to LGPLv2+.
83594         * modules/float (License): Likewise
83595         * modules/realloc (License): Likewise
83596         * modules/stdlib (License): Likewise
83598 2007-10-07  Bruno Haible  <bruno@clisp.org>
83600         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
83601         * floor.c (TWO_MANT_DIG): Likewise.
83602         * ceil.c (TWO_MANT_DIG): Likewise.
83603         Reported by Ben Pfaff.
83605 2007-10-07  Bruno Haible  <bruno@clisp.org>
83607         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
83608         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
83609         * lib/frexp.c (FUNC): Likewise.
83610         * lib/printf-frexp.h (printf_frexp): Likewise.
83611         * lib/printf-frexpl.h (printf_frexpl): Likewise.
83612         * lib/printf-frexp.c (FUNC): Likewise.
83613         Suggested by Jim Meyering.
83615 2007-10-07  Jim Meyering  <meyering@redhat.com>
83617         Make xnanosleep's integer overflow test more robust.
83618         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
83619         so that gcc-4.3.0 doesn't optimize away this test for overflow.
83621 2007-10-07  Bruno Haible  <bruno@clisp.org>
83623         * NEWS: Mention the license change.
83625         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
83626         abbreviations in the modules files.
83628         Change copyright notice from GPLv2+ to GPLv3+.
83629         * README: Change copyright notice.
83630         * MODULES.html.sh: Likewise.
83631         * build-aux/bootstrap.conf: Likewise.
83632         * build-aux/config.libpath: Likewise.
83633         * build-aux/csharpcomp.sh.in: Likewise.
83634         * build-aux/csharpexec.sh.in: Likewise.
83635         * build-aux/install-reloc: Likewise.
83636         * build-aux/javacomp.sh.in: Likewise.
83637         * build-aux/javaexec.sh.in: Likewise.
83638         * build-aux/ldd.sh.in: Likewise.
83639         * build-aux/reloc-ldflags: Likewise.
83640         * build-aux/relocatable.sh.in: Likewise.
83641         * build-aux/x-to-1.in: Likewise.
83642         * check-module: Likewise.
83643         * config/srclistvars.sh: Likewise.
83644         * gnulib-tool: Likewise.
83645         * lib/acl-internal.h: Likewise.
83646         * lib/acl.c: Likewise.
83647         * lib/acl.h: Likewise.
83648         * lib/acl_entries.c: Likewise.
83649         * lib/areadlink-with-size.c: Likewise.
83650         * lib/areadlink.c: Likewise.
83651         * lib/areadlink.h: Likewise.
83652         * lib/argmatch.c: Likewise.
83653         * lib/argmatch.h: Likewise.
83654         * lib/argp-ba.c: Likewise.
83655         * lib/argp-eexst.c: Likewise.
83656         * lib/argp-fmtstream.c: Likewise.
83657         * lib/argp-fmtstream.h: Likewise.
83658         * lib/argp-fs-xinl.c: Likewise.
83659         * lib/argp-help.c: Likewise.
83660         * lib/argp-namefrob.h: Likewise.
83661         * lib/argp-parse.c: Likewise.
83662         * lib/argp-pin.c: Likewise.
83663         * lib/argp-pv.c: Likewise.
83664         * lib/argp-pvh.c: Likewise.
83665         * lib/argp-xinl.c: Likewise.
83666         * lib/argp.h: Likewise.
83667         * lib/at-func.c: Likewise.
83668         * lib/atanl.c: Likewise.
83669         * lib/backupfile.c: Likewise.
83670         * lib/backupfile.h: Likewise.
83671         * lib/basename.c: Likewise.
83672         * lib/binary-io.h: Likewise.
83673         * lib/byteswap.in.h: Likewise.
83674         * lib/c-stack.c: Likewise.
83675         * lib/c-stack.h: Likewise.
83676         * lib/c-strcasestr.c: Likewise.
83677         * lib/c-strcasestr.h: Likewise.
83678         * lib/c-strstr.c: Likewise.
83679         * lib/c-strstr.h: Likewise.
83680         * lib/c-strtod.c: Likewise.
83681         * lib/calloc.c: Likewise.
83682         * lib/canon-host.c: Likewise.
83683         * lib/canon-host.h: Likewise.
83684         * lib/canonicalize-lgpl.c: Likewise.
83685         * lib/canonicalize.c: Likewise.
83686         * lib/canonicalize.h: Likewise.
83687         * lib/ceil.c: Likewise.
83688         * lib/ceilf.c: Likewise.
83689         * lib/ceill.c: Likewise.
83690         * lib/chdir-long.c: Likewise.
83691         * lib/chdir-long.h: Likewise.
83692         * lib/chdir-safer.c: Likewise.
83693         * lib/chdir-safer.h: Likewise.
83694         * lib/chown.c: Likewise.
83695         * lib/classpath.c: Likewise.
83696         * lib/classpath.h: Likewise.
83697         * lib/clean-temp.c: Likewise.
83698         * lib/clean-temp.h: Likewise.
83699         * lib/cloexec.c: Likewise.
83700         * lib/close-stream.c: Likewise.
83701         * lib/closein.c: Likewise.
83702         * lib/closein.h: Likewise.
83703         * lib/closeout.c: Likewise.
83704         * lib/closeout.h: Likewise.
83705         * lib/concat-filename.c: Likewise.
83706         * lib/copy-file.c: Likewise.
83707         * lib/copy-file.h: Likewise.
83708         * lib/count-one-bits.h: Likewise.
83709         * lib/crc.c: Likewise.
83710         * lib/crc.h: Likewise.
83711         * lib/creat-safer.c: Likewise.
83712         * lib/csharpcomp.c: Likewise.
83713         * lib/csharpcomp.h: Likewise.
83714         * lib/csharpexec.c: Likewise.
83715         * lib/csharpexec.h: Likewise.
83716         * lib/cycle-check.c: Likewise.
83717         * lib/cycle-check.h: Likewise.
83718         * lib/diacrit.c: Likewise.
83719         * lib/diacrit.h: Likewise.
83720         * lib/diffseq.h: Likewise.
83721         * lib/dirchownmod.c: Likewise.
83722         * lib/dirent.in.h: Likewise.
83723         * lib/dirfd.c: Likewise.
83724         * lib/dirfd.h: Likewise.
83725         * lib/dirname.c: Likewise.
83726         * lib/dirname.h: Likewise.
83727         * lib/dummy.c: Likewise.
83728         * lib/dup-safer.c: Likewise.
83729         * lib/dup2.c: Likewise.
83730         * lib/eealloc.h: Likewise.
83731         * lib/error.c: Likewise.
83732         * lib/error.h: Likewise.
83733         * lib/euidaccess.c: Likewise.
83734         * lib/exclude.c: Likewise.
83735         * lib/exclude.h: Likewise.
83736         * lib/execute.c: Likewise.
83737         * lib/execute.h: Likewise.
83738         * lib/exitfail.c: Likewise.
83739         * lib/exitfail.h: Likewise.
83740         * lib/expl.c: Likewise.
83741         * lib/fatal-signal.c: Likewise.
83742         * lib/fatal-signal.h: Likewise.
83743         * lib/fbufmode.c: Likewise.
83744         * lib/fbufmode.h: Likewise.
83745         * lib/fchdir.c: Likewise.
83746         * lib/fchmodat.c: Likewise.
83747         * lib/fchownat.c: Likewise.
83748         * lib/fcntl--.h: Likewise.
83749         * lib/fcntl-safer.h: Likewise.
83750         * lib/fcntl.in.h: Likewise.
83751         * lib/fd-safer.c: Likewise.
83752         * lib/fflush.c: Likewise.
83753         * lib/file-has-acl.c: Likewise.
83754         * lib/file-set.c: Likewise.
83755         * lib/file-type.c: Likewise.
83756         * lib/file-type.h: Likewise.
83757         * lib/fileblocks.c: Likewise.
83758         * lib/filemode.c: Likewise.
83759         * lib/filemode.h: Likewise.
83760         * lib/filename.h: Likewise.
83761         * lib/filenamecat.c: Likewise.
83762         * lib/filenamecat.h: Likewise.
83763         * lib/findprog.c: Likewise.
83764         * lib/findprog.h: Likewise.
83765         * lib/float.in.h: Likewise.
83766         * lib/floor.c: Likewise.
83767         * lib/floorf.c: Likewise.
83768         * lib/floorl.c: Likewise.
83769         * lib/fopen-safer.c: Likewise.
83770         * lib/fopen.c: Likewise.
83771         * lib/fpending.c: Likewise.
83772         * lib/fpending.h: Likewise.
83773         * lib/fprintf.c: Likewise.
83774         * lib/fprintftime.h: Likewise.
83775         * lib/fpucw.h: Likewise.
83776         * lib/fpurge.c: Likewise.
83777         * lib/fpurge.h: Likewise.
83778         * lib/freadable.c: Likewise.
83779         * lib/freadable.h: Likewise.
83780         * lib/freadahead.c: Likewise.
83781         * lib/freadahead.h: Likewise.
83782         * lib/freading.c: Likewise.
83783         * lib/freading.h: Likewise.
83784         * lib/free.c: Likewise.
83785         * lib/freopen.c: Likewise.
83786         * lib/frexp.c: Likewise.
83787         * lib/frexpl.c: Likewise.
83788         * lib/fseek.c: Likewise.
83789         * lib/fseterr.c: Likewise.
83790         * lib/fseterr.h: Likewise.
83791         * lib/fstatat.c: Likewise.
83792         * lib/fstrcmp.c: Likewise.
83793         * lib/fstrcmp.h: Likewise.
83794         * lib/fsusage.c: Likewise.
83795         * lib/fsusage.h: Likewise.
83796         * lib/ftell.c: Likewise.
83797         * lib/ftello.c: Likewise.
83798         * lib/fts-cycle.c: Likewise.
83799         * lib/fts.c: Likewise.
83800         * lib/fts_.h: Likewise.
83801         * lib/full-read.c: Likewise.
83802         * lib/full-read.h: Likewise.
83803         * lib/full-write.c: Likewise.
83804         * lib/full-write.h: Likewise.
83805         * lib/fwritable.c: Likewise.
83806         * lib/fwritable.h: Likewise.
83807         * lib/fwriteerror.c: Likewise.
83808         * lib/fwriteerror.h: Likewise.
83809         * lib/fwriting.c: Likewise.
83810         * lib/fwriting.h: Likewise.
83811         * lib/gcd.c: Likewise.
83812         * lib/gcd.h: Likewise.
83813         * lib/getcwd.c: Likewise.
83814         * lib/getdate.h: Likewise.
83815         * lib/getdate.y: Likewise.
83816         * lib/getdomainname.c: Likewise.
83817         * lib/getdomainname.h: Likewise.
83818         * lib/getgroups.c: Likewise.
83819         * lib/gethostname.c: Likewise.
83820         * lib/gethrxtime.c: Likewise.
83821         * lib/gethrxtime.h: Likewise.
83822         * lib/getloadavg.c: Likewise.
83823         * lib/getndelim2.c: Likewise.
83824         * lib/getndelim2.h: Likewise.
83825         * lib/getnline.c: Likewise.
83826         * lib/getnline.h: Likewise.
83827         * lib/getopt.c: Likewise.
83828         * lib/getopt.in.h: Likewise.
83829         * lib/getopt1.c: Likewise.
83830         * lib/getopt_int.h: Likewise.
83831         * lib/getpagesize.h: Likewise.
83832         * lib/getsubopt.c: Likewise.
83833         * lib/gettime.c: Likewise.
83834         * lib/getugroups.c: Likewise.
83835         * lib/getugroups.h: Likewise.
83836         * lib/getusershell.c: Likewise.
83837         * lib/gl_anyavltree_list1.h: Likewise.
83838         * lib/gl_anyavltree_list2.h: Likewise.
83839         * lib/gl_anyhash_list1.h: Likewise.
83840         * lib/gl_anyhash_list2.h: Likewise.
83841         * lib/gl_anylinked_list1.h: Likewise.
83842         * lib/gl_anylinked_list2.h: Likewise.
83843         * lib/gl_anyrbtree_list1.h: Likewise.
83844         * lib/gl_anyrbtree_list2.h: Likewise.
83845         * lib/gl_anytree_list1.h: Likewise.
83846         * lib/gl_anytree_list2.h: Likewise.
83847         * lib/gl_anytree_oset.h: Likewise.
83848         * lib/gl_anytreehash_list1.h: Likewise.
83849         * lib/gl_anytreehash_list2.h: Likewise.
83850         * lib/gl_array_list.c: Likewise.
83851         * lib/gl_array_list.h: Likewise.
83852         * lib/gl_array_oset.c: Likewise.
83853         * lib/gl_array_oset.h: Likewise.
83854         * lib/gl_avltree_list.c: Likewise.
83855         * lib/gl_avltree_list.h: Likewise.
83856         * lib/gl_avltree_oset.c: Likewise.
83857         * lib/gl_avltree_oset.h: Likewise.
83858         * lib/gl_avltreehash_list.c: Likewise.
83859         * lib/gl_avltreehash_list.h: Likewise.
83860         * lib/gl_carray_list.c: Likewise.
83861         * lib/gl_carray_list.h: Likewise.
83862         * lib/gl_linked_list.c: Likewise.
83863         * lib/gl_linked_list.h: Likewise.
83864         * lib/gl_linkedhash_list.c: Likewise.
83865         * lib/gl_linkedhash_list.h: Likewise.
83866         * lib/gl_list.c: Likewise.
83867         * lib/gl_list.h: Likewise.
83868         * lib/gl_oset.c: Likewise.
83869         * lib/gl_oset.h: Likewise.
83870         * lib/gl_rbtree_list.c: Likewise.
83871         * lib/gl_rbtree_list.h: Likewise.
83872         * lib/gl_rbtree_oset.c: Likewise.
83873         * lib/gl_rbtree_oset.h: Likewise.
83874         * lib/gl_rbtreehash_list.c: Likewise.
83875         * lib/gl_rbtreehash_list.h: Likewise.
83876         * lib/gl_sublist.c: Likewise.
83877         * lib/gl_sublist.h: Likewise.
83878         * lib/group-member.c: Likewise.
83879         * lib/group-member.h: Likewise.
83880         * lib/hard-locale.c: Likewise.
83881         * lib/hard-locale.h: Likewise.
83882         * lib/hash-pjw.c: Likewise.
83883         * lib/hash-pjw.h: Likewise.
83884         * lib/hash-triple.c: Likewise.
83885         * lib/hash.c: Likewise.
83886         * lib/hash.h: Likewise.
83887         * lib/human.c: Likewise.
83888         * lib/human.h: Likewise.
83889         * lib/i-ring.c: Likewise.
83890         * lib/i-ring.h: Likewise.
83891         * lib/idcache.c: Likewise.
83892         * lib/imaxabs.c: Likewise.
83893         * lib/imaxdiv.c: Likewise.
83894         * lib/inet_pton.c: Likewise.
83895         * lib/inet_pton.h: Likewise.
83896         * lib/intprops.h: Likewise.
83897         * lib/inttostr.c: Likewise.
83898         * lib/inttostr.h: Likewise.
83899         * lib/inttypes.in.h: Likewise.
83900         * lib/isapipe.c: Likewise.
83901         * lib/isdir.c: Likewise.
83902         * lib/isnan.c: Likewise.
83903         * lib/isnan.h: Likewise.
83904         * lib/isnanf.c: Likewise.
83905         * lib/isnanf.h: Likewise.
83906         * lib/isnanl-nolibm.h: Likewise.
83907         * lib/isnanl.c: Likewise.
83908         * lib/isnanl.h: Likewise.
83909         * lib/javacomp.c: Likewise.
83910         * lib/javacomp.h: Likewise.
83911         * lib/javaexec.c: Likewise.
83912         * lib/javaexec.h: Likewise.
83913         * lib/javaversion.c: Likewise.
83914         * lib/javaversion.h: Likewise.
83915         * lib/javaversion.java: Likewise.
83916         * lib/lbrkprop.h: Likewise.
83917         * lib/lchmod.h: Likewise.
83918         * lib/lchown.c: Likewise.
83919         * lib/ldexpl.c: Likewise.
83920         * lib/linebreak.c: Likewise.
83921         * lib/linebreak.h: Likewise.
83922         * lib/linebuffer.c: Likewise.
83923         * lib/linebuffer.h: Likewise.
83924         * lib/locale.in.h: Likewise.
83925         * lib/logl.c: Likewise.
83926         * lib/long-options.c: Likewise.
83927         * lib/long-options.h: Likewise.
83928         * lib/lstat.c: Likewise.
83929         * lib/lstat.h: Likewise.
83930         * lib/math.in.h: Likewise.
83931         * lib/mbchar.c: Likewise.
83932         * lib/mbchar.h: Likewise.
83933         * lib/mbfile.h: Likewise.
83934         * lib/mbiter.h: Likewise.
83935         * lib/mbscasecmp.c: Likewise.
83936         * lib/mbscasestr.c: Likewise.
83937         * lib/mbschr.c: Likewise.
83938         * lib/mbscspn.c: Likewise.
83939         * lib/mbslen.c: Likewise.
83940         * lib/mbsncasecmp.c: Likewise.
83941         * lib/mbsnlen.c: Likewise.
83942         * lib/mbspbrk.c: Likewise.
83943         * lib/mbspcasecmp.c: Likewise.
83944         * lib/mbsrchr.c: Likewise.
83945         * lib/mbssep.c: Likewise.
83946         * lib/mbsspn.c: Likewise.
83947         * lib/mbsstr.c: Likewise.
83948         * lib/mbstok_r.c: Likewise.
83949         * lib/mbswidth.c: Likewise.
83950         * lib/mbswidth.h: Likewise.
83951         * lib/mbuiter.h: Likewise.
83952         * lib/memcasecmp.c: Likewise.
83953         * lib/memcasecmp.h: Likewise.
83954         * lib/memchr.c: Likewise.
83955         * lib/memcmp.c: Likewise.
83956         * lib/memcoll.c: Likewise.
83957         * lib/memcoll.h: Likewise.
83958         * lib/memcpy.c: Likewise.
83959         * lib/memrchr.c: Likewise.
83960         * lib/mkancesdirs.c: Likewise.
83961         * lib/mkdir-p.c: Likewise.
83962         * lib/mkdir-p.h: Likewise.
83963         * lib/mkdir.c: Likewise.
83964         * lib/mkdirat.c: Likewise.
83965         * lib/mkdtemp.c: Likewise.
83966         * lib/mkstemp-safer.c: Likewise.
83967         * lib/mkstemp.c: Likewise.
83968         * lib/modechange.c: Likewise.
83969         * lib/modechange.h: Likewise.
83970         * lib/mountlist.c: Likewise.
83971         * lib/mountlist.h: Likewise.
83972         * lib/mpsort.c: Likewise.
83973         * lib/nanosleep.c: Likewise.
83974         * lib/obstack.c: Likewise.
83975         * lib/obstack.h: Likewise.
83976         * lib/open-safer.c: Likewise.
83977         * lib/open.c: Likewise.
83978         * lib/openat-die.c: Likewise.
83979         * lib/openat-priv.h: Likewise.
83980         * lib/openat-proc.c: Likewise.
83981         * lib/openat.c: Likewise.
83982         * lib/openat.h: Likewise.
83983         * lib/pagealign_alloc.c: Likewise.
83984         * lib/pagealign_alloc.h: Likewise.
83985         * lib/physmem.c: Likewise.
83986         * lib/physmem.h: Likewise.
83987         * lib/pipe-safer.c: Likewise.
83988         * lib/pipe.c: Likewise.
83989         * lib/pipe.h: Likewise.
83990         * lib/posixtm.c: Likewise.
83991         * lib/posixtm.h: Likewise.
83992         * lib/posixver.c: Likewise.
83993         * lib/printf-frexp.c: Likewise.
83994         * lib/printf-frexp.h: Likewise.
83995         * lib/printf-frexpl.c: Likewise.
83996         * lib/printf-frexpl.h: Likewise.
83997         * lib/printf.c: Likewise.
83998         * lib/progname.c: Likewise.
83999         * lib/progname.h: Likewise.
84000         * lib/progreloc.c: Likewise.
84001         * lib/putenv.c: Likewise.
84002         * lib/quote.c: Likewise.
84003         * lib/quote.h: Likewise.
84004         * lib/quotearg.c: Likewise.
84005         * lib/quotearg.h: Likewise.
84006         * lib/raise.c: Likewise.
84007         * lib/readline.c: Likewise.
84008         * lib/readline.h: Likewise.
84009         * lib/readlink.c: Likewise.
84010         * lib/readtokens.c: Likewise.
84011         * lib/readtokens.h: Likewise.
84012         * lib/readtokens0.c: Likewise.
84013         * lib/readtokens0.h: Likewise.
84014         * lib/readutmp.c: Likewise.
84015         * lib/readutmp.h: Likewise.
84016         * lib/realloc.c: Likewise.
84017         * lib/relocwrapper.c: Likewise.
84018         * lib/rename-dest-slash.c: Likewise.
84019         * lib/rename.c: Likewise.
84020         * lib/rmdir.c: Likewise.
84021         * lib/rpmatch.c: Likewise.
84022         * lib/safe-read.c: Likewise.
84023         * lib/safe-read.h: Likewise.
84024         * lib/safe-write.c: Likewise.
84025         * lib/safe-write.h: Likewise.
84026         * lib/same-inode.h: Likewise.
84027         * lib/same.c: Likewise.
84028         * lib/same.h: Likewise.
84029         * lib/save-cwd.c: Likewise.
84030         * lib/save-cwd.h: Likewise.
84031         * lib/savedir.c: Likewise.
84032         * lib/savedir.h: Likewise.
84033         * lib/savewd.c: Likewise.
84034         * lib/savewd.h: Likewise.
84035         * lib/search.in.h: Likewise.
84036         * lib/setenv.c: Likewise.
84037         * lib/setenv.h: Likewise.
84038         * lib/settime.c: Likewise.
84039         * lib/sh-quote.c: Likewise.
84040         * lib/sh-quote.h: Likewise.
84041         * lib/sig2str.c: Likewise.
84042         * lib/sig2str.h: Likewise.
84043         * lib/signal.in.h: Likewise.
84044         * lib/signbitd.c: Likewise.
84045         * lib/signbitf.c: Likewise.
84046         * lib/signbitl.c: Likewise.
84047         * lib/sigprocmask.c: Likewise.
84048         * lib/sincosl.c: Likewise.
84049         * lib/sleep.c: Likewise.
84050         * lib/sprintf.c: Likewise.
84051         * lib/sqrtl.c: Likewise.
84052         * lib/stat-time.h: Likewise.
84053         * lib/stdio--.h: Likewise.
84054         * lib/stdio-safer.h: Likewise.
84055         * lib/stdlib--.h: Likewise.
84056         * lib/stdlib-safer.h: Likewise.
84057         * lib/stdlib.in.h: Likewise.
84058         * lib/stpcpy.c: Likewise.
84059         * lib/stpncpy.c: Likewise.
84060         * lib/strchrnul.c: Likewise.
84061         * lib/strcspn.c: Likewise.
84062         * lib/strerror.c: Likewise.
84063         * lib/strftime.c: Likewise.
84064         * lib/strftime.h: Likewise.
84065         * lib/striconveh.c: Likewise.
84066         * lib/striconveh.h: Likewise.
84067         * lib/striconveha.c: Likewise.
84068         * lib/striconveha.h: Likewise.
84069         * lib/stripslash.c: Likewise.
84070         * lib/strnlen1.c: Likewise.
84071         * lib/strnlen1.h: Likewise.
84072         * lib/strtod.c: Likewise.
84073         * lib/strtoimax.c: Likewise.
84074         * lib/strtok_r.c: Likewise.
84075         * lib/strtol.c: Likewise.
84076         * lib/strtoll.c: Likewise.
84077         * lib/strtoul.c: Likewise.
84078         * lib/strtoull.c: Likewise.
84079         * lib/sysexits.in.h: Likewise.
84080         * lib/tempname.c: Likewise.
84081         * lib/tempname.h: Likewise.
84082         * lib/timespec.h: Likewise.
84083         * lib/tls.c: Likewise.
84084         * lib/tls.h: Likewise.
84085         * lib/tmpdir.c: Likewise.
84086         * lib/tmpdir.h: Likewise.
84087         * lib/tmpfile-safer.c: Likewise.
84088         * lib/tmpfile.c: Likewise.
84089         * lib/trigl.c: Likewise.
84090         * lib/trigl.h: Likewise.
84091         * lib/trim.c: Likewise.
84092         * lib/trim.h: Likewise.
84093         * lib/trunc.c: Likewise.
84094         * lib/truncf.c: Likewise.
84095         * lib/truncl.c: Likewise.
84096         * lib/tsearch.c: Likewise.
84097         * lib/unicodeio.c: Likewise.
84098         * lib/unicodeio.h: Likewise.
84099         * lib/unistd--.h: Likewise.
84100         * lib/unistd-safer.h: Likewise.
84101         * lib/unistdio/ulc-fprintf.c: Likewise.
84102         * lib/unistdio/ulc-vfprintf.c: Likewise.
84103         * lib/unlinkdir.c: Likewise.
84104         * lib/unlinkdir.h: Likewise.
84105         * lib/unlocked-io.h: Likewise.
84106         * lib/unsetenv.c: Likewise.
84107         * lib/userspec.c: Likewise.
84108         * lib/utime.c: Likewise.
84109         * lib/utimecmp.c: Likewise.
84110         * lib/utimecmp.h: Likewise.
84111         * lib/utimens.c: Likewise.
84112         * lib/verify.h: Likewise.
84113         * lib/verror.c: Likewise.
84114         * lib/verror.h: Likewise.
84115         * lib/version-etc-fsf.c: Likewise.
84116         * lib/version-etc.c: Likewise.
84117         * lib/version-etc.h: Likewise.
84118         * lib/vfprintf.c: Likewise.
84119         * lib/vprintf.c: Likewise.
84120         * lib/vsprintf.c: Likewise.
84121         * lib/w32spawn.h: Likewise.
84122         * lib/wait-process.c: Likewise.
84123         * lib/wait-process.h: Likewise.
84124         * lib/wcwidth.c: Likewise.
84125         * lib/write-any-file.c: Likewise.
84126         * lib/xalloc-die.c: Likewise.
84127         * lib/xalloc.h: Likewise.
84128         * lib/xasprintf.c: Likewise.
84129         * lib/xgetcwd.c: Likewise.
84130         * lib/xgetcwd.h: Likewise.
84131         * lib/xgetdomainname.c: Likewise.
84132         * lib/xgetdomainname.h: Likewise.
84133         * lib/xgethostname.c: Likewise.
84134         * lib/xmalloc.c: Likewise.
84135         * lib/xmalloca.c: Likewise.
84136         * lib/xmalloca.h: Likewise.
84137         * lib/xmemcoll.c: Likewise.
84138         * lib/xnanosleep.c: Likewise.
84139         * lib/xreadlink.c: Likewise.
84140         * lib/xreadlink.h: Likewise.
84141         * lib/xsetenv.c: Likewise.
84142         * lib/xsetenv.h: Likewise.
84143         * lib/xstriconv.c: Likewise.
84144         * lib/xstriconv.h: Likewise.
84145         * lib/xstrndup.c: Likewise.
84146         * lib/xstrndup.h: Likewise.
84147         * lib/xstrtod.c: Likewise.
84148         * lib/xstrtod.h: Likewise.
84149         * lib/xstrtol-error.c: Likewise.
84150         * lib/xstrtol.c: Likewise.
84151         * lib/xstrtol.h: Likewise.
84152         * lib/xtime.h: Likewise.
84153         * lib/xvasprintf.c: Likewise.
84154         * lib/xvasprintf.h: Likewise.
84155         * lib/yesno.c: Likewise.
84156         * lib/yesno.h: Likewise.
84157         * posix-modules: Likewise.
84158         * tests/test-alloca-opt.c: Likewise.
84159         * tests/test-arcfour.c: Likewise.
84160         * tests/test-arctwo.c: Likewise.
84161         * tests/test-argmatch.c: Likewise.
84162         * tests/test-argp-2.sh: Likewise.
84163         * tests/test-argp.c: Likewise.
84164         * tests/test-arpa_inet.c: Likewise.
84165         * tests/test-array_list.c: Likewise.
84166         * tests/test-array_oset.c: Likewise.
84167         * tests/test-atexit.c: Likewise.
84168         * tests/test-avltree_list.c: Likewise.
84169         * tests/test-avltree_oset.c: Likewise.
84170         * tests/test-avltreehash_list.c: Likewise.
84171         * tests/test-base64.c: Likewise.
84172         * tests/test-binary-io.c: Likewise.
84173         * tests/test-byteswap.c: Likewise.
84174         * tests/test-c-ctype.c: Likewise.
84175         * tests/test-c-strcasecmp.c: Likewise.
84176         * tests/test-c-strcasestr.c: Likewise.
84177         * tests/test-c-strncasecmp.c: Likewise.
84178         * tests/test-c-strstr.c: Likewise.
84179         * tests/test-canonicalize-lgpl.c: Likewise.
84180         * tests/test-canonicalize.c: Likewise.
84181         * tests/test-carray_list.c: Likewise.
84182         * tests/test-ceilf.c: Likewise.
84183         * tests/test-ceill.c: Likewise.
84184         * tests/test-count-one-bits.c: Likewise.
84185         * tests/test-crc.c: Likewise.
84186         * tests/test-dirname.c: Likewise.
84187         * tests/test-fbufmode.c: Likewise.
84188         * tests/test-fcntl.c: Likewise.
84189         * tests/test-fflush.c: Likewise.
84190         * tests/test-floorf.c: Likewise.
84191         * tests/test-floorl.c: Likewise.
84192         * tests/test-fopen.c: Likewise.
84193         * tests/test-fprintf-posix.c: Likewise.
84194         * tests/test-fprintf-posix.h: Likewise.
84195         * tests/test-fpurge.c: Likewise.
84196         * tests/test-freadable.c: Likewise.
84197         * tests/test-freadahead.c: Likewise.
84198         * tests/test-freading.c: Likewise.
84199         * tests/test-freopen.c: Likewise.
84200         * tests/test-frexp.c: Likewise.
84201         * tests/test-frexpl.c: Likewise.
84202         * tests/test-fseek.c: Likewise.
84203         * tests/test-fseeko.c: Likewise.
84204         * tests/test-fseterr.c: Likewise.
84205         * tests/test-fstrcmp.c: Likewise.
84206         * tests/test-ftell.c: Likewise.
84207         * tests/test-ftello.c: Likewise.
84208         * tests/test-fwritable.c: Likewise.
84209         * tests/test-fwriting.c: Likewise.
84210         * tests/test-getaddrinfo.c: Likewise.
84211         * tests/test-getpass.c: Likewise.
84212         * tests/test-gettimeofday.c: Likewise.
84213         * tests/test-hmac-md5.c: Likewise.
84214         * tests/test-hmac-sha1.c: Likewise.
84215         * tests/test-iconv.c: Likewise.
84216         * tests/test-iconvme.c: Likewise.
84217         * tests/test-inttypes.c: Likewise.
84218         * tests/test-isnan.c: Likewise.
84219         * tests/test-isnanf.c: Likewise.
84220         * tests/test-isnanl-nolibm.c: Likewise.
84221         * tests/test-isnanl.c: Likewise.
84222         * tests/test-isnanl.h: Likewise.
84223         * tests/test-ldexpl.c: Likewise.
84224         * tests/test-linked_list.c: Likewise.
84225         * tests/test-linkedhash_list.c: Likewise.
84226         * tests/test-locale.c: Likewise.
84227         * tests/test-localename.c: Likewise.
84228         * tests/test-lock.c: Likewise.
84229         * tests/test-lseek.c: Likewise.
84230         * tests/test-malloca.c: Likewise.
84231         * tests/test-math.c: Likewise.
84232         * tests/test-mbscasecmp.c: Likewise.
84233         * tests/test-mbscasestr1.c: Likewise.
84234         * tests/test-mbscasestr2.c: Likewise.
84235         * tests/test-mbscasestr3.c: Likewise.
84236         * tests/test-mbscasestr4.c: Likewise.
84237         * tests/test-mbschr.c: Likewise.
84238         * tests/test-mbscspn.c: Likewise.
84239         * tests/test-mbsncasecmp.c: Likewise.
84240         * tests/test-mbspbrk.c: Likewise.
84241         * tests/test-mbspcasecmp.c: Likewise.
84242         * tests/test-mbsrchr.c: Likewise.
84243         * tests/test-mbsspn.c: Likewise.
84244         * tests/test-mbsstr1.c: Likewise.
84245         * tests/test-mbsstr2.c: Likewise.
84246         * tests/test-mbsstr3.c: Likewise.
84247         * tests/test-md5.c: Likewise.
84248         * tests/test-memmem.c: Likewise.
84249         * tests/test-netinet_in.c: Likewise.
84250         * tests/test-open.c: Likewise.
84251         * tests/test-printf-frexp.c: Likewise.
84252         * tests/test-printf-frexpl.c: Likewise.
84253         * tests/test-printf-posix.c: Likewise.
84254         * tests/test-printf-posix.h: Likewise.
84255         * tests/test-rbtree_list.c: Likewise.
84256         * tests/test-rbtree_oset.c: Likewise.
84257         * tests/test-rbtreehash_list.c: Likewise.
84258         * tests/test-read-file.c: Likewise.
84259         * tests/test-rijndael.c: Likewise.
84260         * tests/test-search.c: Likewise.
84261         * tests/test-signbit.c: Likewise.
84262         * tests/test-sleep.c: Likewise.
84263         * tests/test-snprintf-posix.c: Likewise.
84264         * tests/test-snprintf-posix.h: Likewise.
84265         * tests/test-snprintf.c: Likewise.
84266         * tests/test-sprintf-posix.c: Likewise.
84267         * tests/test-sprintf-posix.h: Likewise.
84268         * tests/test-stat-time.c: Likewise.
84269         * tests/test-stdbool.c: Likewise.
84270         * tests/test-stdint.c: Likewise.
84271         * tests/test-stdio.c: Likewise.
84272         * tests/test-stdlib.c: Likewise.
84273         * tests/test-stpncpy.c: Likewise.
84274         * tests/test-strcasestr.c: Likewise.
84275         * tests/test-striconv.c: Likewise.
84276         * tests/test-striconveh.c: Likewise.
84277         * tests/test-striconveha.c: Likewise.
84278         * tests/test-string.c: Likewise.
84279         * tests/test-sys_select.c: Likewise.
84280         * tests/test-sys_socket.c: Likewise.
84281         * tests/test-sys_stat.c: Likewise.
84282         * tests/test-sys_time.c: Likewise.
84283         * tests/test-sysexits.c: Likewise.
84284         * tests/test-time.c: Likewise.
84285         * tests/test-tls.c: Likewise.
84286         * tests/test-trunc.c: Likewise.
84287         * tests/test-truncf.c: Likewise.
84288         * tests/test-truncl.c: Likewise.
84289         * tests/test-unistd.c: Likewise.
84290         * tests/test-vasnprintf-posix.c: Likewise.
84291         * tests/test-vasnprintf-posix2.c: Likewise.
84292         * tests/test-vasnprintf.c: Likewise.
84293         * tests/test-vasprintf-posix.c: Likewise.
84294         * tests/test-vasprintf.c: Likewise.
84295         * tests/test-verify.c: Likewise.
84296         * tests/test-vfprintf-posix.c: Likewise.
84297         * tests/test-vprintf-posix.c: Likewise.
84298         * tests/test-vsnprintf-posix.c: Likewise.
84299         * tests/test-vsnprintf.c: Likewise.
84300         * tests/test-vsprintf-posix.c: Likewise.
84301         * tests/test-wchar.c: Likewise.
84302         * tests/test-wctype.c: Likewise.
84303         * tests/test-wcwidth.c: Likewise.
84304         * tests/test-xstrtol.c: Likewise.
84305         * tests/test-xvasprintf.c: Likewise.
84306         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
84307         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
84308         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
84309         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
84310         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
84311         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
84312         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
84313         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
84314         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
84315         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
84316         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
84317         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
84318         * tests/uniname/test-uninames.c: Likewise.
84319         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
84320         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
84321         * tests/unistdio/test-u16-printf1.h: Likewise.
84322         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
84323         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
84324         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
84325         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
84326         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
84327         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
84328         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
84329         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
84330         * tests/unistdio/test-u32-printf1.h: Likewise.
84331         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
84332         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
84333         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
84334         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
84335         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
84336         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
84337         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
84338         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
84339         * tests/unistdio/test-u8-printf1.h: Likewise.
84340         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
84341         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
84342         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
84343         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
84344         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
84345         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
84346         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
84347         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
84348         * tests/unistdio/test-ulc-printf1.h: Likewise.
84349         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
84350         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
84351         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
84352         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
84353         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
84354         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
84355         * tests/uniwidth/test-u16-strwidth.c: Likewise.
84356         * tests/uniwidth/test-u16-width.c: Likewise.
84357         * tests/uniwidth/test-u32-strwidth.c: Likewise.
84358         * tests/uniwidth/test-u32-width.c: Likewise.
84359         * tests/uniwidth/test-u8-strwidth.c: Likewise.
84360         * tests/uniwidth/test-u8-width.c: Likewise.
84361         * tests/uniwidth/test-uc_width.c: Likewise.
84362         * config/srclist-update: Likewise.
84363         (fixlicense): Update to GPLv3+.
84365         Change copyright notice from LGPLv2.1+ to LGPLv3+.
84366         * tests/test-tsearch.c: Change copyright notice.
84368         Change copyright notice from LGPLv2.0+ to LGPLv3+.
84369         * lib/c-strcaseeq.h: Change copyright notice.
84370         * lib/streq.h: Likewise.
84371         * lib/uniconv.h: Likewise.
84372         * lib/uniconv/u-conv-from-enc.h: Likewise.
84373         * lib/uniconv/u-conv-to-enc.h: Likewise.
84374         * lib/uniconv/u-strconv-from-enc.h: Likewise.
84375         * lib/uniconv/u-strconv-to-enc.h: Likewise.
84376         * lib/uniconv/u16-conv-from-enc.c: Likewise.
84377         * lib/uniconv/u16-conv-to-enc.c: Likewise.
84378         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
84379         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
84380         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
84381         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
84382         * lib/uniconv/u32-conv-from-enc.c: Likewise.
84383         * lib/uniconv/u32-conv-to-enc.c: Likewise.
84384         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
84385         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
84386         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
84387         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
84388         * lib/uniconv/u8-conv-from-enc.c: Likewise.
84389         * lib/uniconv/u8-conv-to-enc.c: Likewise.
84390         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
84391         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
84392         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
84393         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
84394         * lib/uniname.h: Likewise.
84395         * lib/uniname/uniname.c: Likewise.
84396         * lib/unistdio.h: Likewise.
84397         * lib/unistdio/u-asnprintf.h: Likewise.
84398         * lib/unistdio/u-asprintf.h: Likewise.
84399         * lib/unistdio/u-printf-args.c: Likewise.
84400         * lib/unistdio/u-printf-args.h: Likewise.
84401         * lib/unistdio/u-printf-parse.h: Likewise.
84402         * lib/unistdio/u-snprintf.h: Likewise.
84403         * lib/unistdio/u-sprintf.h: Likewise.
84404         * lib/unistdio/u-vasprintf.h: Likewise.
84405         * lib/unistdio/u-vsnprintf.h: Likewise.
84406         * lib/unistdio/u-vsprintf.h: Likewise.
84407         * lib/unistdio/u16-asnprintf.c: Likewise.
84408         * lib/unistdio/u16-asprintf.c: Likewise.
84409         * lib/unistdio/u16-printf-parse.c: Likewise.
84410         * lib/unistdio/u16-snprintf.c: Likewise.
84411         * lib/unistdio/u16-sprintf.c: Likewise.
84412         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
84413         * lib/unistdio/u16-u16-asprintf.c: Likewise.
84414         * lib/unistdio/u16-u16-snprintf.c: Likewise.
84415         * lib/unistdio/u16-u16-sprintf.c: Likewise.
84416         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
84417         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
84418         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
84419         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
84420         * lib/unistdio/u16-vasnprintf.c: Likewise.
84421         * lib/unistdio/u16-vasprintf.c: Likewise.
84422         * lib/unistdio/u16-vsnprintf.c: Likewise.
84423         * lib/unistdio/u16-vsprintf.c: Likewise.
84424         * lib/unistdio/u32-asnprintf.c: Likewise.
84425         * lib/unistdio/u32-asprintf.c: Likewise.
84426         * lib/unistdio/u32-printf-parse.c: Likewise.
84427         * lib/unistdio/u32-snprintf.c: Likewise.
84428         * lib/unistdio/u32-sprintf.c: Likewise.
84429         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
84430         * lib/unistdio/u32-u32-asprintf.c: Likewise.
84431         * lib/unistdio/u32-u32-snprintf.c: Likewise.
84432         * lib/unistdio/u32-u32-sprintf.c: Likewise.
84433         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
84434         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
84435         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
84436         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
84437         * lib/unistdio/u32-vasnprintf.c: Likewise.
84438         * lib/unistdio/u32-vasprintf.c: Likewise.
84439         * lib/unistdio/u32-vsnprintf.c: Likewise.
84440         * lib/unistdio/u32-vsprintf.c: Likewise.
84441         * lib/unistdio/u8-asnprintf.c: Likewise.
84442         * lib/unistdio/u8-asprintf.c: Likewise.
84443         * lib/unistdio/u8-printf-parse.c: Likewise.
84444         * lib/unistdio/u8-snprintf.c: Likewise.
84445         * lib/unistdio/u8-sprintf.c: Likewise.
84446         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
84447         * lib/unistdio/u8-u8-asprintf.c: Likewise.
84448         * lib/unistdio/u8-u8-snprintf.c: Likewise.
84449         * lib/unistdio/u8-u8-sprintf.c: Likewise.
84450         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
84451         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
84452         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
84453         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
84454         * lib/unistdio/u8-vasnprintf.c: Likewise.
84455         * lib/unistdio/u8-vasprintf.c: Likewise.
84456         * lib/unistdio/u8-vsnprintf.c: Likewise.
84457         * lib/unistdio/u8-vsprintf.c: Likewise.
84458         * lib/unistdio/ulc-asnprintf.c: Likewise.
84459         * lib/unistdio/ulc-asprintf.c: Likewise.
84460         * lib/unistdio/ulc-printf-parse.c: Likewise.
84461         * lib/unistdio/ulc-snprintf.c: Likewise.
84462         * lib/unistdio/ulc-sprintf.c: Likewise.
84463         * lib/unistdio/ulc-vasnprintf.c: Likewise.
84464         * lib/unistdio/ulc-vasprintf.c: Likewise.
84465         * lib/unistdio/ulc-vsnprintf.c: Likewise.
84466         * lib/unistdio/ulc-vsprintf.c: Likewise.
84467         * lib/unistr.h: Likewise.
84468         * lib/unistr/u-cpy-alloc.h: Likewise.
84469         * lib/unistr/u-cpy.h: Likewise.
84470         * lib/unistr/u-endswith.h: Likewise.
84471         * lib/unistr/u-move.h: Likewise.
84472         * lib/unistr/u-set.h: Likewise.
84473         * lib/unistr/u-startswith.h: Likewise.
84474         * lib/unistr/u-stpcpy.h: Likewise.
84475         * lib/unistr/u-stpncpy.h: Likewise.
84476         * lib/unistr/u-strcat.h: Likewise.
84477         * lib/unistr/u-strcpy.h: Likewise.
84478         * lib/unistr/u-strcspn.h: Likewise.
84479         * lib/unistr/u-strdup.h: Likewise.
84480         * lib/unistr/u-strlen.h: Likewise.
84481         * lib/unistr/u-strncat.h: Likewise.
84482         * lib/unistr/u-strncpy.h: Likewise.
84483         * lib/unistr/u-strnlen.h: Likewise.
84484         * lib/unistr/u-strpbrk.h: Likewise.
84485         * lib/unistr/u-strspn.h: Likewise.
84486         * lib/unistr/u-strstr.h: Likewise.
84487         * lib/unistr/u-strtok.h: Likewise.
84488         * lib/unistr/u16-check.c: Likewise.
84489         * lib/unistr/u16-chr.c: Likewise.
84490         * lib/unistr/u16-cmp.c: Likewise.
84491         * lib/unistr/u16-cpy-alloc.c: Likewise.
84492         * lib/unistr/u16-cpy.c: Likewise.
84493         * lib/unistr/u16-endswith.c: Likewise.
84494         * lib/unistr/u16-mblen.c: Likewise.
84495         * lib/unistr/u16-mbsnlen.c: Likewise.
84496         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84497         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84498         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84499         * lib/unistr/u16-mbtouc.c: Likewise.
84500         * lib/unistr/u16-mbtoucr.c: Likewise.
84501         * lib/unistr/u16-move.c: Likewise.
84502         * lib/unistr/u16-next.c: Likewise.
84503         * lib/unistr/u16-prev.c: Likewise.
84504         * lib/unistr/u16-set.c: Likewise.
84505         * lib/unistr/u16-startswith.c: Likewise.
84506         * lib/unistr/u16-stpcpy.c: Likewise.
84507         * lib/unistr/u16-stpncpy.c: Likewise.
84508         * lib/unistr/u16-strcat.c: Likewise.
84509         * lib/unistr/u16-strchr.c: Likewise.
84510         * lib/unistr/u16-strcmp.c: Likewise.
84511         * lib/unistr/u16-strcpy.c: Likewise.
84512         * lib/unistr/u16-strcspn.c: Likewise.
84513         * lib/unistr/u16-strdup.c: Likewise.
84514         * lib/unistr/u16-strlen.c: Likewise.
84515         * lib/unistr/u16-strmblen.c: Likewise.
84516         * lib/unistr/u16-strmbtouc.c: Likewise.
84517         * lib/unistr/u16-strncat.c: Likewise.
84518         * lib/unistr/u16-strncmp.c: Likewise.
84519         * lib/unistr/u16-strncpy.c: Likewise.
84520         * lib/unistr/u16-strnlen.c: Likewise.
84521         * lib/unistr/u16-strpbrk.c: Likewise.
84522         * lib/unistr/u16-strrchr.c: Likewise.
84523         * lib/unistr/u16-strspn.c: Likewise.
84524         * lib/unistr/u16-strstr.c: Likewise.
84525         * lib/unistr/u16-strtok.c: Likewise.
84526         * lib/unistr/u16-to-u32.c: Likewise.
84527         * lib/unistr/u16-to-u8.c: Likewise.
84528         * lib/unistr/u16-uctomb-aux.c: Likewise.
84529         * lib/unistr/u16-uctomb.c: Likewise.
84530         * lib/unistr/u32-check.c: Likewise.
84531         * lib/unistr/u32-chr.c: Likewise.
84532         * lib/unistr/u32-cmp.c: Likewise.
84533         * lib/unistr/u32-cpy-alloc.c: Likewise.
84534         * lib/unistr/u32-cpy.c: Likewise.
84535         * lib/unistr/u32-endswith.c: Likewise.
84536         * lib/unistr/u32-mblen.c: Likewise.
84537         * lib/unistr/u32-mbsnlen.c: Likewise.
84538         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84539         * lib/unistr/u32-mbtouc.c: Likewise.
84540         * lib/unistr/u32-mbtoucr.c: Likewise.
84541         * lib/unistr/u32-move.c: Likewise.
84542         * lib/unistr/u32-next.c: Likewise.
84543         * lib/unistr/u32-prev.c: Likewise.
84544         * lib/unistr/u32-set.c: Likewise.
84545         * lib/unistr/u32-startswith.c: Likewise.
84546         * lib/unistr/u32-stpcpy.c: Likewise.
84547         * lib/unistr/u32-stpncpy.c: Likewise.
84548         * lib/unistr/u32-strcat.c: Likewise.
84549         * lib/unistr/u32-strchr.c: Likewise.
84550         * lib/unistr/u32-strcmp.c: Likewise.
84551         * lib/unistr/u32-strcpy.c: Likewise.
84552         * lib/unistr/u32-strcspn.c: Likewise.
84553         * lib/unistr/u32-strdup.c: Likewise.
84554         * lib/unistr/u32-strlen.c: Likewise.
84555         * lib/unistr/u32-strmblen.c: Likewise.
84556         * lib/unistr/u32-strmbtouc.c: Likewise.
84557         * lib/unistr/u32-strncat.c: Likewise.
84558         * lib/unistr/u32-strncmp.c: Likewise.
84559         * lib/unistr/u32-strncpy.c: Likewise.
84560         * lib/unistr/u32-strnlen.c: Likewise.
84561         * lib/unistr/u32-strpbrk.c: Likewise.
84562         * lib/unistr/u32-strrchr.c: Likewise.
84563         * lib/unistr/u32-strspn.c: Likewise.
84564         * lib/unistr/u32-strstr.c: Likewise.
84565         * lib/unistr/u32-strtok.c: Likewise.
84566         * lib/unistr/u32-to-u16.c: Likewise.
84567         * lib/unistr/u32-to-u8.c: Likewise.
84568         * lib/unistr/u32-uctomb.c: Likewise.
84569         * lib/unistr/u8-check.c: Likewise.
84570         * lib/unistr/u8-chr.c: Likewise.
84571         * lib/unistr/u8-cmp.c: Likewise.
84572         * lib/unistr/u8-cpy-alloc.c: Likewise.
84573         * lib/unistr/u8-cpy.c: Likewise.
84574         * lib/unistr/u8-endswith.c: Likewise.
84575         * lib/unistr/u8-mblen.c: Likewise.
84576         * lib/unistr/u8-mbsnlen.c: Likewise.
84577         * lib/unistr/u8-mbtouc-aux.c: Likewise.
84578         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84579         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84580         * lib/unistr/u8-mbtouc.c: Likewise.
84581         * lib/unistr/u8-mbtoucr.c: Likewise.
84582         * lib/unistr/u8-move.c: Likewise.
84583         * lib/unistr/u8-next.c: Likewise.
84584         * lib/unistr/u8-prev.c: Likewise.
84585         * lib/unistr/u8-set.c: Likewise.
84586         * lib/unistr/u8-startswith.c: Likewise.
84587         * lib/unistr/u8-stpcpy.c: Likewise.
84588         * lib/unistr/u8-stpncpy.c: Likewise.
84589         * lib/unistr/u8-strcat.c: Likewise.
84590         * lib/unistr/u8-strchr.c: Likewise.
84591         * lib/unistr/u8-strcmp.c: Likewise.
84592         * lib/unistr/u8-strcpy.c: Likewise.
84593         * lib/unistr/u8-strcspn.c: Likewise.
84594         * lib/unistr/u8-strdup.c: Likewise.
84595         * lib/unistr/u8-strlen.c: Likewise.
84596         * lib/unistr/u8-strmblen.c: Likewise.
84597         * lib/unistr/u8-strmbtouc.c: Likewise.
84598         * lib/unistr/u8-strncat.c: Likewise.
84599         * lib/unistr/u8-strncmp.c: Likewise.
84600         * lib/unistr/u8-strncpy.c: Likewise.
84601         * lib/unistr/u8-strnlen.c: Likewise.
84602         * lib/unistr/u8-strpbrk.c: Likewise.
84603         * lib/unistr/u8-strrchr.c: Likewise.
84604         * lib/unistr/u8-strspn.c: Likewise.
84605         * lib/unistr/u8-strstr.c: Likewise.
84606         * lib/unistr/u8-strtok.c: Likewise.
84607         * lib/unistr/u8-to-u16.c: Likewise.
84608         * lib/unistr/u8-to-u32.c: Likewise.
84609         * lib/unistr/u8-uctomb-aux.c: Likewise.
84610         * lib/unistr/u8-uctomb.c: Likewise.
84611         * lib/unitypes.h: Likewise.
84612         * lib/uniwidth.h: Likewise.
84613         * lib/uniwidth/cjk.h: Likewise.
84614         * lib/uniwidth/u16-strwidth.c: Likewise.
84615         * lib/uniwidth/u16-width.c: Likewise.
84616         * lib/uniwidth/u32-strwidth.c: Likewise.
84617         * lib/uniwidth/u32-width.c: Likewise.
84618         * lib/uniwidth/u8-strwidth.c: Likewise.
84619         * lib/uniwidth/u8-width.c: Likewise.
84620         * lib/uniwidth/width.c: Likewise.
84622 2007-10-07  Bruno Haible  <bruno@clisp.org>
84624         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
84625         The file is still under LGPL (see modules/inttypes).
84627 2007-10-06  Bruno Haible  <bruno@clisp.org>
84629         * modules/trunc (Dependencies): Add 'extensions'.
84630         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
84631         Reported by Ben Pfaff <blp@gnu.org>.
84633 2007-10-06  Bruno Haible  <bruno@clisp.org>
84635         * modules/freopen-tests: New file.
84636         * tests/test-freopen.c: New file.
84638         * modules/fopen-tests: New file.
84639         * tests/test-fopen.c: New file.
84641         * modules/fopen: New file.
84642         * lib/fopen.c: New file.
84643         * m4/fopen.m4: New file.
84644         * modules/freopen: New file.
84645         * lib/freopen.c: New file.
84646         * m4/freopen.m4: New file.
84647         * lib/stdio.in.h (fopen, freopen): New declarations.
84648         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
84649         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84650         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
84651         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84652         * doc/functions/fopen.texi: Mention the 'fopen' module.
84653         * doc/functions/freopen.texi: Mention the 'freopen' module.
84655 2007-10-06  Bruno Haible  <bruno@clisp.org>
84657         * modules/open-tests: New file.
84658         * tests/test-open.c: New file.
84660         * modules/open: New file.
84661         * lib/open.c: New file.
84662         * m4/open.m4: New file.
84663         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
84664         lib/open.c does.
84665         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
84666         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
84667         macros.
84668         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
84669         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
84670         REPLACE_OPEN.
84671         * doc/functions/open.texi: Mention the 'open' module.
84673 2007-10-04  Bruno Haible  <bruno@clisp.org>
84675         * modules/ceill-tests: New file.
84676         * tests/test-ceill.c: New file.
84678         * modules/ceill: New file.
84679         * lib/ceill.c: Replace entire file.
84680         * m4/ceill.m4: New file.
84681         * lib/math.in.h (ceill): Replace declaration.
84682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
84683         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
84684         * doc/functions/ceill.texi: Mention the 'ceill' module.
84685         * modules/mathl (Files): Remove lib/ceill.c.
84686         (Depends-on): Add ceill.
84688 2007-10-04  Bruno Haible  <bruno@clisp.org>
84690         * modules/ceilf-tests: New file.
84691         * tests/test-ceilf.c: New file.
84693         * modules/ceilf: New file.
84694         * lib/ceil.c: New file.
84695         * lib/ceilf.c: New file.
84696         * m4/ceilf.m4: New file.
84697         * lib/math.in.h (ceilf): New declaration.
84698         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
84699         HAVE_DECL_CEILF.
84700         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
84701         HAVE_DECL_CEILF.
84702         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
84704 2007-10-04  Bruno Haible  <bruno@clisp.org>
84706         * modules/floorl-tests: New file.
84707         * tests/test-floorl.c: New file.
84709         * modules/floorl: New file.
84710         * lib/floorl.c: Replace entire file.
84711         * m4/floorl.m4: New file.
84712         * lib/math.in.h (floorl): Replace declaration.
84713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
84714         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
84715         * doc/functions/floorl.texi: Mention the 'floorl' module.
84716         * modules/mathl (Files): Remove lib/floorl.c.
84717         (Depends-on): Add floorl.
84719 2007-10-04  Bruno Haible  <bruno@clisp.org>
84721         * modules/floorf-tests: New file.
84722         * tests/test-floorf.c: New file.
84724         * modules/floorf: New file.
84725         * lib/floor.c: New file.
84726         * lib/floorf.c: New file.
84727         * m4/floorf.m4: New file.
84728         * lib/math.in.h (floorf): New declaration.
84729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
84730         HAVE_DECL_FLOORF.
84731         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
84732         HAVE_DECL_FLOORF.
84733         * doc/functions/floorf.texi: Mention the 'floorf' module.
84735 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
84736             Bruno Haible  <bruno@clisp.org>
84738         Advertise for the Git server instead of the CVS server.
84739         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84740         repository instead of the CVS one.
84741         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84742         about all VCS systems generically.
84743         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84745 2007-10-04  Bruno Haible  <bruno@clisp.org>
84747         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84748         means.
84749         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84751 2007-10-04  Bruno Haible  <bruno@clisp.org>
84753         * modules/truncl-tests: New file.
84754         * tests/test-truncl.c: New file.
84756         * modules/truncl: New file.
84757         * lib/truncl.c: New file.
84758         * m4/truncl.m4: New file.
84759         * lib/math.in.h (truncl): New declaration.
84760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84761         HAVE_DECL_TRUNCL.
84762         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84763         HAVE_DECL_TRUNCL.
84764         * doc/functions/truncl.texi: Mention the 'truncl' module.
84766 2007-10-04  Bruno Haible  <bruno@clisp.org>
84768         * modules/truncf-tests: New file.
84769         * tests/test-truncf.c: New file.
84771         * modules/truncf: New file.
84772         * lib/trunc.c: Make paramerizable through USE_* macros.
84773         * lib/truncf.c: New file.
84774         * m4/truncf.m4: New file.
84775         * lib/math.in.h (truncf): New declaration.
84776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84777         HAVE_DECL_TRUNCF.
84778         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84779         HAVE_DECL_TRUNCF.
84780         * doc/functions/truncf.texi: Mention the 'truncf' module.
84782 2007-10-03  Bruno Haible  <bruno@clisp.org>
84784         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84785         augmentation also for tests modules.
84786         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84787         * modules/atexit-tests (Makefile.am): Likewise.
84788         * modules/binary-io-tests (Makefile.am): Likewise.
84789         * modules/c-strcase-tests (Makefile.am): Likewise.
84790         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84791         * modules/canonicalize-tests (Makefile.am): Likewise.
84792         * modules/closein-tests (Makefile.am): Likewise.
84793         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84794         * modules/freadahead-tests (Makefile.am): Likewise.
84795         * modules/fseek-tests (Makefile.am): Likewise.
84796         * modules/fseeko-tests (Makefile.am): Likewise.
84797         * modules/ftell-tests (Makefile.am): Likewise.
84798         * modules/ftello-tests (Makefile.am): Likewise.
84799         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84800         * modules/isnanl-tests (Makefile.am): Likewise.
84801         * modules/lseek-tests (Makefile.am): Likewise.
84802         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84803         * modules/mbscasestr-tests (Makefile.am): Likewise.
84804         * modules/mbschr-tests (Makefile.am): Likewise.
84805         * modules/mbscspn-tests (Makefile.am): Likewise.
84806         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84807         * modules/mbspbrk-tests (Makefile.am): Likewise.
84808         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84809         * modules/mbsrchr-tests (Makefile.am): Likewise.
84810         * modules/mbsspn-tests (Makefile.am): Likewise.
84811         * modules/mbsstr-tests (Makefile.am): Likewise.
84812         * modules/printf-posix-tests (Makefile.am): Likewise.
84813         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84814         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84815         * modules/tsearch-tests (Makefile.am): Likewise.
84816         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84817         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84818         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84819         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84820         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84821         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84822         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84823         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84824         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84825         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84826         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84827         * modules/xstrtol-tests (Makefile.am): Likewise.
84828         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84829         * modules/yesno-tests (Makefile.am): Likewise.
84831 2007-10-03  Bruno Haible  <bruno@clisp.org>
84833         * modules/trunc-tests: New file.
84834         * tests/test-trunc.c: New file.
84836         * modules/trunc: New file.
84837         * lib/trunc.c: New file.
84838         * m4/trunc.m4: New file.
84839         * lib/math.in.h (trunc): New declaration.
84840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84841         HAVE_DECL_TRUNC.
84842         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84843         HAVE_DECL_TRUNC.
84844         * doc/functions/trunc.texi: Mention the 'trunc' module.
84846 2007-10-03  Bruno Haible  <bruno@clisp.org>
84848         * tests/test-fpending.c: New file, mostly copied
84849         from coreutils/lib/t-fpending.c.
84850         * modules/fpending-tests: New file.
84852 2007-10-03  Bruno Haible  <bruno@clisp.org>
84854         Port the stdio extensions to QNX (untested).
84855         * lib/fseterr.c (fseterr): Add support for QNX.
84856         * lib/fbufmode.c (fbufmode): Likewise.
84857         * lib/freadable.c (freadable): Likewise.
84858         * lib/fwritable.c (fwritable): Likewise.
84859         * lib/freading.c (freading): Likewise.
84860         * lib/fwriting.c (fwriting): Likewise.
84861         * lib/freadahead.c (freadahed): Likewise.
84862         * lib/fpurge.c (fpurge): Likewise.
84863         * lib/fseeko.c (rpl_fseeko): Likewise.
84865 2007-10-03  Bruno Haible  <bruno@clisp.org>
84866             Jim Meyering  <jim@meyering.net>
84867             Eric Blake  <ebb9@byu.net>
84869         * doc/relocatable.texi: Use @command instead of @program.
84871 2007-10-02  Jim Meyering  <jim@meyering.net>
84873         Perform one more "_.h" -> ".in.h" substitution.
84874         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84875         instead of unistd_.h here, too.
84877 2007-10-01  Bruno Haible  <bruno@clisp.org>
84879         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84880         Needed for the alloca-opt module.
84882 2007-09-30  Bruno Haible  <bruno@clisp.org>
84884         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84885         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84886         alloca_.h.
84887         * lib/argz.in.h: Renamed from lib/argz_.h.
84888         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84889         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84890         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84891         byteswap_.h.
84892         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84893         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84894         dirent_.h.
84895         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84896         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84897         fcntl_.h.
84898         * lib/float.in.h: Renamed from lib/float_.h.
84899         * modules/float (Files, Makefile.am): Use float.in.h instead of
84900         float_.h.
84901         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84902         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84903         fnmatch_.h.
84904         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84905         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84906         getopt_.h.
84907         * lib/glob.in.h: Renamed from lib/glob_.h.
84908         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84909         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84910         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84911         iconv_.h.
84912         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84913         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84914         inttypes_.h.
84915         * lib/locale.in.h: Renamed from lib/locale_.h.
84916         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84917         locale_.h.
84918         * lib/math.in.h: Renamed from lib/math_.h.
84919         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84920         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84921         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84922         of netinet_in_.h. Add dependency.
84923         * lib/poll.in.h: Renamed from lib/poll_.h.
84924         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84925         * lib/search.in.h: Renamed from lib/search_.h.
84926         * modules/search (Files, Makefile.am): Use search.in.h instead of
84927         search_.h.
84928         * lib/signal.in.h: Renamed from lib/signal_.h.
84929         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84930         _signal.h.
84931         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84932         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84933         stdbool_.h.
84934         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84935         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84936         stdint_.h.
84937         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84938         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84939         stdio_.h.
84940         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84941         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84942         stdlib_.h.
84943         * lib/string.in.h: Renamed from lib/string_.h.
84944         * modules/string (Files, Makefile.am): Use string.in.h instead of
84945         string_.h.
84946         * doc/gnulib-tool.texi (Initial import): Update.
84947         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84948         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84949         of sys_select_.h. Add dependency.
84950         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84951         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84952         of sys_socket_.h.
84953         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84954         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84955         sys_stat_.h.
84956         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84957         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84958         sys_time_.h.
84959         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84960         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84961         sysexits_.h.
84962         * lib/time.in.h: Renamed from lib/time_.h.
84963         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84964         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84965         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
84966         unistd_.h.
84967         * lib/wchar.in.h: Renamed from lib/wchar_.h.
84968         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
84969         wchar_.h.
84970         * lib/wctype.in.h: Renamed from lib/wctype_.h.
84971         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
84972         wctype_.h.
84973         * build-aux/bootstrap (slurp): Update.
84974         * lib/.cppi-disable: Update.
84976 2007-09-30  Bruno Haible  <bruno@clisp.org>
84978         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
84979         Needed on BeOS.
84981 2007-09-30  Bruno Haible  <bruno@clisp.org>
84983         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
84985 2007-09-29  Bruno Haible  <bruno@clisp.org>
84987         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
84989 2007-09-29  Bruno Haible  <bruno@clisp.org>
84991         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
84992         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
84993         * build-aux/install-reloc: Compile also areadlink.c.
84994         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
84996 2007-09-29  Bruno Haible  <bruno@clisp.org>
84998         * gnulib-tool (func_emit_initmacro_done): Indentation.
85000 2007-09-29  Bruno Haible  <bruno@clisp.org>
85002         * README: Add CVS checkout update instructions.
85003         Info from Bob Proulx <bob@proulx.com>.
85005 2007-09-28  Eric Blake  <ebb9@byu.net>
85007         Provide move-if-change.
85008         * build-aux/move-if-change: New file, based on best practice
85009         rather than any canonical upstream location.
85011 2007-09-28  Jim Meyering  <jim@meyering.net>
85013         Fix canonicalize loop-detection corner case.
85014         Do not attempt to stat the symlink values stored via seen_triple.
85015         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
85016         on linux-2.6.18, (but not 2.6.22).
85017         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
85018         triple_compare.  The former compares dev,ino,filename, while the latter
85019         would actually stat dirname(filename) when dev and ino were equal.
85020         * lib/hash-triple.c: Install <string.h>.
85021         (STREQ): Define.
85022         (triple_compare_ino_str): New function.
85023         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
85025 2007-09-28  Eric Blake  <ebb9@byu.net>
85027         Enforce that AC_REPLACE_FUNCS files exist.
85028         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
85029         override check for typos.
85031         Fix test-closein on Solaris 10.
85032         * tests/test-closein.c (main): Don't assume stdin can be inherited
85033         closed on all systems.
85034         * tests/test-closein.sh: Likewise.
85035         Reported by Piotr Tarnowski.
85037 2007-09-28  Jim Meyering  <jim@meyering.net>
85039         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
85041 2007-09-27  Jim Meyering  <jim@meyering.net>
85043         canonicalize: Avoid a false-positive cycle failure.
85044         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
85045         Sort.  Remove cycle-check.
85046         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
85047         not cycle-check.h.
85048         (seen_triple): New function.
85049         (canonicalize_filename_mode): Use it instead of cycle-check.
85050         * tests/test-canonicalize.c: Add a test for this bug.
85051         * tests/test-canonicalize.sh: Set up and run the test.
85053         New module, file-set, from coreutils.
85054         * modules/file-set: Define it.
85055         * lib/file-set.c, lib/file-set.h: Implement.
85057         New module, hash-triple, from coreutils.
85058         * modules/hash-triple: Define it.
85059         * lib/hash-triple.c, lib/hash-triple.h: Implement.
85061 2007-09-25  Eric Blake  <ebb9@byu.net>
85063         Fix strerror on Interix.
85064         * lib/string_.h (strerror): Declare replacement.
85065         * doc/functions/strerror.texi (strerror): Document the Interix
85066         shortcoming.
85067         * modules/string (Makefile.am): Support new hooks.
85068         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
85069         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
85070         gl_FUNC_STRERROR_SEPARATE.
85071         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
85072         * lib/strerror.c (rpl_strerror): Provide replacement.
85073         * modules/strerror (Depends-on): Add string.
85074         (configure.ac): Detect use of module.
85075         * tests/test-strerror.c: New file.
85076         * modules/strerror-tests: New test module.
85077         * modules/argp (Depends-on): Add strerror.
85078         * modules/error (Depends-on): Likewise.
85079         Reported by Martin Koeppe.
85081 2007-09-24  Bruno Haible  <bruno@clisp.org>
85083         * README: Update git instructions.
85085 2007-09-24  Eric Blake  <ebb9@byu.net>
85087         Revert fpending breakage from 2007-09-08.
85088         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
85089         __fpending.c.
85091 2007-09-24  Jim Meyering  <jim@meyering.net>
85093         filenamecat.c: Add a test.
85094         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
85095         showing how the function works when DIR is the empty string.
85097 2007-09-21  Simon Josefsson  <simon@josefsson.org>
85099         * tests/test-canonicalize.sh: Turn on executable bit.
85101 2007-09-19  Eric Blake  <ebb9@byu.net>
85103         * README: Update CVS instructions.
85105 2007-09-18  Bruno Haible  <bruno@clisp.org>
85107         * modules/areadlink: New file.
85108         * lib/areadlink.h (areadlink): New declaration.
85109         * lib/areadlink.c: New file, based on lib/xreadlink.c.
85111 2007-09-17  Jim Meyering  <jim@meyering.net>
85113         * lib/savewd.c (ESTALE) [!defined]: Define.
85114         Reported to be required on Interix by Martin Koeppe.
85116 2007-09-17  Bruno Haible  <bruno@clisp.org>
85118         * gnulib-tool (func_version): Use $version.
85120 2007-09-16  Bruno Haible  <bruno@clisp.org>
85122         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
85123         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
85124         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
85125         Reported by Greg Schafer <gschafer@zip.com.au>.
85127 2007-09-15  Bruno Haible  <bruno@clisp.org>
85129         * gnulib-tool (sed): Try a little harder to make bash understand the
85130         alias.
85131         Reported by Bruce Korb <bruce.korb@gmail.com>.
85133 2007-09-13  Eric Blake  <ebb9@byu.net>
85135         * ChangeLog: Remove conflict markers.
85137 2007-09-13  Simon Josefsson  <simon@josefsson.org>
85139         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
85140         Reported by Bruno Haible <bruno@clisp.org>.
85142 2007-09-12  Bruno Haible  <bruno@clisp.org>
85144         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
85145         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
85146         is not defined.
85148 2007-09-12  Eric Blake  <ebb9@byu.net>
85150         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
85151         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
85152         Autoconf definition.
85153         * modules/euidaccess (Depends-on): Add extensions, for
85154         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
85155         * modules/fnmatch (Depends-on): Likewise.
85156         * modules/getaddrinfo (Depends-on): Likewise.
85157         * modules/getdelim (Depends-on): Likewise.
85158         * modules/getline (Depends-on): Likewise.
85159         * modules/getsubopt (Depends-on): Likewise.
85160         * modules/gettext (Depends-on): Likewise.
85161         * modules/group-member (Depends-on): Likewise.
85162         * modules/mbchar (Depends-on): Likewise.
85163         * modules/memmem (Depends-on): Likewise.
85164         * modules/mempcpy (Depends-on): Likewise.
85165         * modules/memrchr (Depends-on): Likewise.
85166         * modules/pagealign_alloc (Depends-on): Likewise.
85167         * modules/readutmp (Depends-on): Likewise.
85168         * modules/stpcpy (Depends-on): Likewise.
85169         * modules/stpncpy (Depends-on): Likewise.
85170         * modules/strchrnul (Depends-on): Likewise.
85171         * modules/strndup (Depends-on): Likewise.
85172         * modules/strsep (Depends-on): Likewise.
85173         * modules/strverscmp (Depends-on): Likewise.
85174         * modules/vasprintf (Depends-on): Likewise.
85175         * modules/wcwidth (Depends-on): Likewise.
85176         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
85177         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
85178         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
85179         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
85180         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
85181         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85182         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
85183         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
85184         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
85185         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
85186         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
85187         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
85188         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
85189         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
85190         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
85191         * m4/readutmp.m4 (gl_READUTMP): Likewise.
85192         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
85193         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
85194         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
85195         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
85196         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
85197         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
85198         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
85199         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
85200         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
85201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
85202         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
85203         so that lock.m4 can be used in gettext without extensions module.
85205 2007-09-11  Bruno Haible  <bruno@clisp.org>
85207         * m4/isc-posix.m4: Remove file.
85208         Suggested by Eric Blake.
85210 2007-09-11  Eric Blake  <ebb9@byu.net>
85212         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
85214 2007-09-10  Bruno Haible  <bruno@clisp.org>
85216         * posix-modules: Fix typo in error message.
85217         Reported by Matt <mkraai@beckman.com>.
85219 2007-09-09  Bruno Haible  <bruno@clisp.org>
85221         * doc/functions/getdelim.texi: Update list of platforms lacking the
85222         function.
85223         * doc/functions/getline.texi: Likewise.
85225 2007-09-09  Jim Meyering  <jim@meyering.net>
85227         * lib/hash.c (hash_initialize): Detect calloc failure.
85228         Reported by Bruno Haible.
85230 2007-09-09  Bruno Haible  <bruno@clisp.org>
85232         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
85233         malloc or realloc fails.
85235 2007-09-09  Bruno Haible  <bruno@clisp.org>
85237         * modules/getcwd (Depends-on): Add malloc-posix.
85238         * modules/glob (Depends-on): Likewise.
85239         * modules/putenv (Depends-on): Likewise.
85240         * modules/strdup (Depends-on): Likewise.
85241         * modules/getdelim (Depends-on): Add realloc-posix.
85242         * modules/read-file (Depends-on): Likewise.
85244 2007-09-09  Bruno Haible  <bruno@clisp.org>
85246         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
85247         (gl_FUNC_MALLOC_POSIX): Require it.
85248         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
85249         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
85250         * modules/realloc (Files): Add m4/malloc.m4.
85251         * modules/calloc (Files): Likewise.
85253 2007-09-09  Bruno Haible  <bruno@clisp.org>
85255         * modules/malloc-posix: New file.
85256         * modules/malloc (Depends-on): Add malloc-posix.
85257         * lib/malloc.c: Include errno.h.
85258         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
85259         and a POSIX-compatible malloc into a single function. Set ENOMEM
85260         when returning NULL.
85261         * m4/malloc.m4: New file.
85262         * doc/functions/malloc.texi: Mention the malloc-posix module.
85263         * lib/stdlib_.h (malloc): New declaration.
85264         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85265         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
85266         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
85267         and HAVE_MALLOC_POSIX.
85269 2007-09-09  Bruno Haible  <bruno@clisp.org>
85271         * modules/realloc-posix: New file.
85272         * modules/realloc (Depends-on): Add realloc-posix.
85273         * lib/realloc.c: Include errno.h.
85274         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
85275         and a POSIX-compatible realloc into a single function. Set ENOMEM
85276         when returning NULL.
85277         * m4/realloc.m4: New file.
85278         * doc/functions/realloc.texi: Mention the realloc-posix module.
85279         * lib/stdlib_.h (realloc): New declaration.
85280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85281         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
85282         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
85283         and HAVE_REALLOC_POSIX.
85285 2007-09-09  Bruno Haible  <bruno@clisp.org>
85287         * modules/calloc-posix: New file.
85288         * modules/calloc (Depends-on): Add calloc-posix.
85289         * lib/calloc.c: Include errno.h.
85290         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
85291         and a POSIX-compatible calloc into a single function. Set ENOMEM
85292         when returning NULL.
85293         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
85294         * doc/functions/calloc.texi: Mention the calloc-posix module.
85295         * lib/stdlib_.h (calloc): New declaration.
85296         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85297         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
85298         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
85299         and HAVE_CALLOC_POSIX.
85301 2007-09-09  Bruno Haible  <bruno@clisp.org>
85303         Allow for modules to show an arbitrary notice.
85304         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
85305         * gnulib-tool: New option --extract-notice.
85306         (func_usage): Document it.
85307         (sed_extract_prog): Update.
85308         (func_get_notice): New function.
85309         (func_modules_notice): New function.
85310         (func_import, func_create_testdir): Invoke it.
85311         Suggested by Jim Meyering.
85313 2007-09-09  Bruno Haible  <bruno@clisp.org>
85315         * gnulib-tool: New options --verbose, --quiet.
85316         (func_usage): Document them.
85317         (verbose): New variable.
85318         (func_execute_command): New function.
85319         (func_import): Don't show the module list and the file list if
85320         $verbose < 0.
85321         (func_create_testdir): Likewise. Use func_execute_command.
85322         (func_create_megatestdir): Use func_execute_command.
85324 2007-09-08  Bruno Haible  <bruno@clisp.org>
85326         * gnulib-tool (func_import): Prefer rsync over wget when available,
85327         for fetching the PO files.
85329 2007-09-08  Bruno Haible  <bruno@clisp.org>
85331         * posix-modules: New file. Portions copied from gnulib-tool.
85332         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
85334 2007-09-08  Jim Meyering  <jim@meyering.net>
85336         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
85337         * lib/fpending.h: Rename from __fpending.h.
85338         * lib/fpending.c: Rename from __fpending.c.
85339         Include "fpending.h", not "__fpending.h".
85340         * lib/__fpending.h, lib/__fpending.c: Remove files.
85341         * modules/fpending (Files): Reflect new file names.
85342         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
85344 2007-09-08  Bruno Haible  <bruno@clisp.org>
85346         * m4/inttypes-h.m4: Remove stub file.
85348 2007-09-07  Simon Josefsson  <simon@josefsson.org>
85350         * doc/headers/stdint.texi: Discuss #include_next issue.
85352 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85354         * build-aux/bootstrap: Remove obsolete comment about wget --help.
85356 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85358         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
85359         in variable name.
85361 2007-09-03  Jim Meyering  <jim@meyering.net>
85363         New module: git-version-gen.
85364         * modules/git-version-gen: New file.
85366         Import changes from coreutils for bootstrap script.
85368         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
85370         bootstrap: uses rsync to download the .po files
85371         * build-aux/bootstrap (po_download_command_format): New global.
85372         (download_po_files): Use rsync.
85373         (update_po_files): Don't remove .po files after download,
85374         so future rsync runs can take advantage of the copies.
85376         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
85378         Solve the unnecessary-.po-file-regeneration problem once and for all.
85379         * build-aux/bootstrap (download_po_files): New function, renamed from
85380         get_translations.  Now, downloads, but doesn't update LINGUAS.
85381         (update_po_files): New function.
85383         bootstrap: Ignore more.
85384         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
85385         uniwidth to e.g., lib/.gitignore.
85386         (slurp): Handle the sys_stat_.h -> sys mapping, too.
85388         * build-aux/bootstrap: New setting: vc_ignore.
85389         (insert_sorted_if_absent): Create $file if absent.
85390         Adapt to new, possibly empty, list: $vc_ignore.
85392         bootstrap: generate more ignorable names
85393         * build-aux/bootstrap (slurp): When generating ignorable names,
85394         also map .sin to .sed, .gperf to .c, and .y to .c.
85396 2007-09-03  Jim Meyering  <jim@meyering.net>
85398         * build-aux/git-version-gen: New file, from coreutils.  For details, see
85399         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
85401 2007-09-02  Bruno Haible  <bruno@clisp.org>
85403         Fix mis-recognition of 'mcs' on QNX 6.
85404         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
85405         output contains the string "Mono".
85406         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
85407         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
85409 2007-09-01  Bruno Haible  <bruno@clisp.org>
85411         Fix collision between uniwidth/* and linebreak modules.
85412         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
85413         u32_width): Remove declarations.
85414         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
85415         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
85416         streq3, streq2, streq1, streq0): Remove functions.
85417         (STREQ): Remove macro.
85418         (is_cjk_encoding): Remove function.
85419         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
85420         (uc_width, u8_width, u16_width, u32_width): Remove functions.
85421         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
85422         * NEWS: Document the change.
85424 2007-09-01  Bruno Haible  <bruno@clisp.org>
85426         * lib/streq.h: Add double-inclusion guard.
85428 2007-09-01  Karl Berry  <karl@gnu.org>
85430         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
85432 2007-08-28  Jim Meyering  <jim@meyering.net>
85434         Rename mreadlink_with_size to areadlink_with_size.
85435         * NEWS: Document the change.
85436         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
85437         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
85438         * lib/mreadlink.h: Rename this to...
85439         * lib/areadlink.h: ...this.
85440         * modules/mreadlink-with-size: Rename this to...
85441         * modules/areadlink-with-size: ...this.
85442         * lib/canonicalize.c: Reflect the renaming.
85443         * modules/canonicalize: Likewise.
85445 2007-08-26  Bruno Haible  <bruno@clisp.org>
85447         * gnulib-tool (func_import): When deciding which files to remove,
85448         consider also dangling symbolic links.
85449         Reported by Eric Blake.
85451 2007-08-26  Bruno Haible  <bruno@clisp.org>
85453         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
85455 2007-08-23  Simon Josefsson  <simon@josefsson.org>
85457         * lib/readline.c: Don't include getline.h, the prototype is now
85458         found in stdio.h.
85460 2007-08-23  Jim Meyering  <jim@meyering.net>
85462         Getdelim touchup.
85463         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
85464         around the funlockfile call, since funlockfile never sets errno.
85465         Don't set errno upon failed realloc.
85467 2007-08-22  Eric Blake  <ebb9@byu.net>
85469         Getline touchups.
85470         * lib/getdelim.c (getdelim): Revert regression that required *n to
85471         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
85472         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
85473         getdelim, rather than whether implementation is missing.
85474         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
85475         * lib/stdio_.h (getline): Also declare if replacement is
85476         required.
85477         * doc/functions/getdelim.texi: New file.
85478         * doc/functions/getline.texi: Likewise.
85479         * doc/gnulib.texi (Function Substitutes): Add new files.
85480         Reported by Bruno Haible.
85482 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
85484         * users.txt: Add Guile.
85486 2007-08-22  Eric Blake  <ebb9@byu.net>
85488         * tests/test-getdelim.c (main): Use remove, not unlink.
85489         * tests/test-getline.c (main): Likewise.
85491         Move getline and getdelim into stdio.h, per POSIX 200x.
85492         * modules/getline (Files): Remove getline.h.
85493         (Depends-on): Add stdio.
85494         (configure.ac): Add module indicator.
85495         * modules/getdelim (Files): Remove getdelim.h.
85496         (Depends-on): Add stdio.
85497         (configure.ac): Add module indicator.
85498         * modules/stdio (Makefile.am): Work with new indicators.
85499         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
85500         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
85501         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85502         * lib/getdelim.h: Delete.
85503         * lib/getline.h: Delete.
85504         * lib/stdio_.h (getdelim, getline): Declare.
85505         * modules/getdelim-tests: New module.
85506         * modules/getline-tests: Likewise.
85507         * tests/test-getdelim.c: New file.
85508         * tests/test-getline.c: Likewise.
85509         * NEWS: Document the change.
85510         * lib/getline.c: Update choice of header.
85511         * lib/csharpcomp.c: Likewise.
85512         * lib/getpass.c: Likewise.
85513         * lib/javacomp.c: Likewise.
85514         * lib/javaversion.c: Likewise.
85515         * lib/yesno.c: Likewise.
85516         * lib/getdelim.c: Likewise.
85517         (getdelim): Set errno on failure, and avoid memory leak.
85519 2007-08-19  Bruno Haible  <bruno@clisp.org>
85521         * modules/closein (Depends-on): Add freadahead.
85522         * lib/closein.c: Include freadahead.h.
85523         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
85524         is zero.
85526 2007-08-19  Bruno Haible  <bruno@clisp.org>
85528         * modules/freadahead-tests: New file.
85529         * tests/test-freadahead.sh: New file.
85530         * tests/test-freadahead.c: New file.
85532         * modules/freadahead: New file.
85533         * lib/freadahead.h: New file.
85534         * lib/freadahead.c: New file.
85535         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
85536         fbufmode, fpurge, freadable, fwritable.
85538 2007-08-19  Eric Blake  <ebb9@byu.net>
85540         Test yesno in combination with closein.
85541         * lib/yesno.c (yesno): Document use of stdin.
85542         * modules/yesno-tests (Files): New module.
85543         * tests/test-yesno.c (main): New file.
85544         * tests/test-yesno.sh: Likewise.
85546 2007-08-19  Bruno Haible  <bruno@clisp.org>
85548         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
85549         * lib/fseeko.c (rpl_fseeko): Likewise.
85550         * lib/fseterr.c (fseterr): Likewise.
85552 2007-08-19  Bruno Haible  <bruno@clisp.org>
85554         * tests/test-lseek.c (main): Disable a test for BeOS.
85555         * doc/functions/lseek.texi: Document the BeOS bug.
85557 2007-08-19  Bruno Haible  <bruno@clisp.org>
85558             Eric Blake  <ebb9@byu.net>
85560         * lib/lseek.c: Include <sys/stat.h>.
85561         (rpl_lseek): Add workaround code also for Unix platforms.
85562         Needed for BeOS.
85563         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
85564         * doc/functions/lseek.texi: Document BeOS definiency.
85566 2007-08-18  Bruno Haible  <bruno@clisp.org>
85568         * modules/fstrcmp-tests: New file.
85569         * tests/test-fstrcmp.c: New file.
85571 2007-08-18  Bruno Haible  <bruno@clisp.org>
85573         * modules/fstrcmp: New file, from GNU gettext with modifications.
85574         * lib/fstrcmp.h: New file, from GNU gettext.
85575         * lib/fstrcmp.c: New file, from GNU gettext.
85576         * MODULES.html.sh (String handling): Add fstrcmp.
85578 2007-08-18  Bruno Haible  <bruno@clisp.org>
85580         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
85581         'bool'.
85582         (diag, compareseq): Remove const from the ctxt argument.
85583         (USE_HEURISTIC): Undefine at the end.
85585 2007-08-18  Jim Meyering  <jim@meyering.net>
85587         New file: lib/idcache.h
85588         * NEWS: Mention the addition.
85589         * modules/idcache (Files): Add lib/idcache.h
85590         * lib/idcache.c: Include "idcache.h".
85591         Don't include <sys/types.h>.
85592         Add a FIXME comment.
85593         Move file-scoped "static" declarations to the top.
85594         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
85596 2007-08-17  Bruno Haible  <bruno@clisp.org>
85597         and Paul Eggert  <eggert@cs.ucla.edu>
85599         * MODULES.html.sh: Add diffseq.
85600         * modules/diffseq: New file.
85601         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
85602         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
85604 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85606         Import changes from coreutils for bootstrap script.
85608         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
85610         * build-aux/bootstrap (slurp): Work even in environments where
85611         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
85612         current code does not slurp files whose names start with ".", and
85613         this looks like it might be a troublesome area.
85615         2007-07-11  Jim Meyering  <jim@meyering.net>
85617         If there's a GPL vN copyright comment, require that N == 3.
85619         2007-07-08  Jim Meyering  <jim@meyering.net>
85621         Run the coreutils-specific code only if tests/Makefile.am.in exists.
85622         * build-aux/bootstrap (mam_template): Move definition out of loop.
85624         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
85626         * build-aux/bootstrap (symlink_to_dir): Rename function from
85627         symlink_to_gnulib.  Add a directory parameter.  Update all
85628         callers.
85629         (cp_mark_as_generated): Also check for -- and link to -- files in
85630         gl/.
85632         2007-07-08  Jim Meyering  <jim@meyering.net>
85634         Adapt to deeper hierarchy in gnulib.
85635         * build-aux/bootstrap (symlink_to_dir): If the destination
85636         directory doesn't exist, create it. This is required at least for
85637         "lib/uniwidth/cjk.h".
85639         2007-05-15  Jim Meyering  <jim@meyering.net>
85641         * build-aux/bootstrap: Now that generated Makefile.am files
85642         are no longer under version control, they must be created at
85643         bootstrap time.
85645 2007-08-14  Ben Pfaff  <blp@gnu.org>
85647         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
85649 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
85651         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
85652         given the changes below.
85653         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
85654         even on hosts that have padding bits beyond the supported 64.
85656 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
85658         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
85659         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
85660         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
85661         depends on it.
85662         (xstrtol_error): Remove.
85663         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
85664         but with a different signature.
85665         (ATTRIBUTE_NORETURN, __attribute__): New macros.
85666         * lib/xstrtol-error.c: Include exitfail.h.
85667         (xstrtol_fatal): New function, with a different signature from the
85668         old xstrtol_error, so that the caller need not worry about passing
85669         in an exit status, or about storage management of the option argument.
85670         (xstrtol_error): Now a static function.  Redo signature to
85671         implement xstrtol_fatal.  Output the correct number of hyphens in
85672         front of the option so that the caller need not worry about
85673         storage management.
85674         (N_): New macro.
85675         (_): Remove; not used now.
85676         * modules/xstrtol: Depend on getopt.
85677         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
85678         of old STRTOL_FATAL_ERROR macro.
85679         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
85680         of test program.
85681         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
85682         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
85684 2007-08-08  Eric Blake  <ebb9@byu.net>
85686         * lib/xstrtol-error.c: Add missing include.
85688         Move xstrtol messages into gnulib domain, when --pobase is used.
85689         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
85690         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
85691         * modules/xstrtol (Files): Distribute new file.
85692         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
85693         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
85694         * tests/test-xstrtol.c: ...into new file.
85695         * tests/test-xstrtoul.c: Also test xstrtoul.
85696         * tests/test-xstrtoimax.c: Also test xstrtoimax.
85697         * tests/test-xstrtoumax.c: Also test xstrtoumax.
85698         * tests/test-xstrtol.sh: Drive the tests.
85699         * tests/test-xstrtoimax.sh: Likewise.
85700         * tests/test-xstrtoumax.sh: Likewise.
85701         * modules/xstrtol-tests: New module.
85702         * modules/xstrtoimax-tests: Likewise.
85703         * modules/xstrtoumax-tests: Likewise.
85705 2007-08-08  Jim Meyering  <jim@meyering.net>
85707         New function: mfile_name_concat.
85708         * lib/filenamecat.c (mfile_name_concat): New function, just like
85709         file_name_concat, but return NULL upon failure rather than exiting
85710         with a diagnostic.
85711         * lib/filenamecat.h: Declare it.
85713 2007-08-07  Bruno Haible  <bruno@clisp.org>
85715         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
85716         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
85717         warning from gcc.
85718         Reported by Eric Blake.
85720 2007-08-07  Simon Josefsson  <simon@josefsson.org>
85722         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
85723         * modules/crypto/arcfour (License): Likewise.
85724         * modules/crypto/des-tests (License): Likewise.
85725         * modules/crypto/gc-arctwo-tests (License): Likewise.
85726         * modules/crypto/gc-des-tests (License): Likewise.
85727         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
85728         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
85729         * modules/crypto/gc-md2-tests (License): Likewise.
85730         * modules/crypto/gc-md4-tests (License): Likewise.
85731         * modules/crypto/gc-md5-tests (License): Likewise.
85732         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
85733         * modules/crypto/gc-rijndael-tests (License): Likewise.
85734         * modules/crypto/gc-sha1-tests (License): Likewise.
85735         * modules/crypto/gc-tests (License): Likewise.
85736         * modules/crypto/hmac-md5 (License): Likewise.
85737         * modules/crypto/hmac-sha1 (License): Likewise.
85738         * modules/crypto/md2-tests (License): Likewise.
85739         * modules/crypto/md4-tests (License): Likewise.
85740         * modules/crypto/md5 (License): Likewise.
85741         * modules/crypto/rijndael (License): Likewise.
85742         * modules/crypto/sha1 (License): Likewise.
85743         * modules/memxor (License): Likewise.
85745 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85746         and Bruno Haible  <bruno@clisp.org>
85748         * NEWS: Describe interface changes to human, xstrtol.
85749         * lib/human.h: Include <xstrtol.h>.
85750         (human_options): Return enum strtol_error, not int.  Remove
85751         bool arg; take int * instead.
85752         * lib/human.c: Don't include "gettext.h".
85753         (_): Remove; no longer used.
85754         Don't include <xstrtol.h>, since human.h does it.
85755         (human_options): Adjust to abovementioned interface changes.
85756         Do not report error to stderr; that's now the caller's
85757         responsibility.
85758         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85759         interface change.
85760         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85761         Str, Argument_type_string.  All uses changed.  Put " argument"
85762         in diagnostics to make them clearer.  Change wording of suffix
85763         message for clarity.
85764         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85765         Argument_type_string.
85766         (STRTOL_FATAL_WARN): Remove; no longer used.
85767         * modules/human (Depends-on): Remove gettext-h.
85769 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85771         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85773 2007-07-31  Bruno Haible  <bruno@clisp.org>
85775         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85776         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85777         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85779 2007-07-31  Bruno Haible  <bruno@clisp.org>
85781         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85782         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85784 2007-07-30  Bruno Haible  <bruno@clisp.org>
85786         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85787         * modules/c-ctype (License): Likewise.
85788         * modules/c-strcase (License): Likewise.
85789         * modules/check-version (License): Likewise.
85790         * modules/iconv (License): Likewise.
85791         * modules/iconv_open (License): Likewise.
85792         * modules/read-file (License): Likewise.
85793         * modules/striconv (License): Likewise.
85794         * modules/strverscmp (License): Likewise.
85795         * modules/vasprintf (License): Likewise.
85796         * modules/crypto/des (License): Likewise.
85797         * modules/crypto/gc (License): Likewise.
85798         * modules/crypto/gc-arcfour (License): Likewise.
85799         * modules/crypto/gc-arctwo (License): Likewise.
85800         * modules/crypto/gc-des (License): Likewise.
85801         * modules/crypto/gc-hmac-md5 (License): Likewise.
85802         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85803         * modules/crypto/gc-md2 (License): Likewise.
85804         * modules/crypto/gc-md4 (License): Likewise.
85805         * modules/crypto/gc-md5 (License): Likewise.
85806         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85807         * modules/crypto/gc-random (License): Likewise.
85808         * modules/crypto/gc-rijndael (License): Likewise.
85809         * modules/crypto/gc-sha1 (License): Likewise.
85810         * modules/crypto/md2 (License): Likewise.
85811         * modules/crypto/md4 (License): Likewise.
85813 2007-07-30  Jim Meyering  <jim@meyering.net>
85815         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85816         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85817         it has valid stat data.  This bug would cause du not to count the
85818         sizes of inaccessible directories.
85819         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85820         in <http://bugzilla.redhat.com/250077>.
85822 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85823             Bruno Haible  <bruno@clisp.org>
85825         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85826         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85827         #include_next, gives a diagnostic about it, but reports no error in
85828         the exit code.
85829         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85831 2007-07-24  Ben Pfaff  <blp@gnu.org>
85833         Improve name: "count-one-bits" is better than "popcount".
85834         * MODULES.html.sh: Update name.
85835         * lib/popcount.h: Renamed lib/count-one-bits.h.
85836         (popcount): Renamed count_one_bits.
85837         (popcountl): Renamed count_one_bits_l.
85838         (popcountll): Renamed count_one_bits_ll.
85839         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85840         * modules/popcount: Renamed module/count-one-bits.
85841         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85842         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85844 2007-07-23  Ben Pfaff  <blp@gnu.org>
85846         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85847         better code generation, and add U to large constants to avoid
85848         warnings, in non-GCC case.
85849         Suggested by Bruno Haible.
85851 2007-07-23  Ben Pfaff  <blp@gnu.org>
85853         * lib/popcount.h: Use verify_true instead of if...abort.
85854         * modules/popcount: Depend on verify module.
85855         Suggested by Jim Meyering.
85857 2007-07-23  Bruno Haible  <bruno@clisp.org>
85859         * gnulib-tool (func_import): Create a .cvsignore file also when the
85860         directory is not yet in CVS but the toplevel directory is. When
85861         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85862         Reported by Karl Berry.
85864 2007-07-22  Ben Pfaff  <blp@gnu.org>
85866         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85867         case.
85868         Suggested by Eric Blake.
85870 2007-07-22  Ben Pfaff  <blp@gnu.org>
85872         New module: popcount.
85873         * MODULES.html.sh: Add popcount.
85874         * modules/popcount: New file.
85875         * modules/popcount-tests: New file.
85876         * tests/test-popcount.c: New file.
85877         * lib/popcount.h: New file.
85878         * m4/popcount.m4: New file.
85880 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85882         * build-aux/announce-gen: Update to GPLv3.
85884         * build-aux/config.guess: Update from config.
85886 2007-07-21  Bruno Haible  <bruno@clisp.org>
85888         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85889         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85891 2007-07-20  Jim Meyering  <jim@meyering.net>
85893         * check-module: Diagnose a self-dependency.
85895 2007-07-19  Bruno Haible  <bruno@clisp.org>
85897         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85898         empty.
85899         Reported by Eric Blake.
85901 2007-07-18  Bruno Haible  <bruno@clisp.org>
85903         * gnulib-tool: New options --po-base, --po-domain.
85904         (func_usage): Document them.
85905         (pobase, po_domain): New variables.
85906         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85907         DEFAULT_TEXT_DOMAIN.
85908         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85909         (func_import): Consider pobase and po_domain. Create a po/ directory.
85910         (func_create_testdir): Set pobase and po_domain to empty.
85911         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85912         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85914 2007-07-18  Bruno Haible  <bruno@clisp.org>
85916         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85917         EXTRA_DIST augmentation for files in build-aux/.
85919 2007-07-16  Bruno Haible  <bruno@clisp.org>
85921         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85922         * modules/getdelim (License): Likewise.
85924 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85926         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85927         * modules/d-type (License): Likewise.
85928         * modules/extensions (License): Likewise.
85929         * modules/fnmatch (License): Likewise.
85930         * modules/fseeko (License): Likewise.
85931         * modules/getaddrinfo (License): Likewise.
85932         * modules/getline (License): Likewise.
85933         * modules/getlogin_r (License): Likewise.
85934         * modules/getpass (License): Likewise.
85935         * modules/gettimeofday (License): Likewise.
85936         * modules/glob (License): Likewise.
85937         * modules/inet_ntop (License): Likewise.
85938         * modules/malloc (License): Likewise.
85939         * modules/malloca (License): Likewise.
85940         * modules/memmem (License): Likewise.
85941         * modules/mempcpy (License): Likewise.
85942         * modules/memset (License): Likewise.
85943         * modules/minmax (License): Likewise.
85944         * modules/mktime (License): Likewise.
85945         * modules/netinet_in (License): Likewise.
85946         * modules/pathmax (License): Likewise.
85947         * modules/poll (License): Likewise.
85948         * modules/regex (License): Likewise.
85949         * modules/snprintf (License): Likewise.
85950         * modules/stdbool (License): Likewise.
85951         * modules/stdint (License): Likewise.
85952         * modules/stdio (License): Likewise.
85953         * modules/strcase (License): Likewise.
85954         * modules/strcasestr (License): Likewise.
85955         * modules/strdup (License): Likewise.
85956         * modules/string (License): Likewise.
85957         * modules/strndup (License): Likewise.
85958         * modules/strnlen (License): Likewise.
85959         * modules/strpbrk (License): Likewise.
85960         * modules/strptime (License): Likewise.
85961         * modules/strsep (License): Likewise.
85962         * modules/sys_select (License): Likewise.
85963         * modules/sys_socket (License): Likewise.
85964         * modules/sys_stat (License): Likewise.
85965         * modules/sys_time (License): Likewise.
85966         * modules/time (License): Likewise.
85967         * modules/time_r (License): Likewise.
85968         * modules/timegm (License): Likewise.
85969         * modules/unistd (License): Likewise.
85970         * modules/vsnprintf (License): Likewise.
85971         * modules/wctype (License): Likewise.
85973 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85975         * modules/argz (License): LGPLv2+.
85977 2007-07-15  Karl Berry  <karl@gnu.org>
85979         * doc/gnulib.texi: revise node structure per new fdl.texi.
85981 2007-07-14  Bruno Haible  <bruno@clisp.org>
85983         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
85984         the output file.
85985         * lib/uniname/uninames.h: Regenerated.
85987 2007-07-14  Karl Berry  <karl@gnu.org>
85989         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
85990         omitting sectioning and index commands.
85992 2007-07-13  Bruno Haible  <bruno@clisp.org>
85994         New gnulib-tool option --more-symlinks.
85995         * gnulib-tool (func_usage): Document --more-symlinks.
85996         (do_copyrights): New variable.
85997         Recognize option --more-symlinks.
85998         (func_import): Don't add a copyright notice transform to
85999         sed_transform_lib_file if do_copyrights is empty.
86001 2007-07-13  Bruno Haible  <bruno@clisp.org>
86003         * lib/vasnprintf.c (decimal_point_char): Define also if
86004         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
86005         && !NEED_PRINTF_DIRECTIVE_A.
86006         Reported by Clemens Koller <clemens.koller@anagramm.de> via
86007         Gary V. Vaughan <gary@gnu.org>.
86009 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
86011         * lib/inttypes_.h: Undo previous change, since it was fixed
86012         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
86014 2007-07-13  Bruno Haible  <bruno@clisp.org>
86016         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
86017         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
86019 2007-07-13  Jim Meyering  <jim@meyering.net>
86021         df: Don't fail for Tru64's "file-on-file mount".
86022         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
86023         so we fall through and use statfs instead.  Details here:
86024         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
86025         Reported by Albert Chin.
86027 2007-07-13  Bruno Haible  <bruno@clisp.org>
86029         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
86030         * modules/configmake (License): Likewise.
86031         * modules/gettext (License): Likewise.
86032         * modules/gettext-h (License): Likewise.
86033         * modules/include_next (License): Likewise.
86034         * modules/link-warning (License): Likewise.
86035         * modules/localcharset (License): Likewise.
86036         * modules/localename (License): Likewise.
86037         * modules/lock (License): Likewise.
86038         * modules/relocatable-lib-lgpl (License): Likewise.
86039         * modules/size_max (License): Likewise.
86040         * modules/vasnprintf (License): Likewise.
86041         * modules/wchar (License): Likewise.
86042         * modules/xsize (License): Likewise.
86044 2007-07-13  Bruno Haible  <bruno@clisp.org>
86046         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
86047         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
86049 2007-07-12  Bruno Haible  <bruno@clisp.org>
86051         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
86052         in the modules files.
86054 2007-07-11  Karl Berry  <karl@gnu.org>
86056         * MODULES.html.sh (func_module): use
86057          sed -e '\|^'"${includefile}"'$|d'
86058          instead of /.../d, to avoid errors on $includefile's containing /.
86060 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
86062         * gnulib-tool (func_import): Avoid duplication of --avoid
86063         statements
86064         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
86065         names to `_' in variable names.
86067 2007-07-10  Eric Blake  <ebb9@byu.net>
86069         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
86070         * NEWS: Document this change.
86072 2007-07-08  Bruno Haible  <bruno@clisp.org>
86074         Update to Unicode 5.0.
86075         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
86076         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
86077         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
86078         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
86079         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
86080         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
86081         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
86082         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
86083         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
86084         U+10A3F, U+1D242..U+1D244.
86085         (nonspacing_table_ind): Update.
86086         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
86087         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
86089 2007-07-08  Bruno Haible  <bruno@clisp.org>
86091         Update to Unicode 5.0.
86092         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
86093         code transform. Extend the name index field of unicode_name_to_code and
86094         unicode_code_to_name from 16 to 24 bits.
86095         * lib/uniname/uniname.c (unicode_character_name,
86096         unicode_name_character): Add the range 0x12xxx to the code transform.
86097         * lib/uniname/uninames.h: Regenerated.
86098         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
86100 2007-07-07  Bruno Haible  <bruno@clisp.org>
86102         * modules/wcwidth-tests: New file.
86103         * tests/test-wcwidth.c: New file.
86105         Work around MacOS X wcwidth() bug.
86106         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
86107         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
86108         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
86109         original wcwidth in non-UTF-8 locales.
86110         * modules/wcwidth (Depends-on): Add localcharset, streq,
86111         uniwidth/width.
86112         * doc/functions/wcwidth.texi: Update.
86114 2007-07-07  Bruno Haible  <bruno@clisp.org>
86116         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
86117         (wcwidth): New declaration.
86118         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
86119         macros.
86120         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
86121         here. Prepare for creating <wchar.h> unconditionally.
86122         * modules/wchar (Depends-on): Add link-warning.
86123         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
86124         REPLACE_WCWIDTH, and GL_LINK_WARNING.
86125         * lib/wcwidth.h: Remove file.
86126         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
86127         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
86128         * modules/wcwidth (Files): Remove lib/wcwidth.h.
86129         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
86130         (Include): Replace wcwidth.h with <wchar.h>.
86131         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
86132         * lib/mbchar.h: Don't include wcwidth.h.
86133         * lib/mbswidth.c: Likewise.
86134         * NEWS: Mention the change.
86136 2007-07-07  Bruno Haible  <bruno@clisp.org>
86138         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
86139         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
86140         definition with an external declaration.
86141         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
86142         defined as a function. Remove AC_C_INLINE requirement.
86143         * modules/wcwidth (Files): Add lib/wcwidth.c.
86144         (Makefile.am): Remove redundant statement.
86146 2007-07-07  Bruno Haible  <bruno@clisp.org>
86148         * MODULES.html.sh (Unicode string functions): Add the new modules.
86150         * tests/uniwidth/test-u32-strwidth.c: New file.
86151         * modules/uniwidth/u32-strwidth-tests: New file.
86153         * lib/uniwidth/u32-strwidth.c: New file.
86154         * modules/uniwidth/u32-strwidth: New file.
86156         * tests/uniwidth/test-u16-strwidth.c: New file.
86157         * modules/uniwidth/u16-strwidth-tests: New file.
86159         * lib/uniwidth/u16-strwidth.c: New file.
86160         * modules/uniwidth/u16-strwidth: New file.
86162         * tests/uniwidth/test-u8-strwidth.c: New file.
86163         * modules/uniwidth/u8-strwidth-tests: New file.
86165         * lib/uniwidth/u8-strwidth.c: New file.
86166         * modules/uniwidth/u8-strwidth: New file.
86168         * tests/uniwidth/test-u32-width.c: New file.
86169         * modules/uniwidth/u32-width-tests: New file.
86171         * lib/uniwidth/u32-width.c: New file.
86172         * modules/uniwidth/u32-width: New file.
86174         * tests/uniwidth/test-u16-width.c: New file.
86175         * modules/uniwidth/u16-width-tests: New file.
86177         * lib/uniwidth/u16-width.c: New file.
86178         * modules/uniwidth/u16-width: New file.
86180         * tests/uniwidth/test-u8-width.c: New file.
86181         * modules/uniwidth/u8-width-tests: New file.
86183         * lib/uniwidth/u8-width.c: New file.
86184         * modules/uniwidth/u8-width: New file.
86186         * tests/uniwidth/test-uc_width.c: New file.
86187         * modules/uniwidth/width-tests: New file.
86189         * lib/uniwidth/width.c: New file, from GNU libiconv.
86190         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
86191         * modules/uniwidth/width: New file.
86193         * lib/uniwidth.h: New file, from GNU libiconv.
86194         * modules/uniwidth/base: New file.
86196 2007-07-07  Bruno Haible  <bruno@clisp.org>
86198         * lib/uniname.h: New file, from GNU gettext.
86199         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
86200         * lib/uniname/uninames.h: New file, from GNU gettext.
86201         * lib/uniname/uniname.c: New file, from GNU gettext.
86202         * tests/uniname/test-uninames.sh: New file.
86203         * tests/uniname/test-uninames.c: New file, from GNU gettext.
86204         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
86205         * modules/uniname/base: New file.
86206         * modules/uniname/uniname: New file.
86207         * modules/uniname/uniname-tests: New file.
86208         * MODULES.html.sh (Unicode string functions): Add the new modules.
86210 2007-07-06  Bruno Haible  <bruno@clisp.org>
86212         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
86214 2007-07-06  Bruno Haible  <bruno@clisp.org>
86216         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
86217         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
86218         includes <cygwin/sys_time.h> which includes <sys/select.h> which
86219         include <sys/time.h>.
86220         Reported by Eric Blake.
86222 2007-07-06  Eric Blake  <ebb9@byu.net>
86224         Fix testing canonicalize on cygwin.
86225         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86226         Revert patch from 2007-06-19.
86227         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
86228         canonicalize module is also in use.
86229         * tests/test-canonicalize.c: New file.
86230         * tests/test-canonicalize.sh: Likewise.
86231         * modules/canonicalize-tests: Likewise.
86233 2007-07-06  Jim Meyering  <jim@meyering.net>
86235         * lib/getugroups.c (getugroups): Detect getgrent failure.
86236         Adjust comment to reflect reality: this function may return -1.
86238 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
86240         * build-aux/bootstrap (TP_URL,get_translations): Update to use
86241         the new TP address.
86242         (usage): Fix typo
86243         (gnulib_mk): New variable.
86245 2007-07-05  Jim Meyering  <jim@meyering.net>
86247         Don't let endgrent clobber errno, no matter how improbable.
86248         * lib/getugroups.c (getugroups): Save and restore errno around
86249         endgrent call.
86251         Close the group DB even when failing with 2^31 or more members.
86252         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
86254 2007-07-04  Jim Meyering  <jim@meyering.net>
86256         * lib/getugroups.h: New file.
86257         * lib/getugroups.c: Include "getugroups.h".
86258         Remove uses of "register" keyword.
86259         Move local variable, "cp", down into scope where used.
86260         Give "username" parameter the "const" attribute.
86261         * modules/getugroups (Files): Add lib/getugroups.h
86263 2007-07-04  Karl Berry  <karl@gnu.org>
86265         * MODULES.html.sh (func_all_modules): Complete rename of
86266         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
86268 2007-07-02  Bruno Haible  <bruno@clisp.org>
86270         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
86271         mode, when inttypes.h comes from gnulib.
86272         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
86274 2007-07-02  Simon Josefsson  <simon@josefsson.org>
86276         * NEWS: Mention lgpl module name change.
86278         * modules/lgpl-2.1: Renamed from lgpl.
86280         * NEWS: Mention gpl module name change.
86282         * modules/gpl-3.0: New file, based on gpl-2.0.
86284         * modules/gpl-2.0: Renamed from gpl.
86286         * modules/gpl: Fix filename, doc/gpl.texi is now found at
86287         doc/gpl-2.0.texi.
86289 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
86291         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
86292         #define __STDC_LIMIT_MACROS temporarily while including
86293         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
86294         Problem reported by Joel E. Denny in
86295         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
86297 2007-07-01  Bruno Haible  <bruno@clisp.org>
86299         * lib/unistdio.h: New file.
86300         * lib/unistdio/u-asnprintf.h: New file.
86301         * lib/unistdio/u-asprintf.h: New file.
86302         * lib/unistdio/u-printf-args.c: New file.
86303         * lib/unistdio/u-printf-args.h: New file.
86304         * lib/unistdio/u-printf-parse.h: New file.
86305         * lib/unistdio/u-snprintf.h: New file.
86306         * lib/unistdio/u-sprintf.h: New file.
86307         * lib/unistdio/u-vasprintf.h: New file.
86308         * lib/unistdio/u-vsnprintf.h: New file.
86309         * lib/unistdio/u-vsprintf.h: New file.
86310         * lib/unistdio/ulc-asnprintf.c: New file.
86311         * lib/unistdio/ulc-asprintf.c: New file.
86312         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
86313         * lib/unistdio/ulc-printf-parse.c: New file.
86314         * lib/unistdio/ulc-snprintf.c: New file.
86315         * lib/unistdio/ulc-sprintf.c: New file.
86316         * lib/unistdio/ulc-vasnprintf.c: New file.
86317         * lib/unistdio/ulc-vasprintf.c: New file.
86318         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
86319         * lib/unistdio/ulc-vsnprintf.c: New file.
86320         * lib/unistdio/ulc-vsprintf.c: New file.
86321         * lib/unistdio/u8-asnprintf.c: New file.
86322         * lib/unistdio/u8-asprintf.c: New file.
86323         * lib/unistdio/u8-printf-parse.c: New file.
86324         * lib/unistdio/u8-snprintf.c: New file.
86325         * lib/unistdio/u8-sprintf.c: New file.
86326         * lib/unistdio/u8-vasnprintf.c: New file.
86327         * lib/unistdio/u8-vasprintf.c: New file.
86328         * lib/unistdio/u8-vsnprintf.c: New file.
86329         * lib/unistdio/u8-vsprintf.c: New file.
86330         * lib/unistdio/u8-u8-asnprintf.c: New file.
86331         * lib/unistdio/u8-u8-asprintf.c: New file.
86332         * lib/unistdio/u8-u8-snprintf.c: New file.
86333         * lib/unistdio/u8-u8-sprintf.c: New file.
86334         * lib/unistdio/u8-u8-vasnprintf.c: New file.
86335         * lib/unistdio/u8-u8-vasprintf.c: New file.
86336         * lib/unistdio/u8-u8-vsnprintf.c: New file.
86337         * lib/unistdio/u8-u8-vsprintf.c: New file.
86338         * lib/unistdio/u16-asnprintf.c: New file.
86339         * lib/unistdio/u16-asprintf.c: New file.
86340         * lib/unistdio/u16-printf-parse.c: New file.
86341         * lib/unistdio/u16-snprintf.c: New file.
86342         * lib/unistdio/u16-sprintf.c: New file.
86343         * lib/unistdio/u16-vasnprintf.c: New file.
86344         * lib/unistdio/u16-vasprintf.c: New file.
86345         * lib/unistdio/u16-vsnprintf.c: New file.
86346         * lib/unistdio/u16-vsprintf.c: New file.
86347         * lib/unistdio/u16-u16-asnprintf.c: New file.
86348         * lib/unistdio/u16-u16-asprintf.c: New file.
86349         * lib/unistdio/u16-u16-snprintf.c: New file.
86350         * lib/unistdio/u16-u16-sprintf.c: New file.
86351         * lib/unistdio/u16-u16-vasnprintf.c: New file.
86352         * lib/unistdio/u16-u16-vasprintf.c: New file.
86353         * lib/unistdio/u16-u16-vsnprintf.c: New file.
86354         * lib/unistdio/u16-u16-vsprintf.c: New file.
86355         * lib/unistdio/u32-asnprintf.c: New file.
86356         * lib/unistdio/u32-asprintf.c: New file.
86357         * lib/unistdio/u32-printf-parse.c: New file.
86358         * lib/unistdio/u32-snprintf.c: New file.
86359         * lib/unistdio/u32-sprintf.c: New file.
86360         * lib/unistdio/u32-vasnprintf.c: New file.
86361         * lib/unistdio/u32-vasprintf.c: New file.
86362         * lib/unistdio/u32-vsnprintf.c: New file.
86363         * lib/unistdio/u32-vsprintf.c: New file.
86364         * lib/unistdio/u32-u32-asnprintf.c: New file.
86365         * lib/unistdio/u32-u32-asprintf.c: New file.
86366         * lib/unistdio/u32-u32-snprintf.c: New file.
86367         * lib/unistdio/u32-u32-sprintf.c: New file.
86368         * lib/unistdio/u32-u32-vasnprintf.c: New file.
86369         * lib/unistdio/u32-u32-vasprintf.c: New file.
86370         * lib/unistdio/u32-u32-vsnprintf.c: New file.
86371         * lib/unistdio/u32-u32-vsprintf.c: New file.
86372         * tests/unistdio/test-ulc-asnprintf1.c: New file.
86373         * tests/unistdio/test-ulc-asnprintf1.h: New file.
86374         * tests/unistdio/test-ulc-printf1.h: New file.
86375         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
86376         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
86377         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
86378         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
86379         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
86380         * tests/unistdio/test-ulc-vasprintf1.c: New file.
86381         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
86382         * tests/unistdio/test-ulc-vsprintf1.c: New file.
86383         * tests/unistdio/test-u8-asnprintf1.c: New file.
86384         * tests/unistdio/test-u8-asnprintf1.h: New file.
86385         * tests/unistdio/test-u8-printf1.h: New file.
86386         * tests/unistdio/test-u8-vasnprintf1.c: New file.
86387         * tests/unistdio/test-u8-vasnprintf2.c: New file.
86388         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
86389         * tests/unistdio/test-u8-vasnprintf3.c: New file.
86390         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
86391         * tests/unistdio/test-u8-vasprintf1.c: New file.
86392         * tests/unistdio/test-u8-vsnprintf1.c: New file.
86393         * tests/unistdio/test-u8-vsprintf1.c: New file.
86394         * tests/unistdio/test-u16-asnprintf1.c: New file.
86395         * tests/unistdio/test-u16-asnprintf1.h: New file.
86396         * tests/unistdio/test-u16-printf1.h: New file.
86397         * tests/unistdio/test-u16-vasnprintf1.c: New file.
86398         * tests/unistdio/test-u16-vasnprintf2.c: New file.
86399         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
86400         * tests/unistdio/test-u16-vasnprintf3.c: New file.
86401         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
86402         * tests/unistdio/test-u16-vasprintf1.c: New file.
86403         * tests/unistdio/test-u16-vsnprintf1.c: New file.
86404         * tests/unistdio/test-u16-vsprintf1.c: New file.
86405         * tests/unistdio/test-u32-asnprintf1.c: New file.
86406         * tests/unistdio/test-u32-asnprintf1.h: New file.
86407         * tests/unistdio/test-u32-printf1.h: New file.
86408         * tests/unistdio/test-u32-vasnprintf1.c: New file.
86409         * tests/unistdio/test-u32-vasnprintf2.c: New file.
86410         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
86411         * tests/unistdio/test-u32-vasnprintf3.c: New file.
86412         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
86413         * tests/unistdio/test-u32-vasprintf1.c: New file.
86414         * tests/unistdio/test-u32-vsnprintf1.c: New file.
86415         * tests/unistdio/test-u32-vsprintf1.c: New file.
86416         * modules/unistdio/base: New file.
86417         * modules/unistdio/u-printf-args: New file.
86418         * modules/unistdio/ulc-asnprintf: New file.
86419         * modules/unistdio/ulc-asprintf: New file.
86420         * modules/unistdio/ulc-fprintf: New file.
86421         * modules/unistdio/ulc-printf-parse: New file.
86422         * modules/unistdio/ulc-snprintf: New file.
86423         * modules/unistdio/ulc-sprintf: New file.
86424         * modules/unistdio/ulc-vasnprintf: New file.
86425         * modules/unistdio/ulc-vasprintf: New file.
86426         * modules/unistdio/ulc-vfprintf: New file.
86427         * modules/unistdio/ulc-vsnprintf: New file.
86428         * modules/unistdio/ulc-vsprintf: New file.
86429         * modules/unistdio/u8-asnprintf: New file.
86430         * modules/unistdio/u8-asprintf: New file.
86431         * modules/unistdio/u8-printf-parse: New file.
86432         * modules/unistdio/u8-snprintf: New file.
86433         * modules/unistdio/u8-sprintf: New file.
86434         * modules/unistdio/u8-vasnprintf: New file.
86435         * modules/unistdio/u8-vasprintf: New file.
86436         * modules/unistdio/u8-vsnprintf: New file.
86437         * modules/unistdio/u8-vsprintf: New file.
86438         * modules/unistdio/u8-u8-asnprintf: New file.
86439         * modules/unistdio/u8-u8-asprintf: New file.
86440         * modules/unistdio/u8-u8-snprintf: New file.
86441         * modules/unistdio/u8-u8-sprintf: New file.
86442         * modules/unistdio/u8-u8-vasnprintf: New file.
86443         * modules/unistdio/u8-u8-vasprintf: New file.
86444         * modules/unistdio/u8-u8-vsnprintf: New file.
86445         * modules/unistdio/u8-u8-vsprintf: New file.
86446         * modules/unistdio/u16-asnprintf: New file.
86447         * modules/unistdio/u16-asprintf: New file.
86448         * modules/unistdio/u16-printf-parse: New file.
86449         * modules/unistdio/u16-snprintf: New file.
86450         * modules/unistdio/u16-sprintf: New file.
86451         * modules/unistdio/u16-vasnprintf: New file.
86452         * modules/unistdio/u16-vasprintf: New file.
86453         * modules/unistdio/u16-vsnprintf: New file.
86454         * modules/unistdio/u16-vsprintf: New file.
86455         * modules/unistdio/u16-u16-asnprintf: New file.
86456         * modules/unistdio/u16-u16-asprintf: New file.
86457         * modules/unistdio/u16-u16-snprintf: New file.
86458         * modules/unistdio/u16-u16-sprintf: New file.
86459         * modules/unistdio/u16-u16-vasnprintf: New file.
86460         * modules/unistdio/u16-u16-vasprintf: New file.
86461         * modules/unistdio/u16-u16-vsnprintf: New file.
86462         * modules/unistdio/u16-u16-vsprintf: New file.
86463         * modules/unistdio/u32-asnprintf: New file.
86464         * modules/unistdio/u32-asprintf: New file.
86465         * modules/unistdio/u32-printf-parse: New file.
86466         * modules/unistdio/u32-snprintf: New file.
86467         * modules/unistdio/u32-sprintf: New file.
86468         * modules/unistdio/u32-vasnprintf: New file.
86469         * modules/unistdio/u32-vasprintf: New file.
86470         * modules/unistdio/u32-vsnprintf: New file.
86471         * modules/unistdio/u32-vsprintf: New file.
86472         * modules/unistdio/u32-u32-asnprintf: New file.
86473         * modules/unistdio/u32-u32-asprintf: New file.
86474         * modules/unistdio/u32-u32-snprintf: New file.
86475         * modules/unistdio/u32-u32-sprintf: New file.
86476         * modules/unistdio/u32-u32-vasnprintf: New file.
86477         * modules/unistdio/u32-u32-vasprintf: New file.
86478         * modules/unistdio/u32-u32-vsnprintf: New file.
86479         * modules/unistdio/u32-u32-vsprintf: New file.
86480         * modules/unistdio/ulc-asnprintf-tests: New file.
86481         * modules/unistdio/ulc-vasnprintf-tests: New file.
86482         * modules/unistdio/ulc-vasprintf-tests: New file.
86483         * modules/unistdio/ulc-vsnprintf-tests: New file.
86484         * modules/unistdio/ulc-vsprintf-tests: New file.
86485         * modules/unistdio/u8-asnprintf-tests: New file.
86486         * modules/unistdio/u8-vasnprintf-tests: New file.
86487         * modules/unistdio/u8-vasprintf-tests: New file.
86488         * modules/unistdio/u8-vsnprintf-tests: New file.
86489         * modules/unistdio/u8-vsprintf-tests: New file.
86490         * modules/unistdio/u16-asnprintf-tests: New file.
86491         * modules/unistdio/u16-vasnprintf-tests: New file.
86492         * modules/unistdio/u16-vasprintf-tests: New file.
86493         * modules/unistdio/u16-vsnprintf-tests: New file.
86494         * modules/unistdio/u16-vsprintf-tests: New file.
86495         * modules/unistdio/u32-asnprintf-tests: New file.
86496         * modules/unistdio/u32-vasnprintf-tests: New file.
86497         * modules/unistdio/u32-vasprintf-tests: New file.
86498         * modules/unistdio/u32-vsnprintf-tests: New file.
86499         * modules/unistdio/u32-vsprintf-tests: New file.
86500         * MODULES.html.sh (Unicode string functions): Add the new modules.
86502 2007-07-01  Bruno Haible  <bruno@clisp.org>
86504         * lib/sprintf.c (sprintf): Limit the available length estimation,
86505         to avoid address wraparound.
86506         * lib/vsprintf.c (vsprintf): Likewise.
86507         * modules/sprintf-posix (Dependencies): Add stdint.
86508         * modules/vsprintf-posix (Dependencies): Likewise.
86510 2007-07-01  Bruno Haible  <bruno@clisp.org>
86512         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
86513         Windows PATH as well. Conservative double-quoting. Comments.
86515 2007-07-01  Bruno Haible  <bruno@clisp.org>
86516             Eric Blake  <ebb9@byu.net>
86517             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86519         * gnulib-tool (self_abspathname): Fix algorithm to cope with
86520         empty components in $PATH, denoting '.'.
86522 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86524         * gnulib-tool: Fix indentation.
86525         (func_create_megatestdir): Likewise.
86526         Report by Bruno Haible.
86528 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86530         Sync from Automake.
86531         * build-aux/gnupload: Fix shell portability issues with for loops.
86532         Report by Karl Berry.
86534 2007-06-29  Simon Josefsson  <simon@josefsson.org>
86536         * build-aux/maint.mk (POURL): Use translationproject.org.
86538 2007-06-27  Simon Josefsson  <simon@josefsson.org>
86539             Bruno Haible  <bruno@clisp.org>
86541         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
86542         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
86543         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
86544         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
86545         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
86547 2007-06-27  Bruno Haible  <bruno@clisp.org>
86549         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
86550         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
86552 2007-06-26  Karl Berry  <karl@gnu.org>
86554         * MODULES.html.sh: remove xreadlink-with-size.
86556 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86558         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
86559         method that I hope also handles the double-include problem noted
86560         by Bruno Haible in
86561         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
86563 2007-06-23  Bruno Haible  <bruno@clisp.org>
86565         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
86566         Don't let the 'mostlyclean' target fail if the last subdirectory could
86567         not be removed.
86568         Reported by Karl Berry.
86570 2007-06-23  Bruno Haible  <bruno@clisp.org>
86572         * gnulib-tool (echo): Add a speedier workaround for ksh.
86573         * tests/test-echo.sh: Likewise.
86575 2007-06-23  Bruno Haible  <bruno@clisp.org>
86577         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
86578         * tests/test-echo.sh: Likewise.
86580 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86582         * gnulib-tool (IFS): Initialize early, so we don't set it to
86583         empty later.
86584         (self_abspathname): Rewrite algorithm to set it, reindent.
86585         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
86586         (func_create_megatestdir): Merge some sed scripts.
86588 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86590         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
86591         exposed by Sun Studio 11 cc on Solaris 8.
86593 2007-06-22  Bruno Haible  <bruno@clisp.org>
86595         * gnulib-tool (echo): Ensure the echo primitive does not interpret
86596         backslashes.
86597         * tests/test-echo.sh: New file.
86599 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86601         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
86602         simplify `sed_replace_build_aux' scripts, they are portable but
86603         echoing them with `echo' is not.
86604         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
86606 2007-06-21  Karl Berry  <karl@gnu.org>
86608         * config/srclist.txt: guess we can't handle the licenses via
86609         srclist at the moment.
86611 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
86613         * MODULES.html.sh: Add include_next.
86614         * modules/include_next: New file.
86616 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
86618         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
86619         INCLUDE_NEXT.
86620         (gl_CHECK_NEXT_HEADERS): New macro.
86621         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
86622         the obsolescent gl_ABSOLUTE_HEADER.
86623         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
86624         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
86625         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
86626         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
86627         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
86628         * m4/math_h.m4 (gl_MATH_H): Likewise.
86629         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
86630         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
86631         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
86632         * m4/stdint.m4 (gl_STDINT_H): Likewise.
86633         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
86634         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
86635         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
86636         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
86637         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
86638         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
86639         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
86640         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
86641         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
86642         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
86643         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
86644         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
86645         * m4/inttypes.m4 (gl_INTTYPES_H): Define
86646         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
86647         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
86648         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
86649         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
86650         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
86651         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
86652         * lib/float_.h: Likewise.
86653         * lib/inttypes_.h: Likewise.
86654         * lib/math_.h: Likewise.
86655         * lib/search_.h: Likewise.
86656         * lib/signal_.h: Likewise.
86657         * lib/stdint_.h: Likewise.
86658         * lib/stdio_.h: Likewise.
86659         * lib/stdlib_.h: Likewise.
86660         * lib/string_.h: Likewise.
86661         * lib/sys_stat_.h: Likewise.
86662         * lib/sys_time_.h: Likewise.
86663         * lib/time_.h: Likewise.
86664         * lib/unistd_.h: Likewise.
86665         * lib/wchar_.h: Likewise.
86666         * lib/wctype_.h: Likewise.
86667         * lib/dirent_.h: Likewise.
86668         * lib/iconv_.h: Likewise.
86669         * lib/locale_.h: Likewise.
86670         * lib/netinet_in_.h: Likewise.
86671         * lib/sys_select_.h: Likewise.
86672         * lib/sys_socket_.h: Likewise.
86673         * lib/sysexits_.h: Likewise.
86674         * modules/fcntl (Depends-on): Depend on include_next, not
86675         absolute_header.
86676         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
86677         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
86678         * modules/fchdir: Likewise.
86679         * modules/float: Likewise.
86680         * modules/iconv_open: Likewise.
86681         * modules/inttypes: Likewise.
86682         * modules/locale: Likewise.
86683         * modules/math: Likewise.
86684         * modules/netinet_in: Likewise.
86685         * modules/search: Likewise.
86686         * modules/signal: Likewise.
86687         * modules/stdint: Likewise.
86688         * modules/stdio: Likewise.
86689         * modules/stdlib: Likewise.
86690         * modules/string: Likewise.
86691         * modules/sys_select: Likewise.
86692         * modules/sys_socket: Likewise.
86693         * modules/sys_stat: Likewise.
86694         * modules/sys_time: Likewise.
86695         * modules/sysexits: Likewise.
86696         * modules/time: Likewise.
86697         * modules/unistd: Likewise.
86698         * modules/wchar: Likewise.
86699         * modules/wctype: Likewise.
86700         * modules/sys_stat: Change maintainer to "all".
86701         * modules/unistd: Likewise.
86703 2007-06-20  Karl Berry  <karl@gnu.org>
86705         * config/srclist.txt: track www changes in license files.
86707 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
86709         * build-aux/bootstrap: Remove stray dot.
86710         Make sure build_aux settings are honored when linking
86711         gnulib_extra_files.
86713 2007-06-19  Eric Blake  <ebb9@byu.net>
86715         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86716         Allow compilation on cygwin.
86718 2007-06-19  Jim Meyering  <jim@meyering.net>
86720         xreadlink-with-size: Remove module.  No longer used.
86721         Ex-callers now use xreadlink or mreadlink-with-size.
86722         * modules/xreadlink-with-size: Remove module.
86723         * lib/xreadlink-with-size.c: Remove file.
86724         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
86725         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
86726         just before the function definition *is* accurate.
86728         Eliminate one way canonicalize_filename_mode could exit.
86729         * lib/canonicalize.c (canonicalize_filename_mode):
86730         Use mreadlink_with_size, not xreadlink_with_size.
86732 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
86734         Detect porting problems to FreeBSD/arm, which has time_t wider than
86735         long int.  Original problem reported for GNU diff by Xin Li in
86736         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
86737         * modules/getdate (Depends-on): Add intprops, verify.
86738         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
86739         is an integer type no wider than long int.
86741 2007-06-18  Jim Meyering  <jim@meyering.net>
86743         New module: mreadlink-with-size.
86744         * MODULES.html.sh: Add mreadlink-with-size.
86745         * modules/mreadlink-with-size: New module
86746         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86747         not xreadlink-with-size.
86748         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86750 2007-06-16  Bruno Haible  <bruno@clisp.org>
86752         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86753         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86754         Reported by Gary V. Vaughan <gary@gnu.org>.
86756 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86758         Revamp lchown so that it lives in unistd.h where it belongs.
86759         * lib/lchown.h: Remove.
86760         * lib/dirchownmod.c: Don't include lib/lchown.h.
86761         * lib/fchownat.c: Likewise.
86762         * lib/openat.c: Likewise.
86763         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86764         does not follow symlinks.
86765         (EOPNOTSUPP): Define if not defined.
86766         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86767         is defined to 0.
86768         (lchown): New decl.
86769         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86770         Do not check for lchown decl.
86771         Set REPLACE_LCHOWN.
86772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86773         REPLACE_LCHOWN.
86774         * modules/chown: Make it clear it follows symlinks.
86775         * modules/lchown: Make it clear it doesn't follow symlinks.
86776         (Files): Remove lib/lchown.h
86777         (Depends-on): Add unistd.
86778         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86779         (Include): Include <unistd.h>, not "lchown.h".
86780         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86781         REPLACE_LCHOWN.
86783 2007-06-15  Jim Meyering  <jim@meyering.net>
86785         Change license (GPL to LGPL) of fsusage and dependents.
86786         * modules/fsusage (License): Change to LGPL.
86787         * modules/full-read (License): Likewise.
86788         * modules/full-write (License): Likewise.
86789         * modules/safe-read (License): Likewise.
86790         * modules/safe-write (License): Likewise.
86792 2007-06-14  Ben Pfaff  <blp@gnu.org>
86794         Missing part of allocsa -> malloca transition.
86795         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86796         gl_MALLOCA.
86798 2007-06-12  Bruno Haible  <bruno@clisp.org>
86800         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86801         to ia64, x86_64, i386.
86802         Reported by Eric Blake.
86804 2007-06-12  Bruno Haible  <bruno@clisp.org>
86806         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86807         cross-compiling to x86_64.
86809 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86811         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86812         glitch reported by Ralf Wildenhues in
86813         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86815         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86816         Vin Shelton.
86818 2007-06-11  Bruno Haible  <bruno@clisp.org>
86820         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86821         replacement string.
86822         Reported by Eric Blake.
86824 2007-06-10  Bruno Haible  <bruno@clisp.org>
86826         Prepare vasnprintf code for use with Unicode strings.
86827         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86828         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86829         TYPE_U32_STRING.
86830         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86831         a_u32_string variants.
86832         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86833         * lib/printf-args.c: Don't include config.h and the specification
86834         header if PRINTF_FETCHARGS is already defined.
86835         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86836         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86837         TYPE_U16_STRING, TYPE_U32_STRING.
86838         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86839         u16_directive, u16_directives, u32_directive, u32_directives): New
86840         types.
86841         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86842         New declarations.
86843         * lib/printf-parse.c: Don't include config.h and the specification
86844         header if PRINTF_PARSE is already defined. Eliminate the set of
86845         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86846         them now. Include c-ctype.h.
86847         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86848         directive and CHAR_T_ONLY_ASCII.
86849         * lib/vasnprintf.c: Don't include config.h and the specification header
86850         if VASNPRINTF is already defined.
86851         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86852         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86853         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86854         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86855         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86856         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86857         code accordingly.
86858         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86859         pad_ourselves also in this case, with the 'c' and 's' directives, and
86860         with a different notion of "width".
86861         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86863 2007-06-10  Bruno Haible  <bruno@clisp.org>
86865         * modules/unistr/u32-mbsnlen: New file.
86866         * lib/unistr/u32-mbsnlen.c: New file.
86868         * modules/unistr/u16-mbsnlen: New file.
86869         * lib/unistr/u16-mbsnlen.c: New file.
86871         * modules/unistr/u8-mbsnlen: New file.
86872         * lib/unistr/u8-mbsnlen.c: New file.
86874         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86875         declarations.
86877 2007-06-10  Bruno Haible  <bruno@clisp.org>
86879         * lib/string_.h (mbsnlen): New declaration.
86880         * lib/mbsnlen.c: New file.
86881         * m4/mbsnlen.m4: New file.
86882         * modules/mbsnlen: New file.
86883         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86884         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86885         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86887 2007-06-10  Bruno Haible  <bruno@clisp.org>
86889         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86891 2007-06-10  Bruno Haible  <bruno@clisp.org>
86893         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86894         * lib/mbuiter.h: Likewise.
86896 2007-06-10  Bruno Haible  <bruno@clisp.org>
86898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86899         declaration.
86901 2007-06-10  Karl Berry  <karl@gnu.org>
86903         * config/srclist.txt: remove gettext entries, Bruno prefers
86904         to update individually.
86906 2007-06-10  Bruno Haible  <bruno@clisp.org>
86908         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86909         'maxlen'. Ensure only length + width bytes are allocated, not
86910         length + 1 + width.
86912 2007-06-09  Bruno Haible  <bruno@clisp.org>
86914         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86915         (CHAR_T): Remove macro.
86916         (VASNPRINTF): Update.
86918 2007-06-09  Bruno Haible  <bruno@clisp.org>
86920         * MODULES.html.sh (Unicode string functions): Add the new modules.
86922         * modules/uniconv/u32-conv-to-enc: New file.
86923         * lib/uniconv/u32-conv-to-enc.c: New file.
86924         * modules/uniconv/u32-conv-to-enc-tests: New file.
86925         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86927         * modules/uniconv/u16-conv-to-enc: New file.
86928         * lib/uniconv/u16-conv-to-enc.c: New file.
86929         * lib/uniconv/u-conv-to-enc.h: New file.
86930         * modules/uniconv/u16-conv-to-enc-tests: New file.
86931         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86933         * modules/uniconv/u8-conv-to-enc: New file.
86934         * lib/uniconv/u8-conv-to-enc.c: New file.
86935         * modules/uniconv/u8-conv-to-enc-tests: New file.
86936         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86938         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86939         u32_conv_to_encoding): New declarations.
86941 2007-06-09  Bruno Haible  <bruno@clisp.org>
86943         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86945 2007-06-09  Bruno Haible  <bruno@clisp.org>
86947         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86948         * modules/malloca: Renamed from modules/allocsa, updated.
86949         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86950         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86951         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86952         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86953         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86954         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86955         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86956         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86957         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86958         * modules/c-strcasestr (Depends-on): Update.
86959         * lib/c-strcasestr.c: Update.
86960         * modules/c-strstr (Depends-on): Update.
86961         * lib/c-strstr.c: Update.
86962         * modules/canonicalize-lgpl (Depends-on): Update.
86963         * lib/canonicalize-lgpl.c: Update.
86964         * modules/clean-temp (Depends-on): Update.
86965         * lib/clean-temp.c: Update.
86966         * modules/csharpcomp (Depends-on): Update.
86967         * lib/csharpcomp.c: Update.
86968         * modules/csharpexec (Depends-on): Update.
86969         * lib/csharpexec.c: Update.
86970         * modules/javacomp (Depends-on): Update.
86971         * lib/javacomp.c: Update.
86972         * modules/javaexec (Depends-on): Update.
86973         * lib/javaexec.c: Update.
86974         * modules/mbscasestr (Depends-on): Update.
86975         * lib/mbscasestr.c: Update.
86976         * modules/mbsstr (Depends-on): Update.
86977         * lib/mbsstr.c: Update.
86978         * modules/setenv (Depends-on): Update.
86979         * lib/setenv.c: Update.
86980         * modules/strcasestr (Depends-on): Update.
86981         * lib/strcasestr.c: Update.
86982         * modules/striconveha (Depends-on): Update.
86983         * lib/striconveha.c: Update.
86984         * modules/relocatable-prog-wrapper (Files): Update.
86985         * lib/relocwrapper.c: Update.
86986         * build-aux/install-reloc: Update.
86987         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
86989 2007-06-08  Bruno Haible  <bruno@clisp.org>
86991         Port to uClibc.
86992         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
86993         * lib/fpurge.c (fpurge): Likewise.
86994         * lib/freading.c (freading): Likewise.
86995         * lib/fseeko.c (rpl_fseeko): Likewise.
86996         * lib/fseterr.c (fseterr): Likewise.
86997         * lib/fwriting.c (fwriting): Likewise.
86998         * tests/test-fflush.c (main): Avoid a failure on uClibc.
87000 2007-06-08  Bruno Haible  <bruno@clisp.org>
87002         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
87003         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
87004         * modules/gettext (Files): Add m4/intlmacosx.m4.
87006 2007-06-07  Bruno Haible  <bruno@clisp.org>
87008         * modules/localename-tests: New file.
87009         * tests/test-localename.c: New file.
87011         New module 'localename'.
87012         * lib/localename.h: New file.
87013         * lib/localename.c: New file, from GNU gettext.
87014         * m4/localename.m4: New file.
87015         * modules/localename: New file.
87017 2007-06-07  Bruno Haible  <bruno@clisp.org>
87019         Work around the lack of <wchar.h> on some builds of uClibc.
87020         * doc/headers/wchar.texi: Update.
87021         * lib/wchar_.h: Include <wchar.h> only if it exists.
87022         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
87023         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
87024         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
87025         doesn't exist.
87026         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
87027         * modules/mbfile (Depends-on): Add wchar.
87028         * modules/mbiter (Depends-on): Likewise.
87029         * modules/mbuiter (Depends-on): Likewise.
87030         Reported by Simon Josefsson.
87032 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87034         Work around problem reported by Steven M. Schweda in
87035         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
87036         Tru64 5.1B with the Compaq compiler environment installed declares
87037         an 'isblank' function but does not define it in the C library.
87038         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
87039         * lib/regex_internal.h (isblank): Likewise.
87040         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
87041         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
87043 2007-06-05  Bruno Haible  <bruno@clisp.org>
87045         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
87046         ia64.
87047         * modules/printf-safe: New file.
87048         * modules/fprintf-posix (Depends-on): Add printf-safe.
87049         * modules/printf-posix (Depends-on): Likewise.
87050         * modules/snprintf-posix (Depends-on): Likewise.
87051         * modules/sprintf-posix (Depends-on): Likewise.
87052         * modules/vasnprintf-posix (Depends-on): Likewise.
87053         * modules/vasprintf-posix (Depends-on): Likewise.
87054         * modules/vfprintf-posix (Depends-on): Likewise.
87055         * modules/vprintf-posix (Depends-on): Likewise.
87056         * modules/vsnprintf-posix (Depends-on): Likewise.
87057         * modules/vsprintf-posix (Depends-on): Likewise.
87058         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
87059         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
87060         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
87061         "no" on i386, x86_64, ia64.
87062         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
87063         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87064         on i386, x86_64, ia64.
87065         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
87066         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87067         on i386, x86_64, ia64.
87068         * tests/test-vasnprintf-posix.c: Include float.h.
87069         (LDBL80_WORDS): New macro.
87070         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87071         on i386, x86_64, ia64.
87072         * tests/test-vasprintf-posix.c: Include float.h.
87073         (LDBL80_WORDS): New macro.
87074         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87075         on i386, x86_64, ia64.
87076         * tests/test-snprintf-posix.c: Include float.h.
87077         * tests/test-sprintf-posix.c: Likewise.
87078         * tests/test-vsnprintf-posix.c: Likewise.
87079         * tests/test-vsprintf-posix.c: Likewise.
87081 2007-06-05  Bruno Haible  <bruno@clisp.org>
87083         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
87084         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
87085         non-IEEE numbers on i386, x86_64, ia64.
87086         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
87087         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
87088         * tests/test-isnanl.h: Include float.h.
87089         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
87091 2007-06-05  Bruno Haible  <bruno@clisp.org>
87093         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
87094         also the %a / %A. Handle the %a / %A code before this extra handling.
87096 2007-06-05  Bruno Haible  <bruno@clisp.org>
87098         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
87099         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
87101 2007-06-05  Bruno Haible  <bruno@clisp.org>
87103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
87104         typo in variable name.
87106 2007-06-05  Eric Blake  <ebb9@byu.net>
87108         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
87109         Reported by Simon Josefsson.
87111 2007-06-04  Bruno Haible  <bruno@clisp.org>
87113         Avoid test failures on some PowerPC platforms.
87114         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
87115         Define differently for PowerPC.
87116         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
87117         Reported by Gary V. Vaughan <gary@gnu.org>.
87119 2007-06-02  Bruno Haible  <bruno@clisp.org>
87121         Fix test-stdint failure on FreeBSD/ia64.
87122         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
87123         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
87124         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
87125         * doc/headers/stdint.texi: Update.
87127 2007-06-01  Bruno Haible  <bruno@clisp.org>
87129         * tests/test-binary-io.c (main): Pass a third argument to open().
87130         Reported by Gary V. Vaughan <gary@gnu.org>.
87132 2007-06-01  Bruno Haible  <bruno@clisp.org>
87134         * doc/functions/frexpl.texi: Update for mingw.
87136 2007-06-01  Bruno Haible  <bruno@clisp.org>
87138         * tests/test-lseek.c (main): Disable test of errno for invalid third
87139         argument.
87140         * doc/functions/lseek.texi: Update.
87141         Reported by Gary V. Vaughan <gary@gnu.org>.
87143 2007-05-28  Bruno Haible  <bruno@clisp.org>
87145         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
87147 2007-05-31  Eric Blake  <ebb9@byu.net>
87149         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
87150         cross compiling.
87152 2007-05-30  Eric Blake  <ebb9@byu.net>
87153         and Bruno Haible  <bruno@clisp.org>
87155         Work around mingw test failures exposed by m4-1.4.9b.
87156         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
87157         * tests/test-unistd.c: Disable uid_t and git_t tests for the
87158         moment.
87160 2007-05-30  Bruno Haible  <bruno@clisp.org>
87162         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
87163         assuming that they are closed. Needed on HP-UX 11.
87165 2007-05-29  Bruno Haible  <bruno@clisp.org>
87167         Fix a problem with #include_next.
87168         * lib/dirent_.h: Split the double-inclusion guard.
87169         * lib/fcntl_.h: Likewise.
87170         * lib/float_.h: Likewise.
87171         * lib/iconv_.h: Likewise.
87172         * lib/inttypes_.h: Likewise.
87173         * lib/locale_.h: Likewise.
87174         * lib/math_.h: Likewise.
87175         * lib/netinet_in_.h: Likewise.
87176         * lib/search_.h: Likewise.
87177         * lib/signal_.h: Likewise.
87178         * lib/stdint_.h: Likewise.
87179         * lib/stdio_.h: Likewise.
87180         * lib/stdlib_.h: Likewise.
87181         * lib/string_.h: Likewise.
87182         * lib/sys_select_.h: Likewise.
87183         * lib/sys_socket_.h: Likewise.
87184         * lib/sys_stat_.h: Likewise.
87185         * lib/sys_time_.h: Likewise.
87186         * lib/sysexits_.h: Likewise.
87187         * lib/time_.h: Likewise.
87188         * lib/unistd_.h: Likewise.
87189         * lib/wchar_.h: Likewise.
87190         * lib/wctype_.h: Likewise.
87192 2007-05-29  Bruno Haible  <bruno@clisp.org>
87194         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
87195         for the moment.
87197 2007-05-29  Bruno Haible  <bruno@clisp.org>
87199         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
87200         invocation.
87201         Reported by Eric Blake.
87203 2007-05-29  Bruno Haible  <bruno@clisp.org>
87205         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
87206         compiling case.
87208 2007-05-29  Eric Blake  <ebb9@byu.net>
87209             Bruno Haible  <bruno@clisp.org>
87211         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
87212         cross compiles.
87214 2007-05-28  Eric Blake  <ebb9@byu.net>
87216         * modules/closein-tests (test_closein_LDADD): Support test on
87217         cygwin with libtool.
87219 2007-05-28  Bruno Haible  <bruno@clisp.org>
87221         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
87222         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
87223         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
87224         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
87225         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
87226         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
87227         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
87228         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
87229         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
87231 2007-05-28  Eric Blake  <ebb9@byu.net>
87233         Unconditionally include <config.h> in unit tests.
87234         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
87235         * tests/test-allocsa.c, tests/test-arcfour.c,
87236         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
87237         tests/test-array_list.c, tests/test-array_oset.c,
87238         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
87239         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
87240         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
87241         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
87242         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
87243         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
87244         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
87245         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
87246         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
87247         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
87248         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
87249         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
87250         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
87251         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
87252         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
87253         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
87254         test-md5.c, test-memmem.c, test-printf-posix.c,
87255         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
87256         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
87257         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
87258         test-strcasestr.c, test-striconv.c, test-striconveh.c,
87259         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
87260         test-vasnprintf-posix2.c, test-vasnprintf.c,
87261         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
87262         test-vfprintf-posix.c, test-vprintf-posix.c,
87263         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
87264         test-xvasprintf.c: Likewise.
87266 2007-05-28  Bruno Haible  <bruno@clisp.org>
87268         * gnulib-tool (func_import): Remember the --with-tests command-line
87269         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
87270         Reported by Eric Blake.
87272 2007-05-28  Bruno Haible  <bruno@clisp.org>
87274         * modules/ftell-tests: New file.
87275         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
87276         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
87278         * lib/ftell.c: New file.
87279         * modules/ftell: New file.
87280         * m4/ftell.m4: New file.
87281         * doc/functions/ftell.texi: Update.
87282         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
87283         REPLACE_FTELL.
87284         * lib/stdio_.h (rpl_ftell): New declaration.
87285         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
87286         REPLACE_FTELL.
87288 2007-05-28  Eric Blake  <ebb9@byu.net>
87290         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
87292 2007-05-28  Bruno Haible  <bruno@clisp.org>
87294         * modules/fseek-tests: New file.
87295         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
87296         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
87298         * lib/fseek.c: New file.
87299         * modules/fseek: New file.
87300         * m4/fseek.m4: New file.
87301         * doc/functions/fseek.texi: Update.
87302         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
87303         REPLACE_FSEEK.
87304         * lib/stdio_.h (rpl_fseek): New declaration.
87305         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
87306         REPLACE_FSEEK.
87308 2007-05-28  Bruno Haible  <bruno@clisp.org>
87310         * lib/stdio_.h (fflush): More comments.
87312 2007-05-28  Bruno Haible  <bruno@clisp.org>
87314         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
87315         runtime test.
87317 2007-05-28  Eric Blake  <ebb9@byu.net>
87319         Improve lseek module.
87320         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
87321         * lib/unistd_.h (lseek): Scale back link warning message.
87322         * tests/test-lseek.c: Beef up test.
87323         * tests/test-lseek.sh: Exercise more facets of lseek.
87324         Reported by Bruno Haible.
87326 2007-05-28  Bruno Haible  <bruno@clisp.org>
87328         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
87329         to define.
87331 2007-05-27  Bruno Haible  <bruno@clisp.org>
87333         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
87335 2007-05-27  Bruno Haible  <bruno@clisp.org>
87337         * modules/openmp: New file.
87338         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
87339         Noah Misch.
87341 2007-05-26  Bruno Haible  <bruno@clisp.org>
87343         * modules/chdir-long (Depends-on): Add fchdir.
87344         * modules/chdir-safer (Depends-on): Likewise.
87345         * modules/fts (Depends-on): Likewise.
87346         * modules/fts-lgpl (Depends-on): Likewise.
87347         * modules/openat (Depends-on): Likewise.
87348         * modules/savewd (Depends-on): Likewise.
87350 2007-05-24  Eric Blake  <ebb9@byu.net>
87352         Fix lseek on mingw.
87353         * modules/lseek: New module.
87354         * m4/lseek.m4: New file.
87355         * lib/lseek.c: New file.
87356         * modules/lseek-tests: New file.
87357         * tests/test-lseek.c: New file.
87358         * tests/test-lseek.sh: New file.
87359         * MODULES.html.sh: Document lseek module.
87360         * modules/fflush (Depends-on): Add lseek, fseeko.
87361         * modules/fseeko (Depends-on): Likewise.
87362         * modules/ftello (Depends-on): Likewise.
87363         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
87364         broken.
87365         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
87366         broken.
87367         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
87368         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
87369         * lib/ftello.c (rpl_ftello): Likewise.
87370         * tests/test-fseeko.c (main): Test this.
87371         * tests/test-fseeko.sh: Likewise.
87372         * tests/test-ftello.c (main): Likewise.
87373         * tests/test-ftello.sh: Likewise.
87374         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
87375         implies replacing fseek.
87376         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
87377         HAVE_FTELLO.
87378         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
87379         * modules/unistd (Makefile.am): Likewise.
87380         * lib/unistd_.h (lseek): Declare a replacement.
87381         * doc/functions/lseek.texi (lseek): Document this fix.
87382         * doc/functions/fseek.texi (fseek): Likewise.
87383         * doc/functions/ftell.texi (ftell): Likewise.
87385 2007-05-24  Bruno Haible  <bruno@clisp.org>
87387         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
87388         in the printed representation of a NaN.
87389         * tests/test-vasprintf-posix.c (test_function): Likewise.
87390         * tests/test-snprintf-posix.h (test_function): Likewise.
87391         * tests/test-sprintf-posix.h (test_function): Likewise.
87392         Reported by Eric Blake.
87394 2007-05-23  Eric Blake  <ebb9@byu.net>
87396         Fix fseeko/ftello on cygwin 1.5.24.
87397         * doc/functions/fseeko.texi (fseeko): Document the fix.
87398         * doc/functions/ftello.texi (ftello): Document the fix.
87399         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
87400         * doc/functions/stdout.text (stdout): New file.
87401         * doc/functions/stderr.text (stderr): New file.
87402         * doc/gnulib.texi (Function Substitutes): Use new files.
87403         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
87404         prior to 1.7.0.
87405         * tests/test-ftello.c (main): Likewise for ftello.
87406         * tests/test-fseeko.sh: New file.
87407         * tests/test-ftello.sh: New file.
87408         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
87409         with seekable stdin.
87410         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
87411         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
87412         (gl_REPLACE_FSEEKO): New macro.
87413         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
87414         * modules/fseeko (Files): Distribute fseeko.c.
87415         * modules/ftello (Files): Distribute ftello.c.
87416         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
87417         mode.
87418         * lib/ftello.c (rpl_ftello): New file.
87419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
87420         fseeko, ftello.
87421         (gl_STDIN_LARGE_OFFSET): New macro.
87422         * modules/stdio (Makefile.am): Perform the replacement.
87423         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
87425 2007-05-23  Bruno Haible  <bruno@clisp.org>
87427         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
87428         GNULIB_POSIXCHECK is defined.
87430 2007-05-21  Bruno Haible  <bruno@clisp.org>
87432         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
87433         Check also the output for NaN arguments. When cross-compiling, guess
87434         no on IRIX.
87435         * lib/vasnprintf.c: Update comments.
87436         * tests/test-vasnprintf-posix.c (strisnan): New function.
87437         (test_function): Use it.
87438         * tests/test-vasprintf-posix.c (strisnan): New function.
87439         (test_function): Use it.
87440         * tests/test-snprintf-posix.h (strisnan): New function.
87441         (test_function): Use it.
87442         * tests/test-sprintf-posix.h (strisnan): New function.
87443         (test_function): Use it.
87444         Reported by Eric Blake.
87446 2007-05-20  Bruno Haible  <bruno@clisp.org>
87448         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
87449         numbers that fails on BeOS.
87450         * doc/functions/frexpl.texi: Update.
87452 2007-05-20  Jim Meyering  <jim@meyering.net>
87454         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
87455         forced upon us by glibc-2.6.
87457 2007-05-20  Bruno Haible  <bruno@clisp.org>
87459         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
87460         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
87461         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
87462         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
87463         NEED_PRINTF_INFINITE.
87464         (is_infinitel): New function.
87465         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
87466         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
87467         gl_PREREQ_VASNPRINTF_INFINITE.
87468         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
87469         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87470         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
87471         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
87472         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
87473         gl_PREREQ_VASNPRINTF_INFINITE.
87474         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87475         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87476         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87477         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87478         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87479         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87480         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87481         * doc/functions/fprintf.texi: Update.
87482         * doc/functions/printf.texi: Update.
87483         * doc/functions/snprintf.texi: Update.
87484         * doc/functions/sprintf.texi: Update.
87485         * doc/functions/vfprintf.texi: Update.
87486         * doc/functions/vprintf.texi: Update.
87487         * doc/functions/vsnprintf.texi: Update.
87488         * doc/functions/vsprintf.texi: Update.
87490 2007-05-20  Bruno Haible  <bruno@clisp.org>
87492         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
87493         was not found in libc.
87494         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
87496 2007-05-20  Bruno Haible  <bruno@clisp.org>
87498         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87499         printed as "-nan" instead of "nan".
87500         * tests/test-vasprintf-posix.c (test_function): Likewise.
87501         * tests/test-snprintf-posix.h (test_function): Likewise.
87502         * tests/test-sprintf-posix.h (test_function): Likewise.
87503         Needed for HP-UX 11.
87505 2007-05-20  Jim Meyering  <jim@meyering.net>
87507         Fix buggy test for the fchownat-deref bug.
87508         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
87509         symlink required for the run-test.  Without it, this test would
87510         always declare that fchownat doesn't work, and client code would
87511         unnecessarily use the replacement function with fixed libc.
87512         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
87513         Reported by Greg Schafer.
87515 2007-05-19  Bruno Haible  <bruno@clisp.org>
87517         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
87518         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
87519         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
87520         Needed for IRIX 6.5 and Solaris 2.5.1.
87522 2007-05-19  Bruno Haible  <bruno@clisp.org>
87524         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
87525         (test_function): Skip tests involving -0.0 on platforms where
87526         -0.0 = 0.0.
87527         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
87528         (test_function): Skip tests involving -0.0 on platforms where
87529         -0.0 = 0.0.
87530         * tests/test-snprintf-posix.h (have_minus_zero): New function.
87531         (test_function): Skip tests involving -0.0 on platforms where
87532         -0.0 = 0.0.
87533         * tests/test-sprintf-posix.h (have_minus_zero): New function.
87534         (test_function): Skip tests involving -0.0 on platforms where
87535         -0.0 = 0.0.
87536         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
87537         tests.
87538         * tests/test-printf-posix.h (test_function): Likewise.
87539         * tests/test-printf-posix.output: Remove all -0.0 related results.
87540         Needed for IRIX 6.5.
87542 2007-05-19  Bruno Haible  <bruno@clisp.org>
87544         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87545         printed as "nan0x7fffffff" instead of "nan".
87546         * tests/test-vasprintf-posix.c (test_function): Likewise.
87547         * tests/test-snprintf-posix.h (test_function): Likewise.
87548         * tests/test-sprintf-posix.h (test_function): Likewise.
87549         * tests/test-fprintf-posix.h (NaN): Remove macro.
87550         (test_function): Remove all NaN related tests.
87551         * tests/test-printf-posix.h (NaN): Remove macro.
87552         (test_function): Remove all NaN related tests.
87553         * tests/test-printf-posix.output: Remove all NaN related results.
87554         Needed for IRIX 6.5.
87556 2007-05-19  Bruno Haible  <bruno@clisp.org>
87558         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
87559         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
87561 2007-05-19  Bruno Haible  <bruno@clisp.org>
87563         * lib/float_.h: New file.
87564         * m4/float_h.m4: New file.
87565         * modules/float: New file.
87566         * modules/isnanl (Dependencies): Add float.
87567         * modules/isnanl-nolibm (Dependencies): Likewise.
87568         * modules/mathl (Dependencies): Likewise.
87569         * modules/printf-frexpl (Dependencies): Likewise.
87570         * modules/signbit (Dependencies): Likewise.
87571         * modules/vasnprintf (Dependencies): Likewise.
87572         * doc/headers/float.texi: Update.
87574 2007-05-19  Jim Meyering  <jim@meyering.net>
87576         * lib/utimens.c (gl_futimens): Rename from futimens,
87577         now that glibc-2.6 declares futimens.
87578         * lib/utimens.h: Likewise.
87580 2007-05-19  Bruno Haible  <bruno@clisp.org>
87582         Avoid test failures on mingw.
87583         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
87584         * tests/test-printf-posix.sh: Likewise.
87585         * tests/test-vfprintf-posix.sh: Likewise.
87586         * tests/test-vprintf-posix.sh: Likewise.
87588 2007-05-19  Bruno Haible  <bruno@clisp.org>
87590         Fix *printf result for NaN, Inf, -0.0 on mingw.
87591         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
87592         * lib/vasnprintf.c: Include math.h and isnan.h.
87593         (is_infinite_or_zero): New function.
87594         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
87595         values in the %f, %F, %e, %E, %g, %G directives.
87596         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
87597         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87598         gl_PRINTF_INFINITE and test its result. Invoke
87599         gl_PREREQ_VASNPRINTF_INFINITE.
87600         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87601         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87602         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87603         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87604         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87605         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87606         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87607         * doc/functions/fprintf.texi: Update.
87608         * doc/functions/printf.texi: Update.
87609         * doc/functions/snprintf.texi: Update.
87610         * doc/functions/sprintf.texi: Update.
87611         * doc/functions/vfprintf.texi: Update.
87612         * doc/functions/vprintf.texi: Update.
87613         * doc/functions/vsnprintf.texi: Update.
87614         * doc/functions/vsprintf.texi: Update.
87616 2007-05-19  Bruno Haible  <bruno@clisp.org>
87618         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
87619         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
87620         Instead of multiplying with 10^k, set extra_zeroes to k.
87621         (scale10_round_long_double): Remove function.
87623 2007-05-18  Bruno Haible  <bruno@clisp.org>
87625         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
87626         introduced on 2007-05-06.
87628 2007-05-18  Bruno Haible  <bruno@clisp.org>
87630         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
87631         %g directives.
87632         * tests/test-vasprintf-posix.c (test_function): Likewise.
87633         * tests/test-snprintf-posix.h (test_function): Likewise.
87634         * tests/test-sprintf-posix.h (test_function): Likewise.
87636 2007-05-18  Bruno Haible  <bruno@clisp.org>
87638         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
87639         (strmatch): New function.
87640         (test_function): Test the %f directive on numbers of various exponents.
87641         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
87642         (strmatch): New function.
87643         (test_function): Test the %f directive on numbers of various exponents.
87644         * tests/test-snprintf-posix.h (strmatch): New function.
87645         (test_function): Test the %f directive on numbers of various exponents.
87646         * tests/test-sprintf-posix.h (strmatch): New function.
87647         (test_function): Test the %f directive on numbers of various exponents.
87648         * tests/test-snprintf-posix.c (SIZEOF): New macro.
87649         * tests/test-sprintf-posix.c (SIZEOF): New macro.
87650         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
87651         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
87653 2007-05-18  Bruno Haible  <bruno@clisp.org>
87655         Add support for 'long double' number output.
87656         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
87657         * lib/vasnprintf.c: Include math.h and float+.h.
87658         (mp_limb_t): New type.
87659         (GMP_LIMB_BITS): New macro.
87660         (mp_twolimb_t): New type.
87661         (GMP_TWOLIMB_BITS): New macro.
87662         (mpn_t): New type.
87663         (multiply, divide, convert_to_decimal, decode_long_double,
87664         scale10_round_long_double, scale10_round_decimal_long_double,
87665         floorlog10l): New functions.
87666         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
87667         for the %f, %F, %e, %E, %g, %G directives.
87668         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
87669         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87670         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
87671         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
87672         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87673         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87674         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87675         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87676         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87677         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87678         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87679         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
87680         * modules/snprintf-posix (Depends-on): Likewise.
87681         * modules/sprintf-posix (Depends-on): Likewise.
87682         * modules/vasnprintf-posix (Depends-on): Likewise.
87683         * modules/vasprintf-posix (Depends-on): Likewise.
87684         * modules/vfprintf-posix (Depends-on): Likewise.
87685         * modules/vsnprintf-posix (Depends-on): Likewise.
87686         * modules/vsprintf-posix (Depends-on): Likewise.
87687         * modules/vasnprintf (Files): Add lib/float+.h.
87688         * doc/functions/fprintf.texi: Update.
87689         * doc/functions/printf.texi: Update.
87690         * doc/functions/snprintf.texi: Update.
87691         * doc/functions/sprintf.texi: Update.
87692         * doc/functions/vfprintf.texi: Update.
87693         * doc/functions/vprintf.texi: Update.
87694         * doc/functions/vsnprintf.texi: Update.
87695         * doc/functions/vsprintf.texi: Update.
87697 2007-05-18  Bruno Haible  <bruno@clisp.org>
87699         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
87701 2007-05-18  Bruno Haible  <bruno@clisp.org>
87703         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
87704         for printing 64-bit integers. Needed for mingw.
87706 2007-05-18  Bruno Haible  <bruno@clisp.org>
87708         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87709         gl_FUNC_FREXPL_WORKS.
87710         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
87712 2007-05-18  Bruno Haible  <bruno@clisp.org>
87714         * modules/frexpl-nolibm-tests: New file.
87716         * modules/frexpl-nolibm: New file.
87717         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
87719 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87721         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
87722         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87723         GCC 4.2, which otherwise issues a lot of warnings.
87724         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
87725         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
87726         Likewise.
87727         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
87728         * modules/iconv_open (iconv.h): Likewise.
87729         * modules/locale (locale.h): Likewise.
87730         * modules/netinet_in (netinet/in.h): Likewise.
87731         * modules/sys_select (sys_select.h): Likewise.
87732         * modules/sys_socket (sys/socket.h): Likewise.
87733         * modules/sys_stat (sys/stat.h): Likewise.
87734         * modules/sysexits (sysexits.h): Likewise.
87735         * modules/unistd (unistd.h): Likewise.
87737 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87739         * modules/closein-tests (Makefile.am): Distribute
87740         `test-closein.sh'.
87742 2007-05-17  Bruno Haible  <bruno@clisp.org>
87744         * tests/test-printf-posix.output: Renamed from
87745         tests/test-fprintf-posix.out.
87746         * modules/fprintf-posix-tests: Update.
87747         * modules/printf-posix-tests: Update.
87748         * modules/vfprintf-posix-tests: Update.
87749         * modules/vprintf-posix-tests: Update.
87750         * tests/test-fprintf-posix.sh: Update.
87751         * tests/test-printf-posix.sh: Update.
87752         * tests/test-vfprintf-posix.sh: Update.
87753         * tests/test-vprintf-posix.sh: Update.
87754         Reported by Ralf Wildenhues.
87756 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87758         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87759         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87760         GCC 4.2, which otherwise issues a lot of warnings.
87761         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87762         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87763         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87764         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87765         it should no longer be needed.
87766         * lib/string_.h: Likewise.
87767         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87768         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87769         * modules/inttypes (inttypes.h): Likewise.
87770         * modules/math (math.h): Likewise.
87771         * modules/search (search.h): Likewise.
87772         * modules/signal (signal.h): Likewise.
87773         * modules/stdint (stdint.h): Likewise.
87774         * modules/stdio (stdio.h): Likewise.
87775         * modules/stdlib (stdlib.h): Likewise.
87776         * modules/string (string.h): Likewise.
87777         * modules/sys_time (sys/time.h): Likewise.
87778         * modules/time (time.h): Likewise.
87779         * modules/wchar (wchar.h): Likewise.
87780         * modules/wctype (wtype.h): Likewise.
87782 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87784         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87786 2007-05-13  Bruno Haible  <bruno@clisp.org>
87788         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87789         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87790         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87791         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87792         (gl_PREREQ_STRTOK_R): Don't require it here.
87794 2007-05-13  Bruno Haible  <bruno@clisp.org>
87796         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87797         when used in C++ mode.
87799 2007-05-12  Bruno Haible  <bruno@clisp.org>
87801         * lib/linebuffer.h: Tweak doc.
87802         * lib/linebuffer.c: Likewise.
87804 2007-05-12  James Youngman  <jay@gnu.org>
87806         * lib/linebuffer.c (readlinebuffer_delim): New function,
87807         like readlinebuffer, but use a caller-specified delimiter.
87808         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87809         as the delimiter.
87810         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87812 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87814         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87815         * modules/openat (Files): Remove openat-die.c.
87816         (Depends-on): Add openat-die.
87817         * modules/openat-die: New module.
87819 2007-05-06  Bruno Haible  <bruno@clisp.org>
87821         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87822         Update with info about Cygwin.
87823         * doc/functions/fprintf.texi: Update.
87824         * doc/functions/printf.texi: Update.
87825         * doc/functions/snprintf.texi: Update.
87826         * doc/functions/sprintf.texi: Update.
87827         * doc/functions/vfprintf.texi: Update.
87828         * doc/functions/vprintf.texi: Update.
87829         * doc/functions/vsnprintf.texi: Update.
87830         * doc/functions/vsprintf.texi: Update.
87831         Reported by Eric Blake.
87833 2007-05-06  Bruno Haible  <bruno@clisp.org>
87835         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87836         padding ourselves for the floating-point directives.
87837         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87838         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87839         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87840         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87841         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87842         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87843         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87844         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87845         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87846         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87847         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87848         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87849         * tests/test-snprintf-posix.h (test_function): Also check the width
87850         and some flags in the %f directive.
87851         * tests/test-sprintf-posix.h (test_function): Likewise.
87852         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87853         * tests/test-vasprintf-posix.c (test_function): Likewise.
87854         * doc/functions/fprintf.texi: Update.
87855         * doc/functions/printf.texi: Update.
87856         * doc/functions/snprintf.texi: Update.
87857         * doc/functions/sprintf.texi: Update.
87858         * doc/functions/vfprintf.texi: Update.
87859         * doc/functions/vprintf.texi: Update.
87860         * doc/functions/vsnprintf.texi: Update.
87861         * doc/functions/vsprintf.texi: Update.
87863 2007-05-06  Bruno Haible  <bruno@clisp.org>
87865         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87866         pass the ' flag character to sprintf or snprintf.
87867         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87868         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87869         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87870         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87871         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87872         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87873         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87874         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87875         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87876         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87877         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87878         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87879         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87880         flag.
87881         * tests/test-sprintf-posix.h (test_function): Likewise.
87882         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87883         * tests/test-vasprintf-posix.c (test_function): Likewise.
87884         * doc/functions/fprintf.texi: Update.
87885         * doc/functions/printf.texi: Update.
87886         * doc/functions/snprintf.texi: Update.
87887         * doc/functions/sprintf.texi: Update.
87888         * doc/functions/vfprintf.texi: Update.
87889         * doc/functions/vprintf.texi: Update.
87890         * doc/functions/vsnprintf.texi: Update.
87891         * doc/functions/vsprintf.texi: Update.
87893 2007-05-01  Bruno Haible  <bruno@clisp.org>
87895         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87897 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87899         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87900         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87902 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87904         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87905         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87906         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87908 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87910         * lib/argp-help.c (struct hol_entry): New member `ord'.
87911         (HOL_ENTRY_PTRCMP): Use ord for comparison
87912         (hol_sort): Initialize ord.
87914 2007-05-01  Bruno Haible  <bruno@clisp.org>
87916         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87917         Reported by Eric Blake.
87918         * doc/gnulib.texi (Function Substitutes): Update.
87920 2007-05-01  Bruno Haible  <bruno@clisp.org>
87922         * doc/functions.texi: Remove file, now redundant through
87923         doc/functions/*.texi.
87925 2007-05-01  Bruno Haible  <bruno@clisp.org>
87927         * modules/argp (Depends-on): Add sleep.
87929 2007-05-01  Bruno Haible  <bruno@clisp.org>
87931         * modules/sleep-tests: New file.
87932         * tests/test-sleep.c: New file.
87934         * modules/sleep: New file.
87935         * lib/sleep.c: New file.
87936         * m4/sleep.m4: New file.
87937         * lib/unistd_.h (sleep): New declaration.
87938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87939         HAVE_SLEEP.
87940         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87941         * doc/functions/sleep.texi: Document the sleep module.
87943 2007-05-01  Bruno Haible  <bruno@clisp.org>
87945         * lib/sigprocmask.h: Remove file.
87946         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87947         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87948         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87949         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87950         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87951         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87952         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87953         HAVE_SIGSET_T as a shell variable.
87954         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87955         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87956         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87957         (Depends-on): Add signal. Remove verify.
87958         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87959         (Include): Mention <signal.h> instead of sigprocmask.h.
87960         * NEWS: Mention the change.
87961         * lib/fatal-signal.c: Don't include sigprocmask.h.
87963 2007-05-01  Bruno Haible  <bruno@clisp.org>
87965         * modules/signal: New file.
87966         * lib/signal_.h: New file.
87967         * m4/signal_h.m4: New file.
87969 2007-05-01  Bruno Haible  <bruno@clisp.org>
87971         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
87972         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
87973         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
87974         HAVE_WCTYPE_CTMP_BUG into wctype.h.
87976 2007-05-01  Bruno Haible  <bruno@clisp.org>
87978         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
87979         configure time.
87980         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
87981         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
87982         * modules/sys_stat (Makefile.am): Substitute their values into
87983         sys/stat.h.
87985 2007-05-01  Bruno Haible  <bruno@clisp.org>
87987         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
87988         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
87989         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
87991 2007-05-01  Bruno Haible  <bruno@clisp.org>
87993         * doc/header/assert.texi: Undo last change: don't mention the gnulib
87994         'assert' module here.
87996 2007-05-01  Bruno Haible  <bruno@clisp.org>
87998         * doc/functions/*.texi: New files.
87999         * doc/functions/google-ranking.txt: New file.
88000         * doc/gnulib.texi (Function Substitutes): New chapter.
88001         (ctime, inet_ntoa): Remove sections.
88002         * doc/ctime.texi: Remove file.
88003         * doc/inet_ntoa.texi: Remove file.
88004         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
88005         dependencies.
88006         (%.info): New rule, specifying a --reference-limit.
88008 2007-05-01  Bruno Haible  <bruno@clisp.org>
88010         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
88012 2007-05-01  Bruno Haible  <bruno@clisp.org>
88014         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
88015         the portability of 'mkdir' to mingw systems.
88017 2007-05-01  Bruno Haible  <bruno@clisp.org>
88019         * doc/headers/google-ranking.txt: New file.
88021 2007-04-30  Eric Blake  <ebb9@byu.net>
88023         Prefer fseeko to fseek.
88024         * modules/getpass (Depends-on): Add fseeko.
88025         * lib/getpass.c (getpass): Use fseeko, not fseek.
88027 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
88029         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
88030         assumes the sorting is stable, while most qsort implementations
88031         are not.  Use argument addresses to ensure they never compare as
88032         equal.
88034         * tests/test-argp-2.sh (usage-indent test): Fix output
88035         (func_compare): Restore diff options
88036         * tests/test-argp.c: Restore #include "progname.h"
88038 2007-04-29  Bruno Haible  <bruno@clisp.org>
88040         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
88041         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88042         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
88043         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88044         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
88045         (configure.ac): Define CHECK_SNPRINTF_POSIX.
88046         (TESTS, check_PROGRAMS): Add test-snprintf.
88047         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
88048         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
88049         (TESTS, check_PROGRAMS): Add test-vsnprintf.
88050         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
88051         assertions that fail on HP-UX, OSF/1, or IRIX.
88052         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
88054 2007-04-29  Bruno Haible  <bruno@clisp.org>
88056         * MODULES.html.sh (posix_functions): Remove 'contents'.
88058 2007-04-29  Karl Berry  <karl@gnu.org>
88060         * config/srclist.txt (gendocs_template_min): new entry.
88062 2007-04-29  Bruno Haible  <bruno@clisp.org>
88064         Work around fpurge bug on BSD systems.
88065         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
88066         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
88067         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
88068         fpurge to rpl_fpurge if the system already has this function.
88069         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
88070         the case where the system already has this function. Correct invariants
88071         on BSD systems.
88072         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
88073         BSD systems.
88075 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
88077         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
88078         proposed by Sven Verdoolaege.
88080         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
88081         options.
88082         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
88083         (usage and help tests): Update
88085 2007-04-29  Bruno Haible  <bruno@clisp.org>
88087         * tests/test-fflush.c (main): Use a file of size 17, not 10.
88088         Print more information in case of failure. Disable a test on BeOS.
88090 2007-04-29  Bruno Haible  <bruno@clisp.org>
88092         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
88093         This helps debugging on systems on which no gdb is available.
88095 2007-04-29  Bruno Haible  <bruno@clisp.org>
88097         * lib/freading.h: Improve comments.
88098         * lib/fwriting.h: Likewise.
88099         * tests/test-freading.c (main): Don't check freading immediately after
88100         repositioning. Needed for glibc.
88102 2007-04-29  Bruno Haible  <bruno@clisp.org>
88104         * lib/freading.c (freading): Trivial simplification.
88106 2007-04-28  Bruno Haible  <bruno@clisp.org>
88108         * tests/test-fwriting.c (main): Also test the interaction between
88109         fflush and fwriting.
88110         * modules/fwriting-tests (Depends-on): Add fflush.
88112         * tests/test-freading.c (main): Also test the interaction between
88113         fflush and freading.
88114         * modules/freading-tests (Depends-on): Add fflush.
88116 2007-04-28  Bruno Haible  <bruno@clisp.org>
88118         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
88119         fseeko and ftello.
88120         Suggested by Eric Blake.
88122 2007-04-28  Jim Meyering  <jim@meyering.net>
88124         Avoid false-negative in gl_STDINT_H's C99 conformance test.
88125         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
88126         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
88128 2007-04-27  Eric Blake  <ebb9@byu.net>
88130         * doc/headers/assert.texi (assert.h): Document assert module use.
88132 2007-04-27  Bruno Haible  <bruno@clisp.org>
88134         * doc/headers/*.texi: New files.
88135         * doc/gnulib.texi (Header File Substitutes): New chapter.
88136         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
88137         dependencies.
88138         (standards.info ,standards.html, standards.dvi): Update dependencies.
88139         (mostlyclean, clean): New targets.
88141 2007-04-27  Bruno Haible  <bruno@clisp.org>
88143         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
88144         * modules/sysexits (Files, Makefile.am): Update.
88146         * lib/sys_socket_.h: Renamed from lib/socket_.h.
88147         * modules/sys_socket (Files, Makefile.am): Update.
88149         * lib/sys_stat_.h: Renamed from lib/stat_.h.
88150         * modules/sys_stat (Files, Makefile.am): Update.
88152 2007-04-27  Eric Blake  <ebb9@byu.net>
88154         * lib/freading.h: Improve comments.
88155         * lib/fwriting.h: Likewise.
88156         * lib/fflush.c: Likewise.
88158         Fix closein for mingw.
88159         * modules/closein-tests: Add tests for closein.
88160         * tests/test-closein.c: New file.
88161         * tests/test-closein.sh: Likewise.
88162         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
88163         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
88165 2007-04-27  Bruno Haible  <bruno@clisp.org>
88167         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
88168         version is < 6.
88169         * lib/math_.h [__DECC]: Likewise.
88170         * lib/stdio_.h [__DECC]: Likewise.
88171         * lib/stdlib_.h [__DECC]: Likewise.
88172         * lib/string_.h [__DECC]: Likewise.
88173         * lib/time_.h [__DECC]: Likewise.
88174         * lib/wchar_.h [__DECC]: Likewise.
88175         * lib/wctype_.h [__DECC]: Likewise.
88177 2007-04-27  Bruno Haible  <bruno@clisp.org>
88179         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
88181 2007-04-27  Bruno Haible  <bruno@clisp.org>
88183         * lib/fflush.c: Add comments.
88184         * modules/fpurge-tests (Depends-on): Add fflush.
88185         * modules/freadable-tests (Depends-on): Likewise.
88186         * modules/fwritable-tests (Depends-on): Likewise.
88188 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
88190         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
88191         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
88192         Report by Bruno Haible <bruno@clisp.org>.
88194 2007-04-26  Eric Blake  <ebb9@byu.net>
88196         Fix fflush on mingw.
88197         * modules/fflush (Depends-on): Add freading.
88198         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
88199         but unread data.
88201 2007-04-26  Eric Blake  <ebb9@byu.net>
88202         and Bruno Haible  <bruno@clisp.org>
88204         Implement freading and fwriting.
88205         * lib/freading.c: New file.
88206         * lib/freading.h: Likewise.
88207         * m4/freading.m4: Likewise.
88208         * modules/freading: Likewise.
88209         * modules/freading-tests: Likewise.
88210         * tests/test-freading.c: Likewise.
88211         * lib/fwriting.c: New file.
88212         * lib/fwriting.h: Likewise.
88213         * m4/fwriting.m4: Likewise.
88214         * modules/fwriting: Likewise.
88215         * modules/fwriting-tests: Likewise.
88216         * tests/test-fwriting.c: Likewise.
88217         * MODULES.html.sh (File stream based Input/Output): Mention them.
88219 2007-04-26  Bruno Haible  <bruno@clisp.org>
88221         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
88222         'long' when we assume it.
88223         Suggested by Eric Blake.
88225 2007-04-26  Bruno Haible  <bruno@clisp.org>
88227         Ensure fseeko, ftello are declared on glibc systems.
88228         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
88229         * modules/fseeko (configure.ac-early): Likewise.
88230         * modules/ftello (configure.ac-early): Likewise.
88231         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
88232         AC_FUNC_FSEEKO for this.
88233         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
88234         (gl_CHECK_FSEEKO): Remove macro.
88236 2007-04-26  Bruno Haible  <bruno@clisp.org>
88238         * tests/test-fflush.c (main): Also check the ftell result after
88239         fflush and fseek/fseeko.
88240         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
88241         file descriptor position cache in the stream.
88242         * lib/fseeko.c (rpl_fseeko): Likewise.
88244 2007-04-26  Bruno Haible  <bruno@clisp.org>
88246         * modules/fflush-tests (Depends-on): Add fseeko.
88248 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
88249             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88251         * lib/argz_.h: ensure error_t definition is obtained in same
88252         mechanism system argz.h would have.
88253         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
88254         argz facilities are known bad.  Err on the side of caution if
88255         cross-compiling.
88257 2007-04-25  Eric Blake  <ebb9@byu.net>
88259         * lib/fpurge.c (includes): Use stdlib.h for free.
88260         * tests/test-fflush.c (main): Also test fflush-fseeko.
88262 2007-04-25  Bruno Haible  <bruno@clisp.org>
88264         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
88265         * lib/fseeko.c: New file.
88266         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
88267         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
88268         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
88269         gl_FUNC_FSEEKO.
88270         (gl_FUNC_FSEEKO): Invoke it.
88271         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
88272         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
88273         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
88275 2007-04-25  Bruno Haible  <bruno@clisp.org>
88277         * modules/fflush (Depends-on): Add ftello.
88279 2007-04-25  Bruno Haible  <bruno@clisp.org>
88281         * modules/ftello-tests: New file.
88282         * tests/test-ftello.c: New file.
88284         * modules/ftello: New file.
88285         * m4/ftello.m4: New file.
88286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
88287         HAVE_FTELLO.
88288         * lib/stdio_.h (ftello): New declaration.
88289         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
88290         HAVE_FTELLO.
88292 2007-04-25  Bruno Haible  <bruno@clisp.org>
88294         * modules/fseeko-tests: New file.
88295         * tests/test-fseeko.c: New file.
88297         * modules/fseeko: New file.
88298         * m4/fseeko.m4: New file.
88299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
88300         HAVE_FSEEKO.
88301         * lib/stdio_.h (fseeko): New declaration.
88302         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
88303         HAVE_FSEEKO.
88305 2007-04-25  Bruno Haible  <bruno@clisp.org>
88307         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
88309 2007-04-25  Bruno Haible  <bruno@clisp.org>
88311         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
88312         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
88313         * tests/test-unistd.c: Likewise.
88314         * tests/test-fcntl.c: Likewise.
88316 2007-04-23  Eric Blake  <ebb9@byu.net>
88318         * lib/fflush.c: Fix missing include.
88319         Reported by Bruno Haible.
88321 2007-04-23  Bruno Haible  <bruno@clisp.org>
88323         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
88324         Reported by Eric Blake.
88326 2007-04-23  Bruno Haible  <bruno@clisp.org>
88328         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
88330 2007-04-23  Bruno Haible  <bruno@clisp.org>
88332         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
88334 2007-04-23  Bruno Haible  <bruno@clisp.org>
88336         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
88337         Needed on HP-UX 11.
88339 2007-04-16  Eric Blake  <ebb9@byu.net>
88341         Make fflush rely on fpurge.
88342         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
88343         open coding all variants.
88344         * modules/fflush (Depends-on): Add fpurge and unistd.
88345         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
88346         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
88348         Fix --with-tests compilation on cygwin.
88349         * modules/argmatch-tests (Makefile.am): List gnulib library first
88350         in LDADD.
88351         * modules/argp-tests (Makefile.am): Likewise.
88352         * modules/array-list-tests (Makefile.am): Likewise.
88353         * modules/array-oset-tests (Makefile.am): Likewise.
88354         * modules/avltree-list-tests (Makefile.am): Likewise.
88355         * modules/avltree-oset-tests (Makefile.am): Likewise.
88356         * modules/avltreehash-list-tests (Makefile.am): Likewise.
88357         * modules/carray-list-tests (Makefile.am): Likewise.
88358         * modules/dirname-tests (Makefile.am): Likewise.
88359         * modules/frexp-tests (Makefile.am): Likewise.
88360         * modules/isnanl-tests (Makefile.am): Likewise.
88361         * modules/linked-list-tests (Makefile.am): Likewise.
88362         * modules/linkedhash-list-tests (Makefile.am): Likewise.
88363         * modules/lock-tests (Makefile.am): Likewise.
88364         * modules/rbtree-list-tests (Makefile.am): Likewise.
88365         * modules/rbtree-oset-tests (Makefile.am): Likewise.
88366         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
88367         * modules/tls-tests (Makefile.am): Likewise.
88368         * modules/tsearch-tests (Makefile.am): Likewise.
88369         * modules/xvasprintf-tests (Makefile.am): Likewise.
88371         Fix fpurge for cygwin.
88372         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
88373         value.
88374         * modules/fpurge-tests (Depends-on): Clean up trash.
88376 2007-04-16  Simon Josefsson  <simon@josefsson.org>
88378         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
88380         * m4/autobuild.m4: Re-indent.
88382 2007-04-13  Bruno Haible  <bruno@clisp.org>
88384         * modules/fpurge-tests: New file.
88385         * tests/test-fpurge.c: New file.
88387         * modules/fpurge: New file.
88388         * lib/fpurge.h: New file.
88389         * lib/fpurge.c: New file.
88390         * m4/fpurge.m4: New file.
88392 2007-04-13  Bruno Haible  <bruno@clisp.org>
88394         * modules/fbufmode-tests: New file.
88395         * tests/test-fbufmode.c: New file.
88397         * modules/fbufmode: New file.
88398         * lib/fbufmode.h: New file.
88399         * lib/fbufmode.c: New file.
88400         * m4/fbufmode.m4: New file.
88402 2007-04-13  Bruno Haible  <bruno@clisp.org>
88404         * modules/fwritable-tests: New file.
88405         * tests/test-fwritable.c: New file.
88407         * modules/fwritable: New file.
88408         * lib/fwritable.h: New file.
88409         * lib/fwritable.c: New file.
88410         * m4/fwritable.m4: New file.
88412 2007-04-13  Bruno Haible  <bruno@clisp.org>
88414         * modules/freadable-tests: New file.
88415         * tests/test-freadable.c: New file.
88417         * modules/freadable: New file.
88418         * lib/freadable.h: New file.
88419         * lib/freadable.c: New file.
88420         * m4/freadable.m4: New file.
88422 2007-04-13  Bruno Haible  <bruno@clisp.org>
88424         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
88425         MOSTLYCLEANFILES.
88427 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88429         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
88430         gzip bootstrap.conf to avoid dragging in i18n machinery.
88431         (gnulib_tool_option): Use it.
88433 2007-04-13  Bruno Haible  <bruno@clisp.org>
88435         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
88436         %F directives.
88437         * tests/test-vasprintf-posix.c (test_function): Likewise.
88438         * tests/test-snprintf-posix.h (test_function): Likewise.
88439         * tests/test-sprintf-posix.h (test_function): Likewise.
88440         * tests/test-fprintf-posix.h (test_function): Likewise.
88441         * tests/test-printf-posix.h (test_function): Likewise.
88442         * tests/test-fprintf-posix.out: Likewise.
88444 2007-04-13  Bruno Haible  <bruno@clisp.org>
88446         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
88447         * modules/tls-tests (configure.ac): Likewise.
88448         Reported by Arto C. Nirkko <anirkko@insel.ch>.
88450 2007-04-13  Bruno Haible  <bruno@clisp.org>
88452         * lib/tls.c (glthread_tls_get): Fix return type.
88453         Patch by Arto C. Nirkko <anirkko@insel.ch>.
88455 2007-04-12  Eric Blake  <ebb9@byu.net>
88457         * modules/gettime (Depends-on): Remove gettime.
88458         Reported by Dmitry V. Levin.
88460 2007-04-12  Bruno Haible  <bruno@clisp.org>
88462         * modules/fflush (Include): Mention <stdio.h>.
88463         * modules/strtoimax (Include): Mention <inttypes.h>.
88464         * modules/strtoumax (Include): Likewise.
88466 2007-04-12  Eric Blake  <ebb9@byu.net>
88468         * .cvsignore: New file.
88469         * .gitignore: Likewise.
88471 2007-04-12  Bruno Haible  <bruno@clisp.org>
88473         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
88474         not before, since $(LDADD) often contains libgnu.a.
88475         * modules/striconv-tests (test_striconv_LDADD): Likewise.
88476         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
88477         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
88478         Needed on Cygwin.
88480 2007-04-12  Eric Blake  <ebb9@byu.net>
88482         Work around glibc's failure to flush stdin on fclose.
88483         * lib/closein.c (close_stdin): Flush stdin before closing.
88485         Work around glibc's failure to reset seekable stdin on exit.
88486         * modules/closein: New module.
88487         * lib/closein.c: New file.
88488         * lib/closein.h: Likewise.
88489         * m4/closein.m4: Likewise.
88490         * MODULES.html.sh (File stream based Input/Output): Document it.
88492 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88494         * gnulib-tool: Rename generated 'autobuild' script to
88495         'do-autobuild' in --create-megatestdir output.
88497         * doc/gnulib.texi (Build robot for gnulib): Fix.
88499 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88501         * modules/sysexits (Depends-on): Add absolute-header.
88503 2007-04-12  Eric Blake  <ebb9@byu.net>
88505         No need to preserve errno on success.
88506         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
88507         Reported by Bruno Haible.
88509 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88511         * MODULES.html.sh (Support for maintaining and releasing
88512         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
88514 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88516         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
88518 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88520         * modules/autobuild: New module.
88522         * m4/autobuild.m4: New file.
88524 2007-04-11  Bruno Haible  <bruno@clisp.org>
88526         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
88527         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
88528         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
88529         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
88530         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88531         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88532         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88533         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88534         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88535         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88536         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
88537         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88538         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88539         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
88540         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88541         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88542         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
88543         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88544         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88545         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
88546         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88547         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88548         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
88549         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88550         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88551         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
88552         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88553         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88554         Reported by Eric Blake.
88556 2007-04-11  Bruno Haible  <bruno@clisp.org>
88558         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
88560 2007-04-10  Bruno Haible  <bruno@clisp.org>
88562         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
88563         for NaN and Infinity. Needed on FreeBSD 6.1.
88564         * tests/test-vasnprintf-posix.c (test_function): Undo last change
88565         regarding results for "%010a" of Infinity and NaN.
88566         * tests/test-vasprintf-posix.c (test_function): Likewise.
88567         * tests/test-snprintf-posix.h (test_function): Likewise.
88568         * tests/test-sprintf-posix.h (test_function): Likewise.
88569         * tests/test-fprintf-posix.h (test_function): Likewise.
88570         * tests/test-printf-posix.h (test_function): Likewise.
88571         * tests/test-fprintf-posix.out: Likewise.
88573 2007-04-10  Bruno Haible  <bruno@clisp.org>
88575         * modules/locale-tests: New file.
88576         * tests/test-locale.c: New file.
88578         * modules/locale: New file.
88579         * lib/locale_.h: New file.
88580         * m4/locale_h.m4: New file.
88582 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
88583             Bruno Haible  <bruno@clisp.org>
88585         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
88586         be determined, test for availability of the copysignf, copysign,
88587         copysignl functions.
88588         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
88589         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
88590         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
88592 2007-04-09  Eric Blake  <ebb9@byu.net>
88594         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
88595         * modules/stdio (Makefile.am): Support fflush.
88596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
88597         * modules/fflush: New file.
88598         * lib/fflush.c: Likewise.
88599         * m4/fflush.m4: Likewise.
88600         * modules/fflush-tests: New test.
88601         * tests/test-fflush.c: Likewise.
88602         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
88604 2007-04-06  Bruno Haible  <bruno@clisp.org>
88606         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
88607         (VASNPRINTF): Use signbit for faster determination whether to print a
88608         minus sign.
88609         * modules/vasnprintf (Files): Remove lib/float+.h.
88610         * modules/fprintf-posix (Depends-on): Add signbit.
88611         * modules/snprintf-posix (Depends-on): Likewise.
88612         * modules/sprintf-posix (Depends-on): Likewise.
88613         * modules/vasnprintf-posix (Depends-on): Likewise.
88614         * modules/vasprintf-posix (Depends-on): Likewise.
88615         * modules/vfprintf-posix (Depends-on): Likewise.
88616         * modules/vsnprintf-posix (Depends-on): Likewise.
88617         * modules/vsprintf-posix (Depends-on): Likewise.
88619 2007-04-06  Bruno Haible  <bruno@clisp.org>
88621         * tests/test-frexp.c (main): Test also the sign bit of zero results.
88622         * tests/test-frexpl.c (main): Likewise.
88623         * tests/test-ldexpl.c (main): Likewise.
88624         * modules/frexp-tests (Depends-on): Add signbit.
88625         * modules/frexpl-tests (Depdends-on): Likewise.
88626         * modules/ldexpl-tests (Depdends-on): Likewise.
88628 2007-04-06  Bruno Haible  <bruno@clisp.org>
88630         * modules/signbit-tests: New file.
88631         * tests/test-signbit.c: New file.
88633         * modules/signbit: New file.
88634         * lib/signbitf.c: New file.
88635         * lib/signbitd.c: New file.
88636         * lib/signbitl.c: New file.
88637         * m4/signbit.m4: New file.
88638         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
88639         (signbit): New macro.
88640         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
88641         REPLACE_SIGNBIT.
88642         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
88643         REPLACE_FREXPL into math.h.
88645 2007-04-06  Bruno Haible  <bruno@clisp.org>
88647         * modules/isnanf-nolibm-tests: New file.
88648         * tests/test-isnanf.c: New file.
88650         * modules/isnanf-nolibm: New file.
88651         * lib/isnanf.h: New file.
88652         * lib/isnanf.c: New file.
88653         * lib/isnan.c: Consider the USE_FLOAT macro.
88654         * m4/isnanf.m4: New file.
88656 2007-04-06  Bruno Haible  <bruno@clisp.org>
88658         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
88659         (Link): New section.
88661         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
88663 2007-04-06  Bruno Haible  <bruno@clisp.org>
88665         Assume the 'long double' type.
88666         * m4/longdouble.m4: Remove file.
88667         * config/srclist.txt: Don't mention longdouble.m4.
88668         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
88669         * lib/float+.h: Likewise.
88670         * lib/frexp.c: Likewise.
88671         * lib/printf-args.h: Likewise.
88672         * lib/printf-args.c: Likewise.
88673         * lib/printf-frexp.c: Likewise.
88674         * lib/printf-parse.c: Likewise.
88675         * lib/vasnprintf.c: Likewise.
88676         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
88677         * m4/intl.m4: Likewise.
88678         * m4/isnanl.m4: Likewise.
88679         * m4/printf.m4: Likewise.
88680         * m4/printf-frexpl.m4: Likewise.
88681         * m4/vasnprintf.m4: Likewise.
88682         * modules/allocsa (Files): Remove m4/longdouble.m4.
88683         * modules/gettext (Files): Likewise.
88684         * modules/relocatable-prog-wrapper (Files): Likewise.
88685         * modules/vasnprintf (Files): Likewise.
88686         * modules/isnanl (Files): Likewise.
88687         (Include): Simplify.
88688         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
88689         (Include): Simplify.
88690         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
88691         (Include): Simplify.
88692         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
88693         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88694         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
88695         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88696         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88697         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88698         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
88699         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88700         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88701         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88702         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
88703         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88704         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
88705         * tests/test-isnanl.c: Likewise.
88706         * tests/test-snprintf-posix.h: Likewise.
88707         * tests/test-sprintf-posix.h: Likewise.
88708         * tests/test-vasnprintf-posix.c: Likewise.
88709         * tests/test-vasnprintf-posix2.c: Likewise.
88710         * tests/test-vasprintf-posix.c: Likewise.
88712 2007-04-06  Bruno Haible  <bruno@clisp.org>
88714         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
88715         * lib/math_.h [__DECC]: Include the overridden include file through
88716         #include_next, outside the double-inclusion guard.
88717         * lib/stdio_.h [__DECC]: Likewise.
88718         * lib/stdlib_.h [__DECC]: Likewise.
88719         * lib/string_.h [__DECC]: Likewise.
88720         * lib/time_.h [__DECC]: Likewise.
88721         * lib/wchar_.h [__DECC]: Likewise.
88722         * lib/wctype_.h [__DECC]: Likewise.
88723         * lib/inttypes_.h [__DECC]: Likewise.
88724         Reported by Albert Chin <china@thewrittenword.com> in
88725         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
88727 2007-04-04  Eric Blake  <ebb9@byu.net>
88729         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
88730         1.5.x.
88732 2007-04-04  Bruno Haible  <bruno@clisp.org>
88734         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
88735         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
88737 2007-04-04  Bruno Haible  <bruno@clisp.org>
88739         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88740         results for "%010a" of Infinity and NaN.
88741         * tests/test-vasprintf-posix.c (test_function): Likewise.
88742         * tests/test-snprintf-posix.h (test_function): Likewise.
88743         * tests/test-sprintf-posix.h (test_function): Likewise.
88744         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88745         * tests/test-printf-posix.h (test_function): Likewise.
88746         * tests/test-fprintf-posix.out: Update.
88747         Needed for FreeBSD 6.1.
88749 2007-04-04  Bruno Haible  <bruno@clisp.org>
88751         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88752         directly used by the gnulib modules nor by gnulib-tool.
88754 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88756         * DEPENDENCIES: Give overall description of version dependency
88757         desirability.  Use more-typical names for apps.
88758         Add shell, coreutils, diffutils, grep, tar, gzip.
88760 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88762         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88764 2007-04-04  Karl Berry  <karl@gnu.org>
88766         * MODULES.html.sh (func_module): missing '.
88768 2007-04-03  Bruno Haible  <bruno@clisp.org>
88770         * modules/argmatch-tests (Makefile.am): New variable
88771         test_argmatch_LDADD.
88772         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88773         * modules/array-list-tests (Makefile.am): New variable
88774         test_array_list_LDADD.
88775         * modules/array-oset-tests (Makefile.am): New variable
88776         test_array_oset_LDADD.
88777         * modules/avltree-list-tests (Makefile.am): New variable
88778         test_avltree_list_LDADD.
88779         * modules/avltree-oset-tests (Makefile.am): New variable
88780         test_avltree_oset_LDADD.
88781         * modules/avltreehash-list-tests (Makefile.am): New variable
88782         test_avltreehash_list_LDADD.
88783         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88784         test_canonicalize_lgpl_LDADD.
88785         * modules/carray-list-tests (Makefile.am): New variable
88786         test_carray_list_LDADD.
88787         * modules/dirname-tests (Makefile.am): New variable
88788         test_dirname_LDADD.
88789         * modules/linked-list-tests (Makefile.am): New variable
88790         test_linked_list_LDADD.
88791         * modules/linkedhash-list-tests (Makefile.am): New variable
88792         test_linkedhash_list_LDADD.
88793         * modules/rbtree-list-tests (Makefile.am): New variable
88794         test_rbtree_list_LDADD.
88795         * modules/rbtree-oset-tests (Makefile.am): New variable
88796         test_rbtree_oset_LDADD.
88797         * modules/rbtreehash-list-tests (Makefile.am): New variable
88798         test_rbtreehash_list_LDADD.
88799         * modules/xvasprintf-tests (Makefile.am): New variable
88800         test_xvasprintf_LDADD.
88801         Reported by Eric Blake.
88803 2007-04-03  Eric Blake  <ebb9@byu.net>
88805         * DEPENDENCIES: Weaken m4 requirements.
88807 2007-04-03  Bruno Haible  <bruno@clisp.org>
88809         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88810         * modules/isnanl-tests (configure.ac): Likewise.
88812 2007-04-03  Ben Pfaff  <blp@gnu.org>
88814         * modules/iconv_open: Add $(srcdir)/ to source directory
88815         references in Makefile fragments that call gperf, to fix VPATH
88816         builds.
88818 2007-04-03  Bruno Haible  <bruno@clisp.org>
88820         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88821         * lib/ldexpl.c: Undo last change.
88823 2007-04-03  Bruno Haible  <bruno@clisp.org>
88825         * modules/printf-frexpl (Depends-on): Undo last change.
88826         (Files): Add m4/ldexpl.m4.
88828 2007-04-03  Bruno Haible  <bruno@clisp.org>
88830         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88831         * modules/isnanl (Link): New section.
88833         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88834         * modules/frexp (Link): New section.
88836         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88837         * modules/frexpl (Link): New section.
88839         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88840         * modules/ldexpl (Link): New section.
88842 2007-04-03  Bruno Haible  <bruno@clisp.org>
88844         * modules/TEMPLATE-EXTENDED: New file.
88845         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88847 2007-04-03  Bruno Haible  <bruno@clisp.org>
88849         * DEPENDENCIES: New file.
88850         Suggested by Simon Josefsson.
88852 2007-04-03  Bruno Haible  <bruno@clisp.org>
88854         * doc/gnulib.texi: Escape @.
88856 2007-04-03  James Youngman  <jay@gnu.org>
88857         and Paul Eggert  <eggert@cs.ucla.edu>
88859         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88860         birthtime on all systems that have birthtime, not just those which
88861         use st_birthtimensec rather than st_birthtim.  Putting zero in
88862         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88863         that the birth time is not available for files on an NFS mount.
88865 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88867         * modules/memxor: Move back from crypto/, suggested by Bruno.
88868         * modules/crypto/hmac-sha1: Fix memxor dependency.
88870         * modules/crypto/gc: Moved from ../.
88872 2007-04-02  Eric Blake  <ebb9@byu.net>
88874         * lib/ldexpl.c (includes): Avoid libm.
88876         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88878 2007-04-02  Bruno Haible  <bruno@clisp.org>
88880         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88881         on IRIX.
88883 2007-04-02  Bruno Haible  <bruno@clisp.org>
88885         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88886         x86 or x86_64 platforms running MacOS X.
88887         Reported by Ryan Schmidt <@ryandesign.com>.
88889 2007-04-02  Bruno Haible  <bruno@clisp.org>
88891         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88892         i386.
88894 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88896         * modules/crypto/arcfour: Moved from ../.
88897         * modules/crypto/arcfour-tests: Moved from ../.
88898         * modules/crypto/arctwo: Moved from ../.
88899         * modules/crypto/arctwo-tests: Moved from ../.
88900         * modules/crypto/des: Moved from ../.
88901         * modules/crypto/des-tests: Moved from ../.
88902         * modules/crypto/gc-arcfour: Moved from ../.
88903         * modules/crypto/gc-arcfour-tests: Moved from ../.
88904         * modules/crypto/gc-arctwo: Moved from ../.
88905         * modules/crypto/gc-arctwo-tests: Moved from ../.
88906         * modules/crypto/gc-des: Moved from ../.
88907         * modules/crypto/gc-des-tests: Moved from ../.
88908         * modules/crypto/gc-hmac-md5: Moved from ../.
88909         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88910         * modules/crypto/gc-hmac-sha1: Moved from ../.
88911         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88912         * modules/crypto/gc-md2: Moved from ../.
88913         * modules/crypto/gc-md2-tests: Moved from ../.
88914         * modules/crypto/gc-md4: Moved from ../.
88915         * modules/crypto/gc-md4-tests: Moved from ../.
88916         * modules/crypto/gc-md5: Moved from ../.
88917         * modules/crypto/gc-md5-tests: Moved from ../.
88918         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88919         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88920         * modules/crypto/gc-random: Moved from ../.
88921         * modules/crypto/gc-rijndael: Moved from ../.
88922         * modules/crypto/gc-rijndael-tests: Moved from ../.
88923         * modules/crypto/gc-sha1: Moved from ../.
88924         * modules/crypto/gc-sha1-tests: Moved from ../.
88925         * modules/crypto/gc-tests: Moved from ../.
88926         * modules/crypto/hmac-md5: Moved from ../.
88927         * modules/crypto/hmac-md5-tests: Moved from ../.
88928         * modules/crypto/hmac-sha1: Moved from ../.
88929         * modules/crypto/hmac-sha1-tests: Moved from ../.
88930         * modules/crypto/md2: Moved from ../.
88931         * modules/crypto/md2-tests: Moved from ../.
88932         * modules/crypto/md4: Moved from ../.
88933         * modules/crypto/md4-tests: Moved from ../.
88934         * modules/crypto/md5: Moved from ../.
88935         * modules/crypto/md5-tests: Moved from ../.
88936         * modules/crypto/memxor: Moved from ../.
88937         * modules/crypto/rijndael: Moved from ../.
88938         * modules/crypto/rijndael-tests: Moved from ../.
88939         * modules/crypto/sha1: Moved from ../.
88941 2007-03-30  James Youngman  <jay@gnu.org>
88943         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88944         rename() to change the ctime of a file (because ctime is unaffected
88945         by rename on jfs2 on AIX 5.1).
88946         (main): Start by doing cleanup, in case a previous run failed leaving
88947         test files behind.
88949 2007-03-31  Bruno Haible  <bruno@clisp.org>
88951         Support old proprietary implementations of iconv.
88952         * modules/iconv_open: New file.
88953         * lib/iconv_.h: New file.
88954         * m4/iconv_h.m4: New file.
88955         * lib/iconv_open.c: New file.
88956         * lib/iconv_open-aix.gperf: New file.
88957         * lib/iconv_open-hpux.gperf: New file.
88958         * lib/iconv_open-irix.gperf: New file.
88959         * lib/iconv_open-osf.gperf: New file.
88960         * m4/iconv_open.m4: New file.
88961         * modules/linebreak (Depends-on): Add iconv_open.
88962         * modules/striconv (Depends-on): Likewise.
88963         * modules/striconveh (Depends-on): Likewise.
88964         * modules/unicodeio (Depends-on): Likewise.
88965         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
88966         (iconv_t)(-1).
88967         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
88968         conversion if cd is (iconv_t)(-1).
88969         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
88970         is not possible.
88972 2007-03-31  Bruno Haible  <bruno@clisp.org>
88974         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88975         work on Solaris either. Protect also second use of "autodetect_jp".
88977 2007-03-31  Bruno Haible  <bruno@clisp.org>
88979         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
88980         the function is not present.
88982 2007-03-31  Bruno Haible  <bruno@clisp.org>
88984         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
88985         the function is not present.
88987 2007-03-31  Bruno Haible  <bruno@clisp.org>
88989         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
88990         a bug in HP-UX iconv_open().
88992 2007-03-31  Bruno Haible  <bruno@clisp.org>
88994         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
88995         (Mathematics <math.h>): New section, add fpieee.
88996         (Input/output <stdio.h>): Add fseterr.
88997         (Mathematics <math.h>): New section, add printf-frexp.
88998         (Container data structures): Add sublist.
88999         (Core language properties): Add fpucw, inline.
89000         (Functions for greatest-width integer types <inttypes.h>): Add
89001         imaxabs, imaxdiv, inttypes.
89002         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
89003         isnanl-nolibm, ldexp.
89004         (Mathematics <math.h>): New section, add printf-frexpl.
89005         (Support for systems lacking POSIX:2001): Add fprintf-posix,
89006         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
89007         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
89008         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
89009         (Unicode string functions): Add unistr/u*-mbtoucr.
89010         (Java): Add javacomp-script, javaexec-script.
89011         (C#): Add csharpcomp-script, csharpexec-script.
89012         (Support for building libraries and executables): Add havelib,
89013         relocatable-*.
89014         (Support for maintaining and releasing projects): Renamed from
89015         'Support for maintaining and release projects'. Add announce-gen.
89017 2007-03-31  Bruno Haible  <bruno@clisp.org>
89019         * README: Talk primarily about git.
89020         (git and CVS): Renamed from CVS.
89021         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
89022         gnulib is available through git.
89023         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
89025 2007-03-30  Bruno Haible  <bruno@clisp.org>
89027         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
89028         * lib/poll_.h: Likewise.
89029         * lib/stat_.h: Likewise.
89030         * lib/sys_time_.h: Likewise.
89031         * lib/sysexit_.h: Likewise.
89032         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
89033         * lib/stdbool_.h: Likewise.
89034         * lib/byteswap_.h: Add double-inclusion guard.
89036 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
89038         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
89040 2007-03-30  Karl Berry  <karl@gnu.org>
89042         * config/srclist-update: double space after USA in the license
89043         substitution, since that's how it's usually (?) written.
89045 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
89047         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
89048         reported by Bruno Haible.
89050 2007-03-29  Bruno Haible  <bruno@clisp.org>
89052         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
89053         a bug in AIX iconv().
89055 2007-03-29  Bruno Haible  <bruno@clisp.org>
89057         * modules/ldexpl-tests: New file.
89058         * tests/test-ldexpl.c: New file.
89060 2007-03-29  Bruno Haible  <bruno@clisp.org>
89062         * lib/ldexpl.c: Include fpucw.h.
89063         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
89064         multiplication.
89065         * modules/ldexpl (Depends-on): Add fpucw.
89067 2007-03-29  Bruno Haible  <bruno@clisp.org>
89069         * modules/ldexpl: New file.
89070         * m4/ldexpl.m4: New file.
89071         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
89072         set.
89073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
89074         REPLACE_LDEXPL.
89075         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
89076         REPLACE_LDEXPL.
89077         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
89078         gl_FUNC_LDEXPL_WORKS.
89079         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
89080         * modules/mathl (Files): Remove lib/ldexpl.c.
89081         (Depends-on): Add ldexpl.
89083 2007-03-29  Bruno Haible  <bruno@clisp.org>
89085         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
89087 2007-03-29  Bruno Haible  <bruno@clisp.org>
89089         * tests/test-striconveh.c (main): Don't assume that a direct conversion
89090         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
89091         and possibly also HP-UX.
89092         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89093         work on AIX, IRIX, HP-UX, OSF/1.
89094         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
89095         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
89096         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
89097         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
89098         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
89099         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
89101 2007-03-29  Bruno Haible  <bruno@clisp.org>
89103         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
89105 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89107         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
89108         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
89110 2007-03-29  Eric Blake  <ebb9@byu.net>
89112         * lib/acl-internal.h: Remove redundant include.
89113         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
89114         Cygwin when a file is locked.
89116 2007-03-29  Bruno Haible  <bruno@clisp.org>
89118         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
89119         file.
89120         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
89122 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89124         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
89125         try to remove a parent directory if the child couldn't be removed
89126         (except for the first rmdir, which could fail because the child
89127         doesn't exist).  Problem reported by Jeff Blaine in
89128         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
89130 2007-03-28  Bruno Haible  <bruno@clisp.org>
89132         * lib/striconveh.c (utf8conv_carefully): New function.
89133         (mem_cd_iconveh_internal): Invoke it.
89135 2007-03-28  Bruno Haible  <bruno@clisp.org>
89137         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
89138         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
89139         input.
89140         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
89141         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
89142         unistr/u8-uctomb.
89144 2007-03-28  Bruno Haible  <bruno@clisp.org>
89146         * modules/unistr/u8-mbtoucr: New file.
89147         * lib/unistr/u8-mbtoucr.c: New file.
89148         * modules/unistr/u16-mbtoucr: New file.
89149         * lib/unistr/u16-mbtoucr.c: New file.
89150         * modules/unistr/u16-mbtoucr: New file.
89151         * lib/unistr/u16-mbtoucr.c: New file.
89152         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
89154 2007-03-27  Simon Josefsson  <simon@josefsson.org>
89155             Bruno Haible  <bruno@clisp.org>
89157         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
89158         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
89159         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
89161         * m4/stdio_h.m4: Add stubs for vasprintf too.
89163         * modules/stdio: Support vasprintf in sed command.
89165         * modules/vasprintf: Depend on stdio for prototypes.  Remove
89166         vasprintf.h.  Add stdio module indicator.
89168         * lib/stdio_.h: Declare asprintf and vasprintf, based on
89169         vasprintf.h.
89171         * lib/vasprintf.h: File removed.
89173         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
89174         * lib/vasprintf.c: Ditto.
89175         * lib/xvasprintf.c: Ditto.
89176         * tests/test-vasprintf-posix.c: Ditto.
89177         * tests/test-vasprintf.c: Ditto.
89179 2007-03-27  Bruno Haible  <bruno@clisp.org>
89181         Make vasnprintf multithread-safe.
89182         * lib/vasnprintf.c (decimal_point_char): New function.
89183         (VASNPRINTF): Use it.
89184         Suggested by Simon Josefsson.
89186 2007-03-27  Eric Blake  <ebb9@byu.net>
89188         Support sub-second birthtime on cygwin.
89189         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
89190         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
89191         (get_stat_birthtime): Also work with st_birthtim.
89193 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
89195         * lib/stat-time.h (USE_BIRTHTIME): Remove.
89196         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
89197         (get_stat_birthtime_ns): Do not try to use "spare" fields.
89198         (get_stat_birthtime_ns): Simplify compile-time tests.
89199         (get_stat_birthtime): Change the API to look like
89200         get_stat_mtime etc., except return a negative tv_nsec on error.
89201         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
89202         Don't check for "spare" fields.
89203         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
89204         or for struct stat.st_birthtime, as these tests aren't used.
89205         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
89207 2007-03-27  Bruno Haible  <bruno@clisp.org>
89209         * lib/stat-time.h: Include <sys/stat.h>.
89211 2007-03-27  James Youngman  <jay@gnu.org>
89213         * lib/stat-time.h (get_stat_birthtime): New function for
89214           retrieving st_birthtime as provided by UFS2 (hence *BSD).
89215         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
89216           and its variants.
89217         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
89218         * modules/stat-time-test: New file.
89219         * tests/test-stat-time.c: New test, devised by Bruno Haible.
89221 2007-03-26  Bruno Haible  <bruno@clisp.org>
89223         Better support of signalling NaNs.
89224         * lib/atanl.c: Include isnanl.h.
89225         (atanl): Perform test for NaN at the beginning of the function and
89226         through a call to isnanl.
89227         * lib/cosl.c: Include isnanl.h.
89228         (cosl): Perform test for NaN at the beginning of the function and
89229         through a call to isnanl.
89230         * lib/ldexpl.c: Include isnanl.h.
89231         (ldexpl): Perform test for NaN through a call to isnanl.
89232         * lib/logl.c: Include isnanl.h.
89233         (logl): Perform test for NaN at the beginning of the function and
89234         through a call to isnanl.
89235         * lib/sinl.c: Include isnanl.h.
89236         (sinl): Perform test for NaN at the beginning of the function and
89237         through a call to isnanl.
89238         * lib/sqrtl.c: Include isnanl.h.
89239         (sqrtl): Perform test for NaN at the beginning of the function and
89240         through a call to isnanl.
89241         * lib/tanl.c: Include isnanl.h.
89242         (tanl): Perform test for NaN at the beginning of the function and
89243         through a call to isnanl.
89244         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
89245         * modules/mathl (Depends-on): Add isnanl.
89247 2007-03-26  Eric Blake  <ebb9@byu.net>
89249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
89250         regression in logic sense of previous patch.
89252 2007-03-26  Bruno Haible  <bruno@clisp.org>
89254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
89255         unportable shell command "if ! ...".
89256         Reported by Ralf Wildenhues.
89258 2007-03-25  Bruno Haible  <bruno@clisp.org>
89260         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
89261         <sysexits.h> file, and only add EX_CONFIG.
89262         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
89263         absolute file name and whether it is sufficient. Substitute also
89264         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
89265         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
89266         ABSOLUTE_SYSEXITS_H into sysexits.h.
89268 2007-03-25  Bruno Haible  <bruno@clisp.org>
89270         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
89271         hints is NULL.
89273 2007-03-25  Bruno Haible  <bruno@clisp.org>
89275         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
89276         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
89278 2007-03-25  Bruno Haible  <bruno@clisp.org>
89280         * lib/vasnprintf.c: Include langinfo.h.
89281         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
89282         multithread-safe.
89283         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
89284         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
89285         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
89286         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89287         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89288         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89289         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
89290         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
89291         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89292         Reported by Simon Josefsson.
89294 2007-03-25  Bruno Haible  <bruno@clisp.org>
89296         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
89297         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
89298         * modules/vasnprintf (Depends-on): Add stdint.
89300 2007-03-25  Bruno Haible  <bruno@clisp.org>
89302         * modules/fpieee: New file.
89303         * m4/fpieee.m4: New file.
89304         * modules/isnan-nolibm (Depends-on): Add fpieee.
89305         * modules/isnanl-nolibm (Depends-on): Add fpieee.
89306         * modules/isnanl (Depends-on): Add fpieee.
89308 2007-03-25  Bruno Haible  <bruno@clisp.org>
89310         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
89312 2007-03-25  Bruno Haible  <bruno@clisp.org>
89314         Avoid test failures on IRIX 6.5.
89315         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
89316         (main): Use it.
89317         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
89318         macros.
89319         (main): Use them.
89321 2007-03-25  Bruno Haible  <bruno@clisp.org>
89323         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
89324         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
89325         exists but doesn't work.
89326         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
89327         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
89328         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
89329         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
89330         math.h.
89332 2007-03-25  Bruno Haible  <bruno@clisp.org>
89334         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
89335         returns inf. Needed on IRIX 6.5.
89337 2007-03-25  Bruno Haible  <bruno@clisp.org>
89339         * tests/test-frexpl.c: Include isnanl-nolibm.h.
89340         (main): Use isnanl instead of x != x idiom.
89341         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
89343         * tests/test-frexp.c: Include isnan.h.
89344         (main): Use isnan instead of x != x idiom.
89345         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
89347 2007-03-25  Bruno Haible  <bruno@clisp.org>
89349         * tests/test-frexp.c (NaN): New function/macro.
89350         (main): Use it instead of 0.0 / 0.0.
89351         * tests/test-isnan.c (NaN): New function/macro.
89352         (main): Use it instead of 0.0 / 0.0.
89353         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
89354         (test_function): Use it instead of 0.0 / 0.0.
89355         * tests/test-vasprintf-posix.c (NaN): New function/macro.
89356         (test_function): Use it instead of 0.0 / 0.0.
89357         * tests/test-snprintf-posix.h (NaN): New function/macro.
89358         (test_function): Use it instead of 0.0 / 0.0.
89359         * tests/test-sprintf-posix.h (NaN): New function/macro.
89360         (test_function): Use it instead of 0.0 / 0.0.
89361         * tests/test-fprintf-posix.h (NaN): New function/macro.
89362         (test_function): Use it instead of 0.0 / 0.0.
89363         * tests/test-printf-posix.h (NaN): New function/macro.
89364         (test_function): Use it instead of 0.0 / 0.0.
89366         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
89368 2007-03-25  Bruno Haible  <bruno@clisp.org>
89370         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
89372 2007-03-25  Bruno Haible  <bruno@clisp.org>
89374         * lib/regexec.c (merge_state_with_log): Make static.
89376 2007-03-25  Bruno Haible  <bruno@clisp.org>
89378         * lib/trigl.c (kernel_rem_pio2): Make static.
89380 2007-03-25  Bruno Haible  <bruno@clisp.org>
89382         * lib/sincosl.c (sincosl_table): Make static.
89384 2007-03-25  Bruno Haible  <bruno@clisp.org>
89386         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
89387         if the compiler does not support C99.
89389 2007-03-25  Bruno Haible  <bruno@clisp.org>
89391         * modules/time (Makefile.am): Ensure all rule action lines start with a
89392         tab.
89394 2007-03-24  Bruno Haible  <bruno@clisp.org>
89396         * modules/tsearch-tests: New file.
89397         * tests/test-tsearch.sh: New file.
89398         * tests/test-tsearch.c: New file, mostly copied from glibc.
89400         * modules/search-tests: New file.
89401         * tests/test-search.c: New file.
89403         * modules/search: New file.
89404         * lib/search_.h: New file, incorporating lib/tsearch.h.
89405         * m4/search_h.m4: New file.
89406         * lib/tsearch.h: Remove file.
89407         * lib/tsearch.c: Include search.h instead of tsearch.h.
89408         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
89409         HAVE_TSEARCH.
89410         * modules/tsearch (Files): Remove lib/tsearch.h.
89411         (Depends-on): Add search.
89412         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
89413         (Include): Change tsearch.h into search.h.
89415 2007-03-24  Bruno Haible  <bruno@clisp.org>
89417         * modules/fpucw: New file.
89418         * lib/fpucw.h: New file.
89419         * lib/frexp.c: Include fpucw.h.
89420         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89421         (FUNC): Use them.
89422         * lib/printf-frexp.c: Include fpucw.h.
89423         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89424         (FUNC): Use them.
89425         * lib/vasnprintf.c: Include fpucw.h.
89426         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
89427         'long double' calculations.
89428         * tests/test-frexpl.c: Include fpucw.h.
89429         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89430         * tests/test-printf-frexpl.c: Include fpucw.h.
89431         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89432         * modules/frexpl (Depends-on): Add fpucw.
89433         * modules/printf-frexpl (Depends-on): Likewise.
89434         * modules/fprintf-posix (Depends-on): Likewise.
89435         * modules/snprintf-posix (Depends-on): Likewise.
89436         * modules/sprintf-posix (Depends-on): Likewise.
89437         * modules/vasnprintf-posix (Depends-on): Likewise.
89438         * modules/vasprintf-posix (Depends-on): Likewise.
89439         * modules/vfprintf-posix (Depends-on): Likewise.
89440         * modules/vsnprintf-posix (Depends-on): Likewise.
89441         * modules/vsprintf-posix (Depends-on): Likewise.
89442         * modules/frexpl-tests (Depends-on): Likewise.
89443         * modules/printf-frexpl-tests (Depends-on): Likewise.
89445 2007-03-24  Bruno Haible  <bruno@clisp.org>
89447         * lib/float+.h: New file.
89448         * lib/isnan.c: Include float+.h.
89449         (SIZE): New macro.
89450         (FUNC): Compare only SIZE bytes of the value.
89451         * lib/vasnprintf.c: Include float+.h.
89452         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
89453         SIZEOF_LDBL or SIZEOF_DBL bytes.
89454         * modules/isnan-nolibm (Files): Add lib/float+.h.
89455         * modules/isnanl-nolibm (Files): Add lib/float+.h.
89456         * modules/isnanl (Files): Add lib/float+.h.
89457         * modules/vasnprintf (Files): Add lib/float+.h.
89459 2007-03-24  Bruno Haible  <bruno@clisp.org>
89461         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
89462         include isnanl-nolibm.h.
89464 2007-03-24  Bruno Haible  <bruno@clisp.org>
89466         * tests/test-read-file.c (main): Don't produce spurious output for
89467         expected situations. Make the test fail if it encountered unexpected
89468         results.
89470 2007-03-24  Bruno Haible  <bruno@clisp.org>
89472         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
89473         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
89475 2007-03-24  Bruno Haible  <bruno@clisp.org>
89477         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
89479 2007-03-24  Bruno Haible  <bruno@clisp.org>
89481         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
89482         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
89484         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
89485         * modules/utf8-ucs4: Turn into a symbolic link to module
89486         unistr/u8-mbtouc.
89488         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
89489         utf8-ucs4-unsafe.
89490         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
89491         unistr/u8-mbtouc-unsafe.
89493         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
89494         * modules/utf16-ucs4: Turn into a symbolic link to module
89495         unistr/u16-mbtouc.
89497         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
89498         utf16-ucs4-unsafe.
89499         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
89500         unistr/u16-mbtouc-unsafe.
89502         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
89503         * modules/ucs4-utf8: Turn into a symbolic link to module
89504         unistr/u8-ubtomb.
89506         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
89507         * modules/ucs4-utf16: Turn into a symbolic link to module
89508         unistr/u16-ubtomb.
89510 2007-03-24  Bruno Haible  <bruno@clisp.org>
89512         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
89513         Enable the function only if HAVE_INLINE.
89514         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
89515         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89516         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
89517         Enable the function only if HAVE_INLINE.
89518         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
89519         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89520         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
89521         Enable the function only if HAVE_INLINE.
89522         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
89523         Enable the function only if HAVE_INLINE.
89524         * modules/utf8-ucs4: Update.
89525         * modules/utf8-ucs4-unsafe: Update.
89526         * modules/utf16-ucs4: Update.
89527         * modules/utf16-ucs4-unsafe: Update.
89528         * modules/ucs4-utf8: Update.
89529         * modules/ucs4-utf16: Update.
89531 2007-03-24  Bruno Haible  <bruno@clisp.org>
89533         * lib/utf8-ucs4.h: Remove file.
89534         * lib/utf8-ucs4-unsafe.h: Remove file.
89535         * lib/utf16-ucs4.h: Remove file.
89536         * lib/utf16-ucs4-unsafe.h: Remove file.
89537         * lib/ucs4-utf8.h: Remove file.
89538         * lib/ucs4-utf16.h: Remove file.
89539         * lib/unistr.h: Include their previous contents.
89540         * m4/utf-ucs4.m4: Remove file.
89541         * m4/ucs4-utf.m4: Remove file.
89542         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
89543         (Depends-on): Add unistr/base.
89544         (configure.ac): Remove gl_UTF_UCS4.
89545         (Makefile.am): Update.
89546         (Include): Change to unistr.h.
89547         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
89548         (Depends-on): Add unistr/base.
89549         (configure.ac): Remove gl_UTF_UCS4.
89550         (Makefile.am): Update.
89551         (Include): Change to unistr.h.
89552         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
89553         (Depends-on): Add unistr/base.
89554         (configure.ac): Remove gl_UTF_UCS4.
89555         (Makefile.am): Update.
89556         (Include): Change to unistr.h.
89557         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
89558         (Depends-on): Add unistr/base.
89559         (configure.ac): Remove gl_UTF_UCS4.
89560         (Makefile.am): Update.
89561         (Include): Change to unistr.h.
89562         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
89563         (Depends-on): Add unistr/base.
89564         (configure.ac): Remove gl_UCS4_UTF.
89565         (Makefile.am): Update.
89566         (Include): Change to unistr.h.
89567         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
89568         (Depends-on): Add unistr/base.
89569         (configure.ac): Remove gl_UCS4_UTF.
89570         (Makefile.am): Update.
89571         (Include): Change to unistr.h.
89572         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
89573         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
89574         utf8-ucs4-unsafe.h.
89575         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
89576         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
89577         utf16-ucs4-unsafe.h.
89578         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
89579         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
89580         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
89581         * lib/unistr/u8-strchr.c: Likewise.
89582         * lib/unistr/u8-strrchr.c: Likewise.
89583         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
89584         * lib/unistr/u16-strchr.c: Likewise.
89585         * lib/unistr/u16-strrchr.c: Likewise.
89586         * lib/striconveh.c: Update.
89587         * lib/linebreak.c: Update.
89589 2007-03-24  Bruno Haible  <bruno@clisp.org>
89591         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
89592         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
89594 2007-03-22  Bruno Haible  <bruno@clisp.org>
89596         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
89598 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
89600         * MODULES.html.sh (File system functions): New module write-any-file.
89601         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
89602         * m4/write-any-file.m4: New files.
89604 2007-03-23  Eric Blake  <ebb9@byu.net>
89606         * gnulib-tool: Rearrange space-tab sequences, since some editors
89607         like to eat them.
89609 2007-03-23  Eric Blake  <ebb9@byu.net>
89611         * lib/version-etc.c (version_etc_va): Update license wording to
89612         be more concise.  Recommended by Richard Stallman.
89614 2007-03-22  Bruno Haible  <bruno@clisp.org>
89616         * lib/poll.c (MSG_PEEK): New fallback definition.
89618 2007-03-22  Bruno Haible  <bruno@clisp.org>
89620         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
89621         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
89622         (main): Update.
89623         Fixes a compilation error on BeOS.
89625 2007-03-22  Bruno Haible  <bruno@clisp.org>
89627         * modules/frexpl-tests: New file.
89628         * tests/test-frexpl.c: New file.
89630         * modules/frexpl: New file.
89631         * m4/frexpl.m4: New file.
89632         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
89633         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
89634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
89635         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
89636         (Depends-on): Add frexpl. Remove isnanl-nolibm.
89637         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
89639 2007-03-22  Bruno Haible  <bruno@clisp.org>
89641         * lib/frexpl.c: Share code with lib/frexp.c.
89642         * modules/mathl (Files): Add lib/frexp.c.
89643         (Depends-on): Add isnanl-nolibm.
89645 2007-03-22  Bruno Haible  <bruno@clisp.org>
89647         * modules/printf-frexp (Files): Add m4/frexp.m4.
89648         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
89649         only if the found frexp function actually works.
89651 2007-03-22  Bruno Haible  <bruno@clisp.org>
89653         * lib/frexp.c: Remove older implementation that uses divisions.
89655 2007-03-21  Bruno Haible  <bruno@clisp.org>
89657         * modules/frexp-tests: New file.
89658         * tests/test-frexp.c: New file.
89660         * modules/frexp: New file.
89661         * lib/frexp.c: New file.
89662         * m4/frexp.m4: New file.
89663         * lib/math_.h (frexp): New declaration.
89664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
89665         REPLACE_FREXP.
89666         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
89668 2007-03-21  Bruno Haible  <bruno@clisp.org>
89670         * modules/isnanl-tests: New file.
89671         * tests/test-isnanl.c: New file.
89673         * modules/isnanl: New file.
89674         * lib/isnanl.h: New file.
89675         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
89676         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
89677         gl_FUNC_ISNANL_WORKS.
89678         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
89679         New macros.
89681 2007-03-21  Bruno Haible  <bruno@clisp.org>
89683         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
89684         lib/isnanl.h.
89685         (Include): Update.
89686         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
89687         * lib/vasnprintf.c: Update.
89688         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
89689         tests/test-isnanl.h, remove tests/test-isnanl.c.
89690         (Makefile.am): Update.
89691         * tests/test-isnanl-nolibm.c: New file.
89692         * tests/test-isnanl.h: New file.
89693         * tests/test-isnanl.c: Remove file.
89695 2007-03-21  Jim Meyering  <jim@meyering.net>
89697         When trying to open ".", treat ESTALE like EACCES.
89698         * lib/savewd.c (savewd_save): Resort to forking not just upon
89699         failure with EACCES, but also when errno is ESTALE.
89701 2007-03-20  Bruno Haible  <bruno@clisp.org>
89703         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
89704         Needed on AIX 5.1. Reported by Matthew Woehlke.
89706 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89708         Suggestions by Bruno Haible:
89709         * lib/acl-internal.h: Include "gettext.h" rather than rolling
89710         our own.
89711         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
89712         * modules/acl (Depends-on): Add gettext.
89714 2007-03-19  Bruno Haible  <bruno@clisp.org>
89716         * modules/iconvme: Remove file.
89717         * lib/iconvme.h: Remove file.
89718         * lib/iconvme.c: Remove file.
89719         * m4/iconvme.m4: Remove file.
89721 2007-03-19  Bruno Haible  <bruno@clisp.org>
89723         * doc/relocatable-maint.texi: Break long shell script line.
89724         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89726 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89728         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
89729         handle file_has_acl.
89730         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
89731         * lib/acl.c: Move header inclusions and related macro defns into
89732         lib/acl-internal.h.
89733         (S_ISLNK): Remove defn, since that's now done for us.
89734         (file_has_acl): Move to lib/file-has-acl.c.
89735         Call acl_trivial if available.  This is the crucial part of the fix.
89736         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
89737         shared within the library.  Rewrite a bit, partly to make it compatible
89738         with the GNU coding style.
89739         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89740         Remove unnecessary double-quotes.
89741         Don't test for acl_to_text; the build will catch that.
89742         Replace acl_entries if it doesn't exist and it is needed.
89743         Check for -lsec and acl_trivial (as used on Solaris 10).
89744         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89745         lib/file-has-acl.c.
89746         (Depends-on): Add sys_stat, for S_ISLNK.
89748 2007-03-19  Ben Pfaff  <blp@gnu.org>
89750         * doc/gnulib.texi: Fix typos.
89751         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89753 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89755         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89756         If size is zero here, buf must be zero.
89758 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89760         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89761         <bruno@clisp.org>.
89763 2007-03-18  Bruno Haible  <bruno@clisp.org>
89765         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89766         Suggested by Eric Blake.
89768 2007-03-18  Ben Pfaff  <blp@gnu.org>
89770         * doc/relocatable.texi: Recommend using as prefix a directory
89771         that does not exist and will never be created.  Based on
89772         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89773         and others.
89775 2007-03-17  Bruno Haible  <bruno@clisp.org>
89777         * lib/fchownat.c: Include lchown.h.
89779 2007-03-17  Bruno Haible  <bruno@clisp.org>
89781         Fix endless loop when the given allocated size was > INT_MAX.
89782         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89783         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89784         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89785         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89786         * lib/sprintf.c (sprintf): Likewise.
89788 2007-03-17  Bruno Haible  <bruno@clisp.org>
89790         * tests/test-argp-2.sh (func_compare): Output a context diff.
89792 2007-03-17  Bruno Haible  <bruno@clisp.org>
89794         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89795         locale's decimal-point character.
89797 2007-03-17  Bruno Haible  <bruno@clisp.org>
89799         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89800         before comparing it. Needed because on some platforms (e.g. x86) a
89801         'long double' occupies less bytes than sizeof (long double).
89803 2007-03-17  Bruno Haible  <bruno@clisp.org>
89805         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89806         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89807         * tests/test-getaddrinfo.c (simple): Likewise.
89808         * tests/test-read-file.c (main): Likewise.
89810 2007-03-17  Bruno Haible  <bruno@clisp.org>
89812         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89814 2007-03-17  Bruno Haible  <bruno@clisp.org>
89816         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89817         unused variable.
89819 2007-03-17  Bruno Haible  <bruno@clisp.org>
89821         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89822         * tests/test-c-strncasecmp.c: Likewise.
89824 2007-03-17  Bruno Haible  <bruno@clisp.org>
89826         * modules/stdlib (Depends-on): Add unistd.
89827         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89828         Needed for MacOS X 10.3.
89830 2007-03-17  Bruno Haible  <bruno@clisp.org>
89832         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89834 2007-03-17  Bruno Haible  <bruno@clisp.org>
89836         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89838 2007-03-17  Bruno Haible  <bruno@clisp.org>
89840         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89841         to reflect files copied from gnulib (with or without modifications).
89842         Suggested by Jim Meyering.
89844 2007-03-17  Eric Blake  <ebb9@byu.net>
89846         * NEWS: Document stdlib change from 2007-02-18.
89848 2007-03-17  Jim Meyering  <jim@meyering.net>
89850         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89851         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89852         someone uses a name containing shell meta-characters.
89853         Reported by Alfred M. Szmidt.
89855         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89857 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89859         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89860         and copy gettext configuration files only if configure.ac contains
89861         a use of AM_GNU_GETTEXT_VERSION.
89863 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89865         * build-aux/bootstrap (gnulib_name): New variable.
89866         (gnulib_tool_options): Use it.
89868 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89870         * tests/test-des.c: Use new namespace.
89872 2007-03-15  Bruno Haible  <bruno@clisp.org>
89874         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89875         Reported by James Youngman <jay@gnu.org>.
89877 2007-03-15  Bruno Haible  <bruno@clisp.org>
89879         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89880         declared prototype. Needed with cc on OSF/1 5.1.
89882 2007-03-15  Bruno Haible  <bruno@clisp.org>
89884         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89885         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89886         (struct gl_list_implementation): Add dispose_fn argument to the
89887         'create_empty', 'create' methods.
89888         (struct gl_list_impl_base): Add field 'dispose_fn'.
89889         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89890         argument.
89891         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89892         dispose_fn argument.
89893         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89894         dispose_fn on the dropped values.
89895         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89896         dispose_fn argument.
89897         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89898         dropped values.
89899         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89900         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89901         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89902         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89903         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89904         argument.
89905         (gl_tree_list_free): Call dispose_fn on the dropped values.
89906         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89907         the dropped values.
89908         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89909         Add dispose_fn argument.
89910         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89911         Call dispose_fn on the dropped values.
89912         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89913         Add dispose_fn argument.
89914         (gl_sublist_create): Initialize the 'dispose_fn' field.
89915         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89916         * tests/test-array_list.c (main): Update.
89917         * tests/test-carray_list.c (main): Update.
89918         * tests/test-avltree_list.c (main): Update.
89919         * tests/test-rbtree_list.c (main): Update.
89920         * tests/test-avltreehash_list.c (main): Update.
89921         * tests/test-rbtreehash_list.c (main): Update.
89922         * tests/test-linked_list.c (main): Update.
89923         * tests/test-linkedhash_list.c (main): Update.
89924         * tests/test-array_oset.c (main): Update.
89926 2007-03-15  Bruno Haible  <bruno@clisp.org>
89928         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89929         (gl_oset_create_empty): Add dispose_fn argument.
89930         (struct gl_oset_implementation): Add dispose_fn argument to
89931         'create_empty' method.
89932         (struct gl_oset_impl_base): Add dispose_fn field.
89933         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89934         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89935         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89936         values.
89937         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89938         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89939         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89940         dropped value.
89941         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89942         dropped value.
89943         * tests/test-array_oset.c (main): Update.
89944         * tests/test-avltree_oset.c (main): Update.
89945         * tests/test-rbtree_oset.c (main): Update.
89946         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89948 2007-03-13  Bruno Haible  <bruno@clisp.org>
89950         * tests/test-stdbool.c (i): Update after last patch.
89952 2007-03-12  Bruno Haible  <bruno@clisp.org>
89954         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89955         the iswprint macro. Needed on Solaris 2.5.1.
89957 2007-03-12  Bruno Haible  <bruno@clisp.org>
89959         * tests/test-printf-frexp.c (main): Declare x as volatile.
89961 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89963         * doc/gnulib.texi (Build robot for gnulib): New section.
89965 2007-03-12  Jim Meyering  <jim@meyering.net>
89967         * build-aux/bootstrap: New file.
89968         * build-aux/bootstrap.conf: New file, from coreutils.
89970 2007-03-11  Bruno Haible  <bruno@clisp.org>
89972         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
89974 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89976         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
89977         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
89978         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
89980 2007-03-11  Bruno Haible  <bruno@clisp.org>
89982         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
89983         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
89985 2007-03-11  Bruno Haible  <bruno@clisp.org>
89987         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
89988         formula. Needed for SunPRO C 5.0.
89990 2007-03-11  Bruno Haible  <bruno@clisp.org>
89992         * modules/long-options (Depends-on): Add getopt.
89994 2007-03-11  Bruno Haible  <bruno@clisp.org>
89996         * modules/modechange (Depends-on): Add stdbool.
89998 2007-03-11  Bruno Haible  <bruno@clisp.org>
90000         * modules/i-ring (Depends-on): Add stdbool.
90002 2007-03-11  Bruno Haible  <bruno@clisp.org>
90004         * modules/gc-des (Depends-on): Add stdbool.
90006 2007-03-11  Bruno Haible  <bruno@clisp.org>
90008         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
90010 2007-03-11  Bruno Haible  <bruno@clisp.org>
90012         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
90014 2007-03-11  Bruno Haible  <bruno@clisp.org>
90016         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
90018 2007-03-11  Bruno Haible  <bruno@clisp.org>
90020         * lib/vasnprintf.c (sprintf): Undefine.
90022 2007-03-11  Bruno Haible  <bruno@clisp.org>
90024         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
90025         initializers in SunPRO C and Compaq C compilers.
90027 2007-03-11  Bruno Haible  <bruno@clisp.org>
90029         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
90030         decrementing code ANSI C compliant.
90032 2007-03-11  Bruno Haible  <bruno@clisp.org>
90034         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
90035         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
90037 2007-03-11  Bruno Haible  <bruno@clisp.org>
90039         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
90040         <stdbool.h> substitute doesn't pass.
90042 2007-03-11  Bruno Haible  <bruno@clisp.org>
90044         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
90046 2007-03-11  Bruno Haible  <bruno@clisp.org>
90048         * gnulib-tool (func_create_megatestdir): Create also an autobuild
90049         script, for submission to autobuild.josefsson.org.
90051 2007-03-10  Bruno Haible  <bruno@clisp.org>
90053         * modules/canonicalize-lgpl-tests: New file.
90054         * tests/test-canonicalize-lgpl.sh: New file.
90055         * tests/test-canonicalize-lgpl.c: New file.
90057         * modules/c-strcase-tests: New file.
90058         * tests/test-c-strcase.sh: New file.
90059         * tests/test-c-strcasecmp.c: New file.
90060         * tests/test-c-strncasecmp.c: New file.
90062         * modules/atexit-tests: New file.
90063         * tests/test-atexit.sh: New file.
90064         * tests/test-atexit.c: New file.
90066 2007-03-10  Bruno Haible  <bruno@clisp.org>
90068         * tests/test-binary-io.sh: Use temporary filenames that are not so
90069         likely to clash with those of other tests (in a parallel make).
90070         * tests/test-binary-io.c: Likewise.
90072 2007-03-10  Bruno Haible  <bruno@clisp.org>
90074         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
90075         fallback; use #error instead.
90076         Suggested by Simon Josefsson.
90078 2007-03-10  Bruno Haible  <bruno@clisp.org>
90080         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
90081         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
90082         first and the last.
90084 2007-03-10  Bruno Haible  <bruno@clisp.org>
90086         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
90088 2007-03-10  Bruno Haible  <bruno@clisp.org>
90090         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
90091         "make distcheck".
90092         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
90093         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
90094         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
90096 2007-03-10  Bruno Haible  <bruno@clisp.org>
90098         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
90099         variable.
90100         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
90101         variable.
90103 2007-03-09  Eric Blake  <ebb9@byu.net>
90104         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
90106         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
90107         types are not being provided by gnulib.
90108         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
90109         types are supported.
90111 2007-03-10  Bruno Haible  <bruno@clisp.org>
90113         * lib/stdio_.h (__attribute__): New macro.
90114         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
90115         vsprintf): Specify __attribute__ __format__ for GCC.
90116         Suggested by Eric Blake.
90118 2007-03-09  Bruno Haible  <bruno@clisp.org>
90120         * modules/printf-posix-tests: New file.
90121         * tests/test-printf-posix.sh: New file.
90122         * tests/test-printf-posix.c: New file.
90124         * modules/printf-posix: New file.
90125         * lib/printf.c: New file.
90126         * m4/printf-posix-rpl.m4: New file.
90127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
90128         REPLACE_PRINTF.
90129         * lib/stdio_.h (printf): New declaration.
90130         (format, __format__, ____printf____, ____scanf____, ____strftime____,
90131         ____strfmon____): New macros.
90132         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
90133         REPLACE_PRINTF.
90135 2007-03-09  Bruno Haible  <bruno@clisp.org>
90137         * tests/test-vasnprintf-posix2.sh: New file.
90138         * tests/test-vasnprintf-posix2.c: New file.
90139         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
90140         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
90141         (Makefile.am): Activate test-vasnprintf-posix2.sh.
90143         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
90144         a locale dependent decimal point, rather than always '.'.
90146 2007-03-09  Eric Blake  <ebb9@byu.net>
90148         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
90149         spite of platforms like Tandem/NSK that define it to -1.
90151 2007-03-08  Bruno Haible  <bruno@clisp.org>
90153         * modules/vprintf-posix-tests: New file.
90154         * tests/test-vprintf-posix.sh: New file.
90155         * tests/test-vprintf-posix.c: New file.
90156         * tests/test-printf-posix.h: New file.
90158         * modules/vprintf-posix: New file.
90159         * lib/vprintf.c: New file.
90160         * m4/vprintf-posix.m4: New file.
90161         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
90162         REPLACE_VPRINTF.
90163         * lib/stdio_.h (vprintf): New declaration.
90164         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
90165         REPLACE_VPRINTF.
90167 2007-03-08  Bruno Haible  <bruno@clisp.org>
90169         * modules/fprintf-posix-tests: New file.
90170         * tests/test-fprintf-posix.sh: New file.
90171         * tests/test-fprintf-posix.c: New file.
90173         * modules/fprintf-posix: New file.
90174         * lib/fprintf.c: New file.
90175         * m4/fprintf-posix.m4: New file.
90176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
90177         REPLACE_FPRINTF.
90178         * lib/stdio_.h (fprintf): New declaration.
90179         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
90180         REPLACE_FPRINTF.
90182 2007-03-08  Bruno Haible  <bruno@clisp.org>
90184         * modules/vfprintf-posix-tests: New file.
90185         * tests/test-vfprintf-posix.sh: New file.
90186         * tests/test-vfprintf-posix.c: New file.
90187         * tests/test-fprintf-posix.h: New file.
90188         * tests/test-fprintf-posix.out: New file.
90190         * modules/vfprintf-posix: New file.
90191         * lib/vfprintf.c: New file.
90192         * m4/vfprintf-posix.m4: New file.
90193         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
90194         REPLACE_VFPRINTF.
90195         * lib/stdio_.h (vfprintf): New declaration.
90196         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
90197         REPLACE_VFPRINTF.
90199 2007-03-08  Bruno Haible  <bruno@clisp.org>
90201         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
90203 2007-03-08  Bruno Haible  <bruno@clisp.org>
90205         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
90206         instead of 'expr' invocations.
90207         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
90208         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
90209         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
90210         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
90211         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
90212         Suggested by Paul Eggert.
90214 2007-03-08  Bruno Haible  <bruno@clisp.org>
90216         * modules/fseterr-tests: New file.
90217         * tests/test-fseterr.c: New file.
90219         * modules/fseterr: New file.
90220         * lib/fseterr.h: New file.
90221         * lib/fseterr.c: New file.
90223 2007-03-08  Bruno Haible  <bruno@clisp.org>
90225         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
90226         * lib/getopt_.h: Likewise.
90227         * lib/mbswidth.h: Likewise.
90228         * lib/setenv.h: Likewise.
90229         * lib/vasnprintf.h: Likewise.
90230         * lib/vasprintf.h: Likewise.
90231         * lib/verror.h: Likewise.
90232         * lib/xsetenv.h: Likewise.
90233         * lib/xvasprintf.h: Likewise.
90235 2007-03-08  Jim Meyering  <jim@meyering.net>
90237         * users.txt: Add parted.
90239         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
90241 2007-03-07  Bruno Haible  <bruno@clisp.org>
90243         * m4/printf.m4: Make the shell script snippets copy&pastable.
90245 2007-03-02  Bruno Haible  <bruno@clisp.org>
90247         * lib/netinet_in_.h: New file.
90248         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
90249         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
90250         * modules/netinet_in (Files): Add lib/netinet_in_.h.
90251         (Depends-on): Add absolute-header.
90252         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
90253         into netinet/in.h.
90255 2007-03-03  Bruno Haible  <bruno@clisp.org>
90257         * lib/sys_select_.h: New file.
90258         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
90259         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
90260         * modules/sys_select (Files): Add lib/sys_select_.h.
90261         (Depends-on): Add absolute-header.
90262         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
90263         into sys/select.h.
90265 2007-03-02  Bruno Haible  <bruno@clisp.org>
90267         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
90268         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
90269         values.
90270         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
90271         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
90272         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
90273         * modules/sys_socket (Depends-on): Add absolute-header.
90274         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
90275         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
90276         (Include): Remove requirement of inclusion of <sys/types.h>.
90278 2007-03-02  Bruno Haible  <bruno@clisp.org>
90280         * lib/byteswap_.h (bswap_32): Fix formula.
90282 2007-03-06  Bruno Haible  <bruno@clisp.org>
90284         * modules/sprintf-posix-tests: New file.
90285         * tests/test-sprintf-posix.c: New file.
90287         * modules/sprintf-posix: New file.
90288         * lib/sprintf.c: New file.
90289         * m4/sprintf-posix.m4: New file.
90290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
90291         REPLACE_SPRINTF.
90292         * lib/stdio_.h (sprintf): New declaration.
90293         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
90294         REPLACE_SPRINTF.
90296 2007-03-06  Bruno Haible  <bruno@clisp.org>
90298         * modules/vsprintf-posix-tests: New file.
90299         * tests/test-vsprintf-posix.c: New file.
90300         * tests/test-sprintf-posix.h: New file.
90302         * modules/vsprintf-posix: New file.
90303         * lib/vsprintf.c: New file.
90304         * m4/vsprintf-posix.m4: New file.
90305         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
90306         REPLACE_VSPRINTF.
90307         * lib/stdio_.h (vsprintf): New declaration.
90308         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
90309         REPLACE_VSPRINTF.
90311 2007-03-06  Bruno Haible  <bruno@clisp.org>
90313         * modules/vsnprintf (Depend-on): Remove minmax.
90315 2007-03-06  Bruno Haible  <bruno@clisp.org>
90317         * modules/snprintf-posix-tests: New file.
90318         * tests/test-snprintf-posix.c: New file.
90320         * modules/snprintf-posix: New file.
90321         * m4/snprintf-posix.m4: New file.
90322         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
90323         gl_FUNC_SNPRINTF.
90324         (gl_FUNC_SNPRINTF): Invoke it.
90325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
90326         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
90327         is set.
90328         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
90330 2007-03-06  Bruno Haible  <bruno@clisp.org>
90332         * modules/vsnprintf-posix-tests: New file.
90333         * tests/test-vsnprintf-posix.c: New file.
90334         * tests/test-snprintf-posix.h: New file.
90336         * modules/vsnprintf-posix: New file.
90337         * m4/vsnprintf-posix.m4: New file.
90338         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
90339         gl_FUNC_VSNPRINTF.
90340         (gl_FUNC_VSNPRINTF): Invoke it.
90341         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
90342         * lib/stdio_.h (vsnprintf): Define as a replacement if
90343         REPLACE_VSNPRINTF is set.
90344         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
90346 2007-03-06  Bruno Haible  <bruno@clisp.org>
90348         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
90349         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
90351 2007-03-06  Bruno Haible  <bruno@clisp.org>
90353         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
90354         (asinl): Declare also if HAVE_DECL_ASINL is set.
90355         (atanl): Declare also if HAVE_DECL_ATANL is set.
90356         (ceill): Declare also if HAVE_DECL_CEILL is set.
90357         (cosl): Declare also if HAVE_DECL_COSL is set.
90358         (expl): Declare also if HAVE_DECL_EXPL is set.
90359         (floorl): Declare also if HAVE_DECL_FLOORL is set.
90360         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
90361         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
90362         (logl): Declare also if HAVE_DECL_LOGL is set.
90363         (sinl): Declare also if HAVE_DECL_SINL is set.
90364         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
90365         (tanl): Declare also if HAVE_DECL_TANL is set.
90366         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
90367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
90368         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
90369         declaration of frexpl, ldexpl.
90370         * modules/printf-frexpl (Depends-on): Add math.
90371         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
90373 2007-03-05  Bruno Haible  <bruno@clisp.org>
90375         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
90376         frexpl and ldexpl are declared.
90377         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
90379 2007-03-05  Bruno Haible  <bruno@clisp.org>
90381         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
90382         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
90384 2007-03-05  Bruno Haible  <bruno@clisp.org>
90386         * lib/stdio_.h: Include <stddef.h>.
90388 2007-03-05  Bruno Haible  <bruno@clisp.org>
90390         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
90392 2007-03-05  Bruno Haible  <bruno@clisp.org>
90394         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
90395         NetBSD 4, from Ralf Wildenhues.
90397 2007-03-04  Bruno Haible  <bruno@clisp.org>
90399         * lib/vasprintf.h: Update #if logic for the case when the functions
90400         exist but are overridden.
90402 2007-03-04  Bruno Haible  <bruno@clisp.org>
90404         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
90405         implementations: glibc-2.4 and MacOS X 10.3.
90406         * tests/test-vasnprintf-posix.c (test_function): Test also the case
90407         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
90408         * tests/test-vasprintf-posix.c (test_function): Likewise.
90410 2007-03-04  Bruno Haible  <bruno@clisp.org>
90412         * modules/vasprintf-posix-tests: New file.
90413         * tests/test-vasprintf-posix.c: New file.
90415         * modules/vasprintf-posix: New file.
90416         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
90417         defined.
90418         * m4/vasprintf-posix.m4: New file.
90419         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
90420         gl_FUNC_VASPRINTF.
90421         (gl_FUNC_VASPRINTF): Invoke it.
90422         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
90423         here.
90424         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
90426 2007-03-04  Bruno Haible  <bruno@clisp.org>
90428         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
90429         REPLACE_GETTIMEOFDAY.
90430         * modules/sys_time (Makefile.am): Likewise.
90431         * m4/sys_time_h.m4: Likewise.
90432         * m4/gettimeofday.m4: Likewise.
90434 2007-03-04  Bruno Haible  <bruno@clisp.org>
90436         * modules/vasnprintf-posix-tests: New file.
90437         * tests/test-vasnprintf-posix.c: New file.
90439         * modules/vasnprintf-posix: New file.
90440         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
90441         printf-frexpl.h.
90442         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
90443         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
90444         REPLACE_VASNPRINTF is defined.
90445         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
90446         gl_FUNC_VASNPRINTF.
90447         (gl_FUNC_VASNPRINTF): Invoke it.
90448         * m4/vasnprintf-posix.m4: New file.
90449         * m4/printf.m4: New file.
90451 2007-03-04  Bruno Haible  <bruno@clisp.org>
90453         Compile progreloc.c only if --enable-relocatable is specified.
90454         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
90455         if --enable-relocatable was specified.
90456         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
90457         lib_SOURCES.
90459 2007-03-04  Jim Meyering  <jim@meyering.net>
90461         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
90462         Use it consistently, rather than enumerating errno constants.
90464 2007-03-04  Bruno Haible  <bruno@clisp.org>
90466         * modules/xvasprintf-tests: New file.
90467         * tests/test-xvasprintf.c: New file.
90469         * modules/vasprintf-tests: New file.
90470         * tests/test-vasprintf.c: New file.
90472         * modules/vasnprintf-tests: New file.
90473         * tests/test-vasnprintf.c: New file.
90475         * modules/vsnprintf-tests: New file.
90476         * tests/test-vsnprintf.c: New file.
90478         * modules/snprintf-tests: New file.
90479         * tests/test-snprintf.c: New file.
90481 2007-03-04  Bruno Haible  <bruno@clisp.org>
90483         Compile relocatable.c only if --enable-relocatable is specified.
90484         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
90485         gl_RELOCATABLE_LIBRARY.
90486         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
90487         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
90488         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
90489         gl_RELOCATABLE_LIBRARY.
90490         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
90491         (Makefile.am): Remove lib_SOURCES.
90492         * modules/relocatable-lib-lgpl (configure.ac): Invoke
90493         gl_RELOCATABLE_LIBRARY.
90494         (Makefile.am): Remove lib_SOURCES.
90495         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
90496         always.
90497         * modules/relocatable-prog-wrapper (configure.ac): Invoke
90498         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
90500 2007-03-04  Bruno Haible  <bruno@clisp.org>
90502         * modules/argmatch-tests: New file.
90503         * tests/test-argmatch.c: New file.
90505         * tests/test-allocsa.c (main): Halve the number of loop runs.
90507         * modules/alloca-opt-tests: New file.
90508         * tests/test-alloca-opt.c: New file.
90510 2007-03-04  Jim Meyering  <jim@meyering.net>
90512         Work around difference between Linux ACLs and Solaris 10 ZFS.
90513         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
90514         for EINVAL.
90516 2007-03-03  Bruno Haible  <bruno@clisp.org>
90518         * modules/relocatable-prog (Depends-on): Add back progreloc's
90519         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
90521 2007-03-03  Bruno Haible  <bruno@clisp.org>
90523         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
90524         * modules/relocatable-lib: New file.
90526 2007-03-03  Bruno Haible  <bruno@clisp.org>
90528         * modules/relocatable-prog: Renamed from modules/relocatable.
90529         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
90531 2007-03-03  Bruno Haible  <bruno@clisp.org>
90533         * modules/relocatable-script (Files): Add doc/relocatable.texi,
90534         m4/relocatable-lib.m4.
90535         (Depends-on): Remove 'relocatable'.
90536         (configure.ac): Add gl_RELOCATABLE_NOP.
90538 2007-03-03  Bruno Haible  <bruno@clisp.org>
90540         * modules/relocatable-prog-wrapper: New file.
90541         * modules/relocatable (Depends-on): Add it. Remove all other
90542         dependencies except progname.
90543         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
90545         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
90546         (gl_FUNC_STRERROR): Nop.
90547         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
90549         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
90550         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
90552         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
90553         (gl_FUNC_READLINK): Update.
90555         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90557 2007-03-03  Bruno Haible  <bruno@clisp.org>
90559         * lib/xreadlink.c: Include <unistd.h> unconditionally.
90560         * modules/xreadlink (Depends-on): Add unistd.
90561         * modules/xreadlink-with-size (Depends-on): Likewise.
90563 2007-03-03  Bruno Haible  <bruno@clisp.org>
90565         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
90566         extracted from gt_FUNC_SETENV.
90567         (gt_FUNC_SETENV): Remove macro.
90568         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
90569         remove gt_FUNC_SETENV.
90571 2007-03-03  Bruno Haible  <bruno@clisp.org>
90573         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
90574         ENABLE_RELOCATABLE here.
90575         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
90577 2007-03-03  Bruno Haible  <bruno@clisp.org>
90579         * modules/rbtreehash-list-tests (Depends-on): Add progname.
90580         * tests/test-rbtreehash_list.c: Include progname.h.
90581         (main): Call set_program_name.
90583         * modules/rbtree-oset-tests (Depends-on): Add progname.
90584         * tests/test-rbtree_oset.c: Include progname.h.
90585         (main): Call set_program_name.
90587         * modules/rbtree-list-tests (Depends-on): Add progname.
90588         * tests/test-rbtree_list.c: Include progname.h.
90589         (main): Call set_program_name.
90591         * modules/linked-list-tests (Depends-on): Add progname.
90592         * tests/test-linked_list.c: Include progname.h.
90593         (main): Call set_program_name.
90595 2007-03-03  Bruno Haible  <bruno@clisp.org>
90597         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
90598         All uses of __restrict changed to _Restrict_.
90599         * lib/glob_.h (__restrict): Remove macro.
90601 2007-03-02  Bruno Haible  <bruno@clisp.org>
90603         * modules/gettext (configure.ac): Require gettext infrastructure
90604         from version 0.16.1.
90606 2007-03-02  Bruno Haible  <bruno@clisp.org>
90608         * modules/linkedhash-list-tests (Depends-on): Add progname.
90609         * tests/test-linkedhash_list.c: Include progname.h.
90610         (main): Call set_program_name.
90612         * modules/carray-list-tests (Depends-on): Add progname.
90613         * tests/test-carray_list.c: Include progname.h.
90614         (main): Call set_program_name.
90616         * modules/avltreehash-list-tests (Depends-on): Add progname.
90617         * tests/test-avltreehash_list.c: Include progname.h.
90618         (main): Call set_program_name.
90620         * modules/avltree-oset-tests (Depends-on): Add progname.
90621         * tests/test-avltree_oset.c: Include progname.h.
90622         (main): Call set_program_name.
90624         * modules/avltree-list-tests (Depends-on): Add progname.
90625         * tests/test-avltree_list.c: Include progname.h.
90626         (main): Call set_program_name.
90628         * modules/array-oset-tests (Depends-on): Add progname.
90629         * tests/test-array_oset.c: Include progname.h.
90630         (main): Call set_program_name.
90632         * modules/array-list-tests (Depends-on): Add progname.
90633         * tests/test-array_list.c: Include progname.h.
90634         (main): Call set_program_name.
90636         * modules/argp-tests (Depends-on): Add progname.
90637         * tests/test-argp.c: Include argp.h first. Include progname.h.
90638         (main): Call set_program_name.
90640 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
90642         * doc/gnulib-tool.texi (Initial import): Reword description of
90643         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
90644         limited effect even if defined after the first system include.
90646 2007-03-01  Bruno Haible  <bruno@clisp.org>
90648         * build-aux/config.libpath: Update to libtool-1.5.22.
90649         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90651 2007-03-01  Bruno Haible  <bruno@clisp.org>
90653         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
90654         foo_CFLAGS.
90655         Reported by Ralf Wildenhues.
90657 2007-03-01  Bruno Haible  <bruno@clisp.org>
90659         * build-aux/install-reloc: Remove object files left over by some
90660         compilers.
90661         Reported by Ralf Wildenhues.
90663 2007-03-01  Bruno Haible  <bruno@clisp.org>
90665         * build-aux/install-reloc: Break long lines.
90667 2007-03-01  Bruno Haible  <bruno@clisp.org>
90669         * doc/relocatable.texi: Document that it may not work on OpenBSD.
90670         Reported by Ralf Wildenhues.
90672 2007-03-01  Bruno Haible  <bruno@clisp.org>
90674         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
90675         include ordering constraints.
90677 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90679         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
90680         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
90681         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
90682         as another example.
90683         * lib/time_.h: Fix misspelling.
90684         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
90685         Require gl_HEADER_TIME_H_DEFAULTS.
90686         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
90687         * m4/time_r.m4 (gl_TIME_R): Likewise.
90688         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
90690 2007-03-01  Bruno Haible  <bruno@clisp.org>
90692         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
90693         * m4/utimens.m4 (gl_UTIMENS): Likewise.
90695 2007-03-01  Jim Meyering  <jim@meyering.net>
90697         * modules/xreadlink (Maintainer): Add my name.
90698         * modules/xreadlink-with-size (Depends-on): Alphabetize.
90700 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
90701             Bruno Haible  <bruno@clisp.org>
90703         * build-aux/install-reloc: Compile also c-ctype.c.
90704         * build-aux/relocatable.sh.in: New file.
90705         * doc/relocatable.texi: New file.
90706         * doc/relocatable-maint.texi: New file.
90707         * doc/gnulib.texi: Include relocatable-maint.texi.
90708         * lib/progreloc.c: Include unistd.h unconditionally.
90709         * lib/relocwrapper.c: Include unistd.h unconditionally.
90710         Include c-ctype.h.
90711         (add_dotbin): Use c_tolower.
90712         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
90713         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
90714         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
90715         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
90716         to m4/relocatable-lib.m4.
90717         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
90718         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
90719         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
90720         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
90721         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
90722         * modules/relocatable: New file.
90723         * modules/relocatable-lib: New file.
90724         * modules/relocatable-script: New file.
90726 2007-02-28  Bruno Haible  <bruno@clisp.org>
90728         Import --enable-relocatable infrastructure.
90729         * build-aux/config.libpath: New file, from GNU gettext.
90730         * build-aux/install-reloc: New file, from GNU gettext.
90731         * build-aux/reloc-ldflags: New file, from GNU gettext.
90732         * lib/relocatable.h: New file, from GNU gettext.
90733         * lib/relocatable.c: New file, from GNU gettext.
90734         * lib/relocwrapper.c: New file, from GNU gettext.
90735         * m4/relocatable.m4: New file, from GNU gettext.
90737 2007-02-28  Bruno Haible  <bruno@clisp.org>
90739         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90741         * modules/xreadlink: New file, from GNU gettext with modifications.
90742         * lib/xreadlink.c: New file, from GNU gettext.
90743         * lib/xreadlink.h: Add comments.
90744         (xreadlink): New declaration.
90746         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90747         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90748         lib/xreadlink-with-size.c.
90749         (configure.ac): Remove gl_XREADLINK invocation.
90750         (Makefile.am): Augment lib_SOURCES.
90751         * m4/xreadlink.m4: Remove file.
90752         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90753         (xreadlink_with_size): Renamed from xreadink.
90754         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90755         * modules/canonicalize (Depends-on): Replace xreadlink with
90756         xreadlink-with-size.
90757         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90759 2007-02-25  Jim Meyering  <jim@meyering.net>
90761         * build-aux/announce-gen: When complaining about excess arguments,
90762         list them.
90764 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90766         * README: Document signed integer overflow situation more
90767         accurately.
90769 2007-02-25  Bruno Haible  <bruno@clisp.org>
90771         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90772         'a' or 'A' conversion.
90774 2007-02-25  Bruno Haible  <bruno@clisp.org>
90776         * modules/filename: Renamed from modules/pathname.
90777         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90778         lib/concatpath.c with lib/concat-filename.c.
90779         (Makefile.am): Update.
90780         (Include): Replace pathname.h with filename.h.
90781         * lib/filename.h: Renamed from lib/pathname.h.
90782         (concatenated_filename): Renamed from concatenated_pathname.
90783         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90784         (concatenated_filename): Renamed from concatenated_pathname.
90785         * lib/findprog.c: Include filename.h instead of pathname.h.
90786         (find_in_path): Update.
90787         * lib/javacomp.c: Include filename.h instead of pathname.h.
90788         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90789         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90790         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90791         is_oldgcj_14_13_usable, is_javac_usable): Update.
90792         * lib/javaexec.c: Include filename.h instead of pathname.h.
90793         (execute_java_class): Update.
90794         * modules/findprog: Update.
90795         * modules/javacomp: Update.
90796         * modules/javaexec: Update.
90797         * MODULES.html.sh (File system functions): Add 'filename', remove
90798         'pathname'.
90800 2007-02-25  Bruno Haible  <bruno@clisp.org>
90802         * modules/printf-frexpl-tests: New file.
90803         * tests/test-printf-frexpl.c: New file.
90805         * modules/printf-frexpl: New file.
90806         * lib/printf-frexpl.h: New file.
90807         * lib/printf-frexpl.c: New file.
90808         * m4/printf-frexpl.m4: New file.
90810 2007-02-25  Bruno Haible  <bruno@clisp.org>
90812         * modules/printf-frexp-tests: New file.
90813         * tests/test-printf-frexp.c: New file.
90815         * modules/printf-frexp: New file.
90816         * lib/printf-frexp.h: New file.
90817         * lib/printf-frexp.c: New file.
90818         * m4/printf-frexp.m4: New file.
90820 2007-02-25  Bruno Haible  <bruno@clisp.org>
90822         Assume automake >= 1.10 for the tests.
90823         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90824         * modules/arctwo-tests: Likewise.
90825         * modules/argp-tests: Likewise.
90826         * modules/avltree-list-tests: Likewise.
90827         * modules/avltree-oset-tests: Likewise.
90828         * modules/avltreehash-list-tests: Likewise.
90829         * modules/carray-list-tests: Likewise.
90830         * modules/crc-tests: Likewise.
90831         * modules/des-tests: Likewise.
90832         * modules/gc-arcfour-tests: Likewise.
90833         * modules/gc-arctwo-tests: Likewise.
90834         * modules/gc-des-tests: Likewise.
90835         * modules/gc-hmac-md5-tests: Likewise.
90836         * modules/gc-hmac-sha1-tests: Likewise.
90837         * modules/gc-md2-tests: Likewise.
90838         * modules/gc-md4-tests: Likewise.
90839         * modules/gc-md5-tests: Likewise.
90840         * modules/gc-pbkdf2-sha1-tests: Likewise.
90841         * modules/gc-rijndael-tests: Likewise.
90842         * modules/gc-sha1-tests: Likewise.
90843         * modules/gc-tests: Likewise.
90844         * modules/getaddrinfo-tests: Likewise.
90845         * modules/hmac-md5-tests: Likewise.
90846         * modules/hmac-sha1-tests: Likewise.
90847         * modules/linked-list-tests: Likewise.
90848         * modules/linkedhash-list-tests: Likewise.
90849         * modules/lock-tests: Likewise.
90850         * modules/md2-tests: Likewise.
90851         * modules/md4-tests: Likewise.
90852         * modules/md5-tests: Likewise.
90853         * modules/rbtree-list-tests: Likewise.
90854         * modules/rbtree-oset-tests: Likewise.
90855         * modules/rbtreehash-list-tests: Likewise.
90856         * modules/read-file-tests: Likewise.
90857         * modules/rijndael-tests: Likewise.
90858         * modules/stdint-tests: Likewise.
90859         * modules/tls-tests: Likewise.
90861 2007-02-24  Bruno Haible  <bruno@clisp.org>
90863         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90864         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90865         function; instead check whether isnan with a double argument links.
90866         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90867         function; instead check whether isnan with a 'long double' argument
90868         links.
90869         Reported by Eric Blake <ebb9@byu.net>.
90871 2007-02-24  Bruno Haible  <bruno@clisp.org>
90873         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90874         defined.
90875         * lib/isnanl.c: Remove all code. Just include isnan.c.
90876         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90878 2007-02-25  Jim Meyering  <jim@meyering.net>
90880         Avoid conflicting types for 'unsetenv' on FreeBSD.
90881         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90882         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90883         in stdlib.h.
90885 2007-02-24  Bruno Haible  <bruno@clisp.org>
90887         * modules/isnanl-nolibm-tests: New file.
90888         * tests/test-isnanl.c: New file.
90890         * modules/isnanl-nolibm: New file.
90891         * lib/isnanl.h: New file.
90892         * lib/isnanl.c: New file.
90893         * m4/isnanl.m4: New file.
90895 2007-02-24  Bruno Haible  <bruno@clisp.org>
90897         * modules/isnan-nolibm-tests: New file.
90898         * tests/test-isnan.c: New file.
90900         * modules/isnan-nolibm: New file.
90901         * lib/isnan.h: New file.
90902         * lib/isnan.c: New file.
90903         * m4/isnan.m4: New file.
90905 2007-02-24  Bruno Haible  <bruno@clisp.org>
90907         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90908         assume that an exponent fits in 20 bits.
90910 2007-02-24  Jim Meyering  <jim@meyering.net>
90912         * m4/regex.m4: Update the description of the configure-time option,
90913         --without-included-regex, to state accurately what the defaults are,
90914         and perhaps to give people an idea why using this option is risky.
90916 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90918         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90919         loops on small arguments.  This attempts to avoid the problem
90920         Bruno Haible reported for AIX 4.3.2 in
90921         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90923 2007-02-23  Bruno Haible  <bruno@clisp.org>
90925         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90926         Needed for help2man.
90928 2007-02-23  Karl Berry  <karl@gnu.org>
90930         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90931         exists, foo.h should be cvs-ignored, not committed.
90933 2007-02-23  Eric Blake  <ebb9@byu.net>
90935         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90936         * lib/stat-time.h (includes): Likewise.
90937         * lib/utimecmp.c (includes): Likewise.
90938         * lib/utimens.h (includes): Likewise.
90939         * lib/getdate.y (includes): Also include "timespec.h" for use
90940         internal to the module.
90941         * modules/utimens (Depends-on): Revert yesterday's patch.
90942         * modules/nanosleep (Depends-on): Add missing dependency.
90944 2007-02-22  Bruno Haible  <bruno@clisp.org>
90946         * lib/glob.c: Don't include getlogin_r.h.
90948 2007-02-22  Jim Meyering  <jim@meyering.net>
90950         * modules/utimens (Depends-on): Add timespec, required for
90951         utimens.h's inclusion of timespec.h.
90953 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90955         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90956         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90957         Schwab in
90958         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90959         I'll try to think of a better way to fix the Solaris problem.
90961         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90962         like glibc; on Solaris 10, it fails with errno == EINVAL.
90963         POSIX says the behavior is unspecified if the first argument is NULL,
90964         so play it safe and never pass NULL to the system getcwd.
90966 2007-02-21  Jim Meyering  <jim@meyering.net>
90968         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
90969         of gettimeofday.  It would conflict with the one now always
90970         provided via sys_time_.h.  Reported by Matthew Woehlke, as
90971         an IRIX 6.5 build failure.
90973 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90975         Minor fixups to port to Solaris 10 with Sun C 5.8.
90976         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
90977         * modules/getcwd (Depends-on): Add dirfd.
90978         * lib/putenv.c (putenv): #undef it.
90979         (rpl_putenv): New decl.
90980         (malloc, free): Include <stdlib.h> rather than prototyping separately.
90982 2007-02-20  Bruno Haible  <bruno@clisp.org>
90984         * modules/stdio-tests: New file.
90985         * tests/test-stdio.c: New file.
90987         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
90988         (Depends-on): Add stdio.
90989         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90990         (Include): Use <stdio.h> instead of vsnprintf.h.
90991         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90992         HAVE_DECL_VSNPRINTF.
90993         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
90995         * modules/snprintf (Files): Remove lib/snprintf.h.
90996         (Depends-on): Add stdio.
90997         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90998         (Include): Use <stdio.h> instead of snprintf.h.
90999         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91000         HAVE_DECL_SNPRINTF.
91001         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
91002         * lib/getaddrinfo.c: Likewise.
91004         * modules/stdio: New file.
91005         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
91006         * lib/snprintf.h: Remove file.
91007         * lib/vsnprintf.h: Remove file.
91008         * lib/.cppi-disable: Remove snprintf.h.
91009         * m4/stdio_h.m4: New file.
91010         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
91012 2007-02-20  Jim Meyering  <jim@meyering.net>
91014         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
91015         used by e.g., mingw.  From Bruno Haible.
91017 2007-02-19  Bruno Haible  <bruno@clisp.org>
91019         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
91020         warnings.
91021         Reported by Ben Pfaff <blp@cs.stanford.edu>.
91023 2007-02-19  Bruno Haible  <bruno@clisp.org>
91025         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
91026         from mingw users.
91028 2007-02-19  Bruno Haible  <bruno@clisp.org>
91030         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
91031         warnings.
91032         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
91034 2007-02-19  Jim Meyering  <jim@meyering.net>
91036         Don't use FD after a successful "fdopendir (fd)".
91037         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
91038         Reset it by calling dirfd on the just-obtained DIR*.
91040         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
91041         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
91043 2007-02-18  Bruno Haible  <bruno@clisp.org>
91045         * lib/readlink.c: Include <unistd.h>.
91046         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
91047         HAVE_READLINK.
91048         * modules/readlink (Depends-on): Add unistd.
91049         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91050         (Include): Add <unistd.h>.
91052         * lib/getlogin_r.h: Remove file.
91053         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
91054         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
91055         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
91056         HAVE_DECL_GETLOGIN_R.
91057         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
91058         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91059         (Include): Use <unistd.h> instead of getlogin_r.h.
91061         * lib/getcwd.h: Remove file.
91062         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
91063         * lib/xgetcwd.c: Likewise.
91064         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
91065         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
91066         * modules/getcwd (Files): Remove lib/getcwd.h.
91067         (Depends-on): Add unistd.
91068         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91069         (Include): Use <unistd.h> instad of getcwd.h.
91071         * lib/ftruncate.c: Include <unistd.h> first.
91072         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
91073         Set HAVE_FTRUNCATE.
91074         * modules/ftruncate (Depends-on): Add unistd.
91075         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91077         * lib/fchdir.c: Include <unistd.h> first.
91078         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
91079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
91080         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
91081         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91082         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
91084         * lib/dup2.c: Include <unistd.h> first.
91085         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
91086         HAVE_DUP2.
91087         * modules/dup2 (Depends-on): Add unistd.
91088         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91090         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
91091         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
91092         REPLACE_CHOWN. Don't define chown as a macro here.
91093         * modules/chown (Depends-on): Add unistd.
91094         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91096         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
91097         Add definition for GL_LINK_WARNING.
91098         (chown, dup2): New declarations.
91099         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
91100         link warning.
91101         (ftruncate): New declaration.
91102         (getcwd): New declaration, taken from old getcwd.h.
91103         (getlogin_r): New declaration, taken from old getlogin_r.h.
91104         (readlink): New declaration.
91105         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
91106         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
91107         (gl_PREREQ_UNISTD): Remove macro.
91108         (gl_UNISTD_MODULE_INDICATOR): New macro.
91109         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
91110         many new variables. Don't set UNISTD_H.
91111         * modules/unistd (Description): Change.
91112         (Depends-on): Add link-warning.
91113         (configure.ac): Update.
91114         (Makefile.am): Create unistd.h always. Substitute many new variables
91115         into it.
91117 2007-02-18  Bruno Haible  <bruno@clisp.org>
91119         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
91120         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
91121         HAVE_GETSUBOPT.
91122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
91123         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
91124         * lib/getsubopt.h: Remove file.
91125         * modules/getsubopt (Files): Remove lib/getsubopt.h.
91126         (Depends-on): Add stdlib.
91127         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91128         (Includes): Use <stdlib.h> instead of getsubopt.h.
91129         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
91130         Set HAVE_GETSUBOPT.
91131         * lib/getsubopt.c: Don't include getsubopt.h.
91133 2007-02-18  Bruno Haible  <bruno@clisp.org>
91135         * modules/fchdir (Depends-on): Add dup2.
91137 2007-02-18  Bruno Haible  <bruno@clisp.org>
91139         * lib/stdlib_.h: Handle glibc's special invocation convention
91140         specially.
91142 2007-02-18  Bruno Haible  <bruno@clisp.org>
91144         * modules/stdlib-tests: New file.
91145         * tests/test-stdlib.c: New file.
91147         * modules/mkstemp (Files): Remove lib/mkstemp.h.
91148         (Depends-on): Add stdlib.
91149         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91150         (Includes): Use <stdlib.h> instead of mkstemp.h.
91151         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91152         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
91153         * lib/mkstemp.c: Don't include mkstemp.h.
91154         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
91155         * lib/stdlib--.h: Don't include mkstemp.h.
91157         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
91158         (Depends-on): Add stdlib.
91159         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91160         (Includes): Use <stdlib.h> instead of mkdtemp.h.
91161         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91162         HAVE_MKDTEMP.
91163         * lib/mkdtemp.c: Don't include mkdtemp.h.
91164         * lib/clean-temp.c: Don't include mkdtemp.h.
91166         * modules/exit (Files): Remove lib/exit.h.
91167         (Depends-on): Add stdlib.
91168         (Makefile.am): Remove lib_SOURCES.
91169         (Include): Use <stdlib.h> instead of exit.h.
91170         * lib/argmatch.c: Don't include exit.h.
91171         * lib/execute.c: Likewise.
91172         * lib/pagealign_alloc.c: Likewise.
91173         * lib/pipe.c: Likewise.
91174         * lib/wait-process.c: Likewise.
91175         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
91176         * lib/exitfail.c: Likewise.
91177         * lib/savewd.c: Likewise.
91178         * lib/xsetenv.c: Likewise.
91180         * modules/stdlib: New file.
91181         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
91182         and extra comments about mkstemp().
91183         * lib/exit.h: Remove file.
91184         * lib/mkdtemp.h: Remove file.
91185         * lib/mkstemp.h: Remove file.
91186         * m4/stdlib_h.m4: New file.
91187         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
91189 2007-02-18  Bruno Haible  <bruno@clisp.org>
91191         * modules/math-tests: New file.
91192         * tests/test-math.c: New file.
91194         * modules/math: New file.
91195         * modules/mathl (Files): Remove lib/mathl.h.
91196         (Depends-on): Add math.
91197         (Makefile.am): Don't mention mathl.h.
91198         (Include): Use <math.h> instead of mathl.h.
91199         * lib/math_.h: New file.
91200         * lib/mathl.h: Remove file.
91201         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
91202         mathl.h.
91203         * lib/asinl.c: Likewise.
91204         * lib/atanl.c: Likewise.
91205         * lib/ceill.c: Likewise.
91206         * lib/cosl.c: Likewise.
91207         * lib/expl.c: Likewise.
91208         * lib/floorl.c: Likewise.
91209         * lib/frexpl.c: Likewise.
91210         * lib/ldexpl.c: Likewise.
91211         * lib/logl.c: Likewise.
91212         * lib/sincosl.c: Likewise.
91213         * lib/sinl.c: Likewise.
91214         * lib/sqrtl.c: Likewise.
91215         * lib/tanl.c: Likewise.
91216         * lib/trigl.c: Likewise.
91217         * m4/math_h.m4: New file.
91218         * MODULES.html.sh (Mathematics): Add math.
91220 2007-02-17  Bruno Haible  <bruno@clisp.org>
91222         * modules/wctype-tests: New file.
91223         * tests/test-wctype.c: New file.
91225         * modules/wchar-tests: New file.
91226         * tests/test-wchar.c: New file.
91228         * modules/unistd-tests: New file.
91229         * tests/test-unistd.c: New file.
91231         * modules/time-tests: New file.
91232         * tests/test-time.c: New file.
91234         * modules/sysexits-tests: New file.
91235         * tests/test-sysexits.c: New file.
91237         * modules/sys_time-tests: New file.
91238         * tests/test-sys_time.c: New file.
91240         * modules/sys_stat-tests: New file.
91241         * tests/test-sys_stat.c: New file.
91243         * modules/sys_socket-tests: New file.
91244         * tests/test-sys_socket.c: New file.
91246         * modules/sys_select-tests: New file.
91247         * tests/test-sys_select.c: New file.
91249         * modules/string-tests: New file.
91250         * tests/test-string.c: New file.
91252         * modules/stdbool-tests: New file.
91253         * tests/test-stdbool.c: New file.
91255         * modules/netinet_in-tests: New file.
91256         * tests/test-netinet_in.c: New file.
91258         * modules/inttypes-tests: New file.
91259         * tests/test-inttypes.c: New file.
91261         * modules/fcntl-tests: New file.
91262         * tests/test-fcntl.c: New file.
91264         * modules/byteswap-tests: New file.
91265         * tests/test-byteswap.c: New file.
91267         * modules/arpa_inet-tests: New file.
91268         * tests/test-arpa_inet.c: New file.
91270 2007-02-17  Bruno Haible  <bruno@clisp.org>
91272         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
91273         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
91274         if the corresponding module is not enabled. Emit link warnings if
91275         the function is used nevertheless.
91276         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
91277         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
91278         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
91279         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
91280         * modules/inttypes (Depends-on): Add link-warning.
91281         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91282         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
91283         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
91284         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
91285         * modules/imaxdiv (configure.ac): Likewise.
91286         * modules/strtoimax (configure.ac): Likewise.
91287         * modules/strtoumax (configure.ac): Likewise.
91289 2007-02-17  Bruno Haible  <bruno@clisp.org>
91291         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
91292         gl_STRING_MODULE_INDICATOR_DEFAULTS.
91293         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
91294         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
91296 2007-02-17  Bruno Haible  <bruno@clisp.org>
91298         * modules/link-warning: New file.
91299         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
91300         * lib/string_.h (GL_LINK_WARNING): Remove definition.
91301         * modules/string (Depends-on): Add link-warning.
91302         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91303         string.h.
91304         * MODULES.html.sh (Support for building libraries and executables): Add
91305         link-warning.
91307 2007-02-17  Bruno Haible  <bruno@clisp.org>
91309         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
91310         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
91311         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
91312         long lines.
91314 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
91315             Bruno Haible  <bruno@clisp.org>
91317         * modules/tmpfile: New file.
91318         * lib/tmpfile.c: New file.
91319         * m4/tmpfile.m4: New file.
91320         * MODULES.html.sh (func_all_modules): New section "Input/output".
91322 2007-02-15  Bruno Haible  <bruno@clisp.org>
91324         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
91325         (supports_delete_on_close): New function.
91326         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
91328 2007-02-14  Bruno Haible  <bruno@clisp.org>
91330         * modules/mbspcasecmp-tests: New file.
91331         * tests/test-mbspcasecmp.sh: New file.
91332         * tests/test-mbspcasecmp.c: New file.
91334         New module mbspcasecmp.
91335         * modules/mbspcasecmp: New file.
91336         * lib/mbspcasecmp.c: New file.
91337         * lib/string_.h (strncasecmp): Change warning message.
91338         (mbspcasecmp): New declaration.
91339         * m4/mbspcasecmp.m4: New file.
91340         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91341         GNULIB_MBSPCASECMP.
91342         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
91343         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
91345 2007-02-14  Bruno Haible  <bruno@clisp.org>
91347         * modules/mbsncasecmp-tests: New file.
91348         * tests/test-mbsncasecmp.sh: New file.
91349         * tests/test-mbsncasecmp.c: New file.
91351         New module mbsncasecmp.
91352         * modules/mbsncasecmp: New file.
91353         * lib/mbsncasecmp.c: New file.
91354         * lib/string_.h (mbsncasecmp): New declaration.
91355         * m4/mbsncasecmp.m4: New file.
91356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91357         GNULIB_MBSNCASECMP.
91358         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
91359         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
91361 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
91363         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
91364         Verify that it doesn't overlap with our flags.
91365         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
91366         do not have the desired effect in multibyte locales; instead, use
91367         mbscasecmp.
91368         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
91369         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
91370         we don't require GNU fnmatch ourselves (if our users require it, they
91371         should do so explicitly).
91373         Fix regex code so it doesn't rely on strcasecmp.
91374         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
91375         Otherwise, include gnulib's langinfo.h.
91376         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
91377         undesirable behavior in non-C locales.  Instead, rely on localecharset.
91378         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
91379         * modules/regex (FILES): Remove m4/codeset.m4.
91380         (Depends-on): Add localcharset.  Remove strcase.
91382 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91384         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
91385         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
91387 2007-02-13  Bruno Haible  <bruno@clisp.org>
91389         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
91390         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91392 2007-02-12  Bruno Haible  <bruno@clisp.org>
91394         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91395         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
91396         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
91397         time warning rather than a link error.
91399 2007-02-12  Bruno Haible  <bruno@clisp.org>
91401         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
91402         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
91403         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91405 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91407         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
91408         args, not 2.
91410 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91412         New module 'time', so that apps can include <time.h> as per
91413         POSIX and GNU instead of separate include files like time_r.h
91414         and timegm.h.  This implementation tries out a simpler approach
91415         for replacing decls in standard include files (as compared to
91416         the string module), somewhat as an experiment.
91418         * config/srclist.txt: Comment out mktime.c for now.
91419         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
91420         since it doesn't apply any more.  Use generic wording instead.
91421         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
91422         'time'.
91423         * lib/time_.h, m4/time_h.m4, modules/time: New files.
91424         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
91425         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
91426         Don't include <sys/types.h>; no longer needed since we assume C89.
91427         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
91428         * lib/strftime.c: Likewise.
91429         * lib/time_r.c: Likewise.
91430         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
91431         * lib/nanosleep.c: Include <time.h> first, to check interface.
91432         * lib/strptime.c: Likewise.
91433         * lib/time_r.c: Likewise.
91434         * lib/timegm.c: Likewise.
91435         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
91436         needed.
91437         * lib/timegm.c: Don't include timegm.h; no longer needed.
91438         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
91439         time.h now handles any problems in that area.
91440         (struct timespec, nanosleep): Remove; time.h now arranges for these.
91441         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
91442         that time.h defines struct timespec.
91443         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
91444         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
91445         handles that.
91446         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
91447         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
91448         needed.  Set REPLACE_LOCALTIME.
91449         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
91450         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
91451         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
91452         nanosleep; time_h.m4 now does that.  Don't require
91453         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
91454         module handles this now.
91455         * modules/getdate (Depends-on): Remove timespec.  Add time.
91456         * modules/nanosleep (Depends-on): Likewise.
91457         * modules/stat-time (Depends-on): Likewise.
91458         * modules/nanosleep (Include): Include time.h, not timespec.h.
91459         * modules/strptime (Files): Remove lib/strptime.h.
91460         (Depends-on): Add extensions, time.
91461         (Include): Include time.h, not strptime.h.
91462         * modules/time_r (Files): Remove lib/time_r.h.
91463         (Depends-on): Add time.
91464         (Include): Include time.h, not time_r.h.
91465         * modules/timegm: Likewise.
91466         * modules/timespec (Description): Now does timespec-related decls
91467         of our own, instead of struct timespec itself.
91468         (Depends-on): Add time; remove extensions.
91469         (Maintainer): Add self.
91470         * modules/utimecmp (Depends-on): Add time; remove timespec.
91471         * modules/utimens (Depends-on): Likewise.
91472         * modules/xnanosleep (Depends-on): Likewise.
91474 2007-02-11  Bruno Haible  <bruno@clisp.org>
91476         * lib/c-strstr.c: Include allocsa.h.
91477         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91478         * lib/c-strcasestr.c: Include allocsa.h.
91479         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91480         * lib/strcasestr.c: Include allocsa.h.
91481         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91482         * lib/mbsstr.c: Include allocsa.h.
91483         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91484         allocsa/freesa instead of malloc/free.
91485         * lib/mbscasestr.c: Include allocsa.h.
91486         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91487         allocsa/freesa instead of malloc/free.
91488         * modules/c-strstr (Depends-on): Add allocsa.
91489         * modules/c-strcasestr (Depends-on): Likewise.
91490         * modules/strcasestr (Depends-on): Likewise.
91491         * modules/mbsstr (Depends-on): Likewise.
91492         * modules/mbscasestr (Depends-on): Likewise.
91494 2007-02-11  Bruno Haible  <bruno@clisp.org>
91496         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
91498         * modules/mbsspn-tests: New file.
91499         * tests/test-mbsspn.sh: New file.
91500         * tests/test-mbsspn.c: New file.
91502 2007-02-11  Bruno Haible  <bruno@clisp.org>
91504         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
91506         * modules/mbspbrk-tests: New file.
91507         * tests/test-mbspbrk.sh: New file.
91508         * tests/test-mbspbrk.c: New file.
91510 2007-02-11  Bruno Haible  <bruno@clisp.org>
91512         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
91513         unneeded cast.
91515         * modules/mbscspn-tests: New file.
91516         * tests/test-mbscspn.sh: New file.
91517         * tests/test-mbscspn.c: New file.
91519 2007-02-11  Bruno Haible  <bruno@clisp.org>
91521         * modules/mbscasecmp-tests: New file.
91522         * tests/test-mbscasecmp.sh: New file.
91523         * tests/test-mbscasecmp.c: New file.
91525 2007-02-11  Bruno Haible  <bruno@clisp.org>
91527         Ensure O(n) worst-case complexity of mbscasestr.
91528         * lib/mbscasestr.c: Include stdbool.h.
91529         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91530         functions.
91531         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
91532         the bookkeeping indicates that it's worth it.
91533         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
91535         * modules/mbscasestr-tests: New file.
91536         * tests/test-mbscasestr1.c: New file.
91537         * tests/test-mbscasestr2.sh: New file.
91538         * tests/test-mbscasestr2.c: New file.
91539         * tests/test-mbscasestr3.sh: New file.
91540         * tests/test-mbscasestr3.c: New file.
91541         * tests/test-mbscasestr4.sh: New file.
91542         * tests/test-mbscasestr4.c: New file.
91543         * m4/locale-tr.m4: New file.
91545 2007-02-11  Bruno Haible  <bruno@clisp.org>
91547         Ensure O(n) worst-case complexity of mbsstr.
91548         * lib/mbsstr.c: Include stdbool.h.
91549         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91550         functions.
91551         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
91552         bookkeeping indicates that it's worth it.
91553         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
91555         * modules/mbsstr-tests: New file.
91556         * tests/test-mbsstr1.c: New file.
91557         * tests/test-mbsstr2.sh: New file.
91558         * tests/test-mbsstr2.c: New file.
91559         * tests/test-mbsstr3.sh: New file.
91560         * tests/test-mbsstr3.c: New file.
91561         * m4/locale-fr.m4: New file.
91563 2007-02-11  Bruno Haible  <bruno@clisp.org>
91565         * lib/mbsrchr.c (mbsrchr): Fix bug.
91567         * modules/mbsrchr-tests: New file.
91568         * tests/test-mbsrchr.sh: New file.
91569         * tests/test-mbsrchr.c: New file.
91571 2007-02-11  Bruno Haible  <bruno@clisp.org>
91573         * lib/mbschr.c (mbschr): Fix bug.
91575         * modules/mbschr-tests: New file.
91576         * tests/test-mbschr.sh: New file.
91577         * tests/test-mbschr.c: New file.
91578         * m4/locale-zh.m4: New file.
91580 2007-02-11  Bruno Haible  <bruno@clisp.org>
91582         Support for copying multibyte string iterators.
91583         * lib/mbiter.h: Include <string.h>.
91584         (mbiter_multi_copy): New function.
91585         (mbi_copy): New macro.
91586         * lib/mbuiter.h: Include <string.h>.
91587         (mbuiter_multi_copy): New function.
91588         (mbui_copy): New macro.
91590 2007-02-11  Bruno Haible  <bruno@clisp.org>
91592         New module mbslen.
91593         * modules/mbslen: New file.
91594         * lib/mbslen.c: New file.
91595         * lib/string_.h (mbslen): New declaration.
91596         * m4/mbslen.m4: New file.
91597         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91598         GNULIB_MBSLEN.
91599         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
91600         * MODULES.html.sh (Internationalization functions): Add mbslen.
91602 2007-02-11  Bruno Haible  <bruno@clisp.org>
91604         Ensure O(n) worst-case complexity of strcasestr substitute.
91605         * lib/strcasestr.c: Include stdbool.h.
91606         (knuth_morris_pratt): New function.
91607         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91608         bookkeeping indicates that it's worth it.
91609         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
91611         * modules/strcasestr-tests: New file.
91612         * tests/test-strcasestr.c: New file.
91614 2007-02-11  Bruno Haible  <bruno@clisp.org>
91616         Ensure O(n) worst-case complexity of c_strcasestr.
91617         * lib/c-strcasestr.c: Include stdbool.h, string.h.
91618         (knuth_morris_pratt): New function.
91619         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
91620         the bookkeeping indicates that it's worth it.
91621         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
91623         * modules/c-strcasestr-tests: New file.
91624         * tests/test-c-strcasestr.c: New file.
91626 2007-02-11  Bruno Haible  <bruno@clisp.org>
91628         Ensure O(n) worst-case complexity of c_strstr.
91629         * lib/c-strstr.c: Include stdbool.h, string.h.
91630         (knuth_morris_pratt): New function.
91631         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91632         bookkeeping indicates that it's worth it.
91633         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
91635         * lib/c-strstr.c: Complete rewrite for maintainability.
91637         * modules/c-strstr-tests: New file.
91638         * tests/test-c-strstr.c: New file.
91640 2007-02-11  Bruno Haible  <bruno@clisp.org>
91642         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
91643         5.2.1 and earlier, whereby \055 was treated just like the range
91644         delimiter '-'.
91645         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91647 2007-02-08  Bruno Haible  <bruno@clisp.org>
91649         * modules/regex (Depends-on): Add stdbool.
91650         Reported by Dalibor Topic <robilad@kaffe.org>.
91652 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
91654         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
91655         Prefer returning from main to exiting from it.
91656         Remove unnecessary parens after sizeof.
91658 2007-02-05  Bruno Haible  <bruno@clisp.org>
91660         New module mbssep.
91661         * modules/mbssep: New file.
91662         * lib/mbssep.c: New file.
91663         * lib/string_.h (strsep): Add a conditional link warning.
91664         (mbssep): New declaration.
91665         * m4/mbssep.m4: New file.
91666         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91667         GNULIB_MBSSEP.
91668         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
91669         * MODULES.html.sh (Internationalization functions): Add mbssep.
91671 2007-02-05  Bruno Haible  <bruno@clisp.org>
91673         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
91674         Optimize search in case of 1 delimiter.
91676 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91678         * lib/acl.h: Include sys/types.h before sys/acl.h.
91680 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91682         Merge upstream fix for glibc bugzilla #3957:
91684         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
91686         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
91687         bit for RE_HAT_LISTS_NOT_NEWLINE.
91688         (build_charclass_op): Remove bogus comment.
91690 2007-02-05  Simon Josefsson  <simon@josefsson.org>
91692         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
91694 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91696         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
91697         * lib/memmem.c [!defined _LIBC]: Include config.h.
91699 2007-02-04  Bruno Haible  <bruno@clisp.org>
91701         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
91702         warning message.
91704 2007-02-04  Bruno Haible  <bruno@clisp.org>
91706         New module mbstok_r.
91707         * modules/mbstok_r: New file.
91708         * lib/mbstok_r.c: New file.
91709         * lib/string_.h (strtok_r): Change argument names to match the
91710         comments. Add a conditional link warning.
91711         (mbstok_r): New declaration.
91712         * m4/mbstok_r.m4: New file.
91713         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91714         GNULIB_MBSTOK_R.
91715         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
91716         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
91718 2007-02-04  Bruno Haible  <bruno@clisp.org>
91720         New module mbsspn.
91721         * modules/mbsspn: New file.
91722         * lib/mbsspn.c: New file.
91723         * lib/string_.h (strspn): Add a conditional link warning.
91724         (mbsspn): New declaration.
91725         * m4/mbsspn.m4: New file.
91726         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91727         GNULIB_MBSSPN.
91728         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
91729         * MODULES.html.sh (Internationalization functions): Add mbsspn.
91731 2007-02-04  Bruno Haible  <bruno@clisp.org>
91733         New module mbspbrk.
91734         * modules/mbspbrk: New file.
91735         * lib/mbspbrk.c: New file.
91736         * lib/string_.h (strpbrk): Add a conditional link warning.
91737         (mbspbrk): New declaration.
91738         * m4/mbspbrk.m4: New file.
91739         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91740         GNULIB_MBSPBRK.
91741         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91742         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91744 2007-02-04  Bruno Haible  <bruno@clisp.org>
91746         New module mbscspn.
91747         * modules/mbscspn: New file.
91748         * lib/mbscspn.c: New file.
91749         * lib/string_.h (strcspn): Add a conditional link warning.
91750         (mbscspn): New declaration.
91751         * m4/mbscspn.m4: New file.
91752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91753         GNULIB_MBSCSPN.
91754         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91755         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91757 2007-02-04  Bruno Haible  <bruno@clisp.org>
91759         New module mbscasestr, reduced goal of strcasestr.
91760         * modules/mbscasestr: New file.
91761         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91762         (mbscasestr): Renamed from strcasestr.
91763         * lib/strcasestr.c: Don't include mbuiter.h.
91764         (strcasestr): Remove support for multibyte locales.
91765         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91766         Change the conditional link warning.
91767         (mbscasestr): New declaration.
91768         * m4/mbscasestr.m4: New file.
91769         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91770         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91771         REPLACE_STRCASESTR.
91772         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91773         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91774         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91775         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91776         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91777         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91778         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91779         (Depends-on): Remove mbuiter.
91780         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91782 2007-02-04  Bruno Haible  <bruno@clisp.org>
91784         Simplify handling of strncasecmp.
91785         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91786         the conditional link warning.
91787         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91788         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91789         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91790         * modules/strcase (configure.ac): Don't invoke
91791         gl_STRING_MODULE_INDICATOR.
91792         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91794 2007-02-04  Bruno Haible  <bruno@clisp.org>
91796         New module mbscasecmp, reduced goal of strcasecmp.
91797         * modules/mbscasecmp: New file.
91798         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91799         (mbscasecmp): Renamed from strcasecmp.
91800         * lib/strcasecmp.c: Don't include mbuiter.h.
91801         (strcasecmp): Remove support for multibyte locales.
91802         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91803         Change the conditional link warning.
91804         (mbscasecmp): New declaration.
91805         * m4/mbscasecmp.m4: New file.
91806         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91807         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91808         REPLACE_STRCASECMP.
91809         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91810         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91811         GNULIB_MBSCASECMP.
91812         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91813         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91814         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91815         (Depends-on): Remove mbuiter.
91816         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91818 2007-02-04  Bruno Haible  <bruno@clisp.org>
91820         New module mbsstr. Remove module strstr.
91821         * modules/mbsstr: New file.
91822         * modules/strstr: Remove file.
91823         * lib/mbsstr.c: Renamed from lib/strstr.c.
91824         (mbsstr): Renamed from strstr.
91825         * lib/string_.h (strstr): Remove declaration. Change the conditional
91826         link warning.
91827         (mbsstr): New declaration.
91828         * m4/mbsstr.m4: New file.
91829         * m4/strstr.m4: Remove file.
91830         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91831         REPLACE_STRSTR.
91832         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91833         Don't initialize GNULIB_STRSTR.
91834         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91835         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91836         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91837         (Support for systems lacking ANSI C 89): Remove strstr.
91839 2007-02-04  Bruno Haible  <bruno@clisp.org>
91841         New module mbsrchr.
91842         * modules/mbsrchr: New file.
91843         * lib/mbsrchr.c: New file.
91844         * lib/string_.h (strrchr): Add a conditional link warning.
91845         (mbsrchr): New declaration.
91846         * m4/mbsrchr.m4: New file.
91847         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91848         GNULIB_MBSRCHR.
91849         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91850         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91852 2007-02-04  Bruno Haible  <bruno@clisp.org>
91854         New module mbschr.
91855         * modules/mbschr: New file.
91856         * lib/mbschr.c: New file.
91857         * lib/string_.h (strchr): Add a conditional link warning.
91858         (mbschr): New declaration.
91859         * m4/mbschr.m4: New file.
91860         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91861         GNULIB_MBSCHR.
91862         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91863         * MODULES.html.sh (Internationalization functions): Add mbschr.
91865 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91867         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91869         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91871 2007-02-04  Bruno Haible  <bruno@clisp.org>
91873         New module description section 'configure.ac-early'.
91874         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91875         (func_get_autoconf_early_snippet): New function.
91876         (func_import, func_create_testdir): Use it. Remove special cases for
91877         modules 'extensions' and 'lock'.
91878         * modules/extensions (configure.ac-early): Require
91879         gl_USE_SYSTEM_EXTENSIONS.
91880         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91882 2007-02-04  Bruno Haible  <bruno@clisp.org>
91884         Make use of gcj-4.3's -fsource and -ftarget option.
91885         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91886         and if so try the options -fsource and -ftarget.
91887         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91888         source_version, ftarget_option, target_version arguments.
91889         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91890         (is_envjavac_oldgcj_14_14_usable): Renamed from
91891         is_envjavac_gcj_14_14_usable.
91892         (is_envjavac_oldgcj_14_13_usable): Renamed from
91893         is_envjavac_gcj_14_13_usable.
91894         (is_gcj_present): Update.
91895         (is_gcj_43, is_gcj43_usable): New functions.
91896         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91897         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91898         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91899         try the options -fsource and -ftarget.
91901 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91903         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91904         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91905         larger value.
91907 2007-02-03  Jim Meyering  <jim@meyering.net>
91909         Give tools a better chance to allocate space for very large buffers.
91910         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91912         Make pwd and readlink work also when run with an unreadable parent dir
91913         on systems with openat support.
91914         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91915         provided getcwd function, even when we have openat support.
91916         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91918 2007-02-02  Bruno Haible  <bruno@clisp.org>
91920         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91921         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91922         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91923         portability problems if one of these functions is only used on specific
91924         platforms.
91925         Reported by Paul Eggert.
91927 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91929         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91930         is causing more trouble than it's curing.
91931         * lib/regex_internal.h (__mempcpy): Remove.
91932         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91933         (and make the code a tad smaller to boot).
91934         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91936 2007-02-02  Jim Meyering  <jim@meyering.net>
91938         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91939         section, not in the Makefile.am: one.
91941 2007-02-02  Eric Blake  <ebb9@byu.net>
91943         * lib/strchrnul.c: Always include config.h first.
91945         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91946         gnulib strstr is not necessary here.
91948 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91950         * m4/socklen.m4: Fix typo.
91952 2007-02-02  Eric Blake  <ebb9@byu.net>
91954         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91955         * modules/netinet_in (Makefile.am): Likewise.
91957 2007-02-01  Bruno Haible  <bruno@clisp.org>
91959         * lib/string_.h (GL_LINK_WARNING): New macro.
91960         (strcasecmp, strstr, strcasestr): If provided by the system,
91961         conditionally define as a macro that leads to a warning instead of to
91962         an error.
91963         (strncasecmp): Conditionally define as a macro that leads to a warning.
91965 2007-02-01  Karl Berry  <karl@gnu.org>
91967         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
91969 2007-02-01  Bruno Haible  <bruno@clisp.org>
91971         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
91972         renamings.
91974 2007-02-01  Eric Blake  <ebb9@byu.net>
91976         * modules/regex (Depends-on): Revert dependence on mempcpy.
91977         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
91978         module's definition of mempcpy.
91979         Reported by Paul Eggert.
91981 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
91983         * lib/string_.h: If the gnulib module XYZ is not present, undefine
91984         the symbol XYZ before redefining it.  This fixes a problem with
91985         programs that don't use XYZ, when compiled on systems that define
91986         XYZ to something else.
91988 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
91990         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
91991         occurs when "mkdir -m foo" creates a setgid directory that is (1)
91992         writeable to group or other and (2) is intended to have a special
91993         mode bit that is set or cleared.  In such a case, the directory
91994         should be neither group- nor other-writeable until the special
91995         mode bits are right.
91997 2007-01-31  Eric Blake  <ebb9@byu.net>
91999         * modules/mountlist (Depends-on): Add strstr.
92001         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
92002         bug.
92003         * modules/string (Makefile.am): Remove redundant replacement.
92004         * modules/regex (Depends-on): Add mempcpy.
92006 2007-01-31  Bruno Haible  <bruno@clisp.org>
92008         New module description field 'Link'.
92009         * gnulib-tool (func_usage): Document --extract-link-directive.
92010         (sed_extract_prog): Recognize 'Link' directive.
92011         (func_get_link_directive): New function.
92012         (func_import): Show summary of link directives.
92013         Handle --extract-link-directive option.
92014         * modules/acl (Link): New section.
92015         * modules/clock-time (Link): New section.
92016         * modules/euidaccess (Link): New section.
92017         * modules/gettext (Link): New section.
92018         * modules/iconv (Link): New section.
92019         * modules/lock (Link): New section.
92020         * modules/nanosleep (Link): New section.
92021         * modules/readline (Link): New section.
92023 2007-01-27  Bruno Haible  <bruno@clisp.org>
92025         Enforce the use of gnulib modules for unportable <string.h> functions.
92026         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
92027         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
92028         (gl_HEADER_STRING_H_BODY): Require it.
92029         * lib/string_.h: If the gnulib module XYZ is not present, redefine
92030         the symbol XYZ to one that gives a link error.
92031         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
92032         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
92033         * modules/mempcpy (configure.ac): Likewise.
92034         * modules/memrchr (configure.ac): Likewise.
92035         * modules/stpcpy (configure.ac): Likewise.
92036         * modules/stpncpy (configure.ac): Likewise.
92037         * modules/strcase (configure.ac): Likewise.
92038         * modules/strcasestr (configure.ac): Likewise.
92039         * modules/strchrnul (configure.ac): Likewise.
92040         * modules/strdup (configure.ac): Likewise.
92041         * modules/strndup (configure.ac): Likewise.
92042         * modules/strnlen (configure.ac): Likewise.
92043         * modules/strpbrk (configure.ac): Likewise.
92044         * modules/strsep (configure.ac): Likewise.
92045         * modules/strstr (configure.ac): Likewise.
92046         * modules/strtok_r (configure.ac): Likewise.
92048 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
92050         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
92052 2007-01-30  Jim Meyering  <jim@meyering.net>
92054         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
92056 2007-01-29  Bruno Haible  <bruno@clisp.org>
92058         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
92059         * lib/execute.c: Likewise.
92060         * lib/pipe.c: Likewise.
92061         * lib/printf-args.h: Likewise.
92062         * lib/printf-args.c: Likewise.
92063         * lib/printf-parse.c: Likewise.
92064         * lib/vasnprintf.c: Likewise.
92066 2007-01-29  Eric Blake  <ebb9@byu.net>
92068         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
92069         declaration.
92071 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
92073         * lib/strptime.h (strptime): Use 'restrict' for args where
92074         POSIX requires this.
92075         * lib/strptime.c (strptime): Likewise.
92076         Change license notice from LGPL to GPL, since gnulib-tool will
92077         change this as needed.
92078         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
92079         defined.
92080         Include "strptime.h" first, to check interface.
92081         Do not #undef _LIBC and _NL_CURRENT.
92082         Do not include <stdlib.h>; no longer needed.
92083         Include "time_r.h" and declare ptime_locale_status
92084         only if _LIBC is not defined.
92085         (__P): Remove unused macro.
92086         (match_string): Bring back glibc version, but use it only if _LIBC
92087         is defined.
92088         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
92089         Remove unnecessary assertion and abort() call.
92090         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
92091         * m4/strptime.m4: Fix serial number comment.
92092         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
92093         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
92094         (Depends-on): Add time_r.
92096 2007-01-29  Bruno Haible  <bruno@clisp.org>
92098         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92099         strptime.
92100         * modules/strptime (Depends-on): Add stdbool.
92101         * lib/strptime.h: Include <time.h> always. Add comments.
92103 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
92105         * modules/strptime: New file.
92106         * lib/strptime.h: New file.
92107         * lib/strptime.c: New file.
92108         * m4/strptime.m4: New file.
92110 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
92112         * MODULES.html.sh: New module mpsort.
92113         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
92115         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
92116         a circularity problem with HP-UX ia64 reported by Bob Proulx in
92117         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
92118         All uses changed.
92119         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
92120         All uses changed.
92121         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
92122         to _Restrict_.
92123         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
92124         the parameter matches the prototype.
92126 2007-01-28  Jim Meyering  <jim@meyering.net>
92128         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
92129         sys/time.h here, reverting that part of the previous patch:
92130         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
92132 2007-01-28  Bruno Haible  <bruno@clisp.org>
92134         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
92135         value of $(SYS_TIME_H).
92136         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
92137         remove it conditionally, too. [added by Jim Meyering]
92138         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
92139         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92140         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
92141         GETTIMEOFDAY_REPLACEMENT to 1.
92143 2007-01-28  Bruno Haible  <bruno@clisp.org>
92145         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
92146         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
92147         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
92148         Set UNISTD_H instead of UNISTD_H2.
92149         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
92151 2007-01-28  Bruno Haible  <bruno@clisp.org>
92153         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
92154         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
92156 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92158         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
92159         (func_create_testdir): Ensure C locale for `grep' and `tr'
92160         character ranges.
92161         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
92162         ACLOCAL_AMFLAGS parsing state machine.
92164 2007-01-27  Bruno Haible  <bruno@clisp.org>
92166         * modules/unistr/base: Update.
92168 2007-01-27  Bruno Haible  <bruno@clisp.org>
92170         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
92171         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
92172         * modules/unistr/u32-mbtouc-unsafe: Renamed from
92173         modules/unistr/u32-mbtouc.
92174         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
92175         * lib/unistr.h: Update.
92176         * lib/linebreak.c: Update.
92177         * modules/unistr/u32-mbtouc: Renamed from
92178         modules/unistr/u32-mbtouc-safe.
92179         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
92180         * lib/unistr.h: Update.
92181         * lib/unistr/u32-to-u8.c: Update.
92182         * lib/unistr/u32-to-u16.c: Update.
92184 2007-01-27  Bruno Haible  <bruno@clisp.org>
92186         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
92187         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
92188         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
92189         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
92190         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
92191         * modules/unistr/u16-mbtouc-unsafe: Renamed from
92192         modules/unistr/u16-mbtouc.
92193         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
92194         * lib/unistr.h: Update.
92195         * lib/linebreak.c: Update.
92196         * modules/linebreak: Update.
92197         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
92198         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
92199         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
92200         * modules/unistr/u16-mbtouc: Renamed from
92201         modules/unistr/u16-mbtouc-safe.
92202         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
92203         * lib/unistr.h: Update.
92204         * lib/unistr/u16-to-u8.c: Update.
92205         * modules/unistr/u16-to-u8: Update.
92206         * lib/unistr/u16-to-u32.c: Update.
92207         * modules/unistr/u16-to-u32: Update.
92209 2007-01-27  Bruno Haible  <bruno@clisp.org>
92211         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
92212         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
92213         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
92214         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
92215         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
92216         * modules/unistr/u8-mbtouc-unsafe: Renamed from
92217         modules/unistr/u8-mbtouc.
92218         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
92219         * lib/unistr.h: Update.
92220         * lib/striconveh.c: Update.
92221         * modules/striconveh: Update.
92222         * lib/linebreak.c: Update.
92223         * modules/linebreak: Update.
92224         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
92225         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
92226         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
92227         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
92228         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
92229         * lib/unistr.h: Update.
92230         * lib/striconveh.c: Update.
92231         * modules/striconveh: Update.
92232         * lib/unistr/u8-to-u16.c: Update.
92233         * modules/unistr/u8-to-u16: Update.
92234         * lib/unistr/u8-to-u32.c: Update.
92235         * modules/unistr/u8-to-u32: Update.
92237 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92239         Sync from Libtool.
92240         * lib/argz.c: Do not include strings.h nor memory.h, include
92241         string.h unconditionally.  Patch by Simon Josefsson.
92243 2007-01-27  Bruno Haible  <bruno@clisp.org>
92245         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
92246         from gl_HEADER_STRING_H_BODY.
92247         (gl_HEADER_STRING_H_BODY): Require it.
92248         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
92249         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
92250         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
92251         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
92252         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
92253         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
92254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92255         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
92256         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
92257         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
92258         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
92259         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
92260         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
92261         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
92262         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
92264 2007-01-27  Bruno Haible  <bruno@clisp.org>
92266         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
92267         check_PROGRAMS into noinst_PROGRAMS.
92268         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
92269         check_PROGRAMS in this case.
92270         (func_import): Set for_test to false.
92271         (func_create_testdir): Set for_test to true.
92273 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92274             Bruno Haible  <bruno@clisp.org>
92276         * modules/strcasestr (Files): Remove lib/strcasestr.h.
92277         (Depends-on): Add string.
92278         (Includes): Use <string.h> instead of strcasestr.h.
92279         * modules/string (Makefile.am): Also substitute the value of
92280         REPLACE_STRCASESTR.
92281         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
92282         assume strcasestr is declared in <string.h> not <strings.h>. Also
92283         set REPLACE_STRCASESTR.
92284         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
92285         REPLACE_STRCASESTR.
92286         * lib/strcasestr.h: Remove file.
92287         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
92288         * lib/string_.h (strcasestr): New declaration.
92290 2007-01-27  Bruno Haible  <bruno@clisp.org>
92292         * lib/string_.h: Use 'extern'.
92294 2007-01-27  Jim Meyering  <jim@meyering.net>
92296         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
92297         of set-but-not-used local, "q".
92299         * lib/mempcpy.c: Include <config.h> before <string.h>.
92300         This fixes a compilation error on HP-UX, due to the system's
92301         "restrict"-using mempcpy prototype.
92303 2007-01-26  Bruno Haible  <bruno@clisp.org>
92305         Small optimization.
92306         * lib/javacomp.c: Include c-strstr.h.
92307          (is_envjavac_gcj): Use c_strstr instead of strstr.
92308         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
92310 2007-01-26  Bruno Haible  <bruno@clisp.org>
92312         * MODULES.html.sh (Unicode string functions): Add the new modules.
92314         * modules/uniconv/u32-strconv-to-locale: New file.
92315         * lib/uniconv/u32-strconv-to-locale.c: New file.
92317         * modules/uniconv/u16-strconv-to-locale: New file.
92318         * lib/uniconv/u16-strconv-to-locale.c: New file.
92320         * modules/uniconv/u8-strconv-to-locale: New file.
92321         * lib/uniconv/u8-strconv-to-locale.c: New file.
92323         * modules/uniconv/u32-strconv-from-locale: New file.
92324         * lib/uniconv/u32-strconv-from-locale.c: New file.
92326         * modules/uniconv/u16-strconv-from-locale: New file.
92327         * lib/uniconv/u16-strconv-from-locale.c: New file.
92329         * modules/uniconv/u8-strconv-from-locale: New file.
92330         * lib/uniconv/u8-strconv-from-locale.c: New file.
92332         * modules/uniconv/u32-strconv-to-enc: New file.
92333         * lib/uniconv/u32-strconv-to-enc.c: New file.
92334         * modules/uniconv/u32-strconv-to-enc-tests: New file.
92335         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
92337         * modules/uniconv/u16-strconv-to-enc: New file.
92338         * lib/uniconv/u16-strconv-to-enc.c: New file.
92339         * lib/uniconv/u-strconv-to-enc.h: New file.
92340         * modules/uniconv/u16-strconv-to-enc-tests: New file.
92341         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
92343         * modules/uniconv/u8-strconv-to-enc: New file.
92344         * lib/uniconv/u8-strconv-to-enc.c: New file.
92345         * modules/uniconv/u8-strconv-to-enc-tests: New file.
92346         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
92348         * modules/uniconv/u32-strconv-from-enc: New file.
92349         * lib/uniconv/u32-strconv-from-enc.c: New file.
92350         * modules/uniconv/u32-strconv-from-enc-tests: New file.
92351         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
92353         * modules/uniconv/u16-strconv-from-enc: New file.
92354         * lib/uniconv/u16-strconv-from-enc.c: New file.
92355         * modules/uniconv/u16-strconv-from-enc-tests: New file.
92356         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
92358         * modules/uniconv/u8-strconv-from-enc: New file.
92359         * lib/uniconv/u8-strconv-from-enc.c: New file.
92360         * lib/uniconv/u-strconv-from-enc.h: New file.
92361         * modules/uniconv/u8-strconv-from-enc-tests: New file.
92362         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
92364         * modules/uniconv/u32-conv-from-enc: New file.
92365         * lib/uniconv/u32-conv-from-enc.c: New file.
92366         * modules/uniconv/u32-conv-from-enc-tests: New file.
92367         * tests/uniconv/test-u32-conv-from-enc.c: New file.
92369         * modules/uniconv/u16-conv-from-enc: New file.
92370         * lib/uniconv/u16-conv-from-enc.c: New file.
92371         * lib/uniconv/u-conv-from-enc.h: New file.
92372         * modules/uniconv/u16-conv-from-enc-tests: New file.
92373         * tests/uniconv/test-u16-conv-from-enc.c: New file.
92375         * modules/uniconv/u8-conv-from-enc: New file.
92376         * lib/uniconv/u8-conv-from-enc.c: New file.
92377         * modules/uniconv/u8-conv-from-enc-tests: New file.
92378         * tests/uniconv/test-u8-conv-from-enc.c: New file.
92380         * modules/uniconv/base: New file.
92381         * lib/uniconv.h: New file.
92383 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
92385         * doc/gnulib-tool.texi (Initial import): Update to match current
92386         behavior with strdup module.
92387         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
92388         * lib/memmem.h: Remove; all uses removed.  This is now done
92389         by <string.h>.
92390         * lib/mempcpy.h: Likewise.
92391         * lib/memrchr.h: Likewise.
92392         * lib/stpcpy.h: Likewise.
92393         * lib/stpncpy.h: Likewise.
92394         * lib/strcase.h: Likewise.
92395         * lib/strchrnul.h: Likewise.
92396         * lib/strdup.h: Likewise.
92397         * lib/strndup.h: Likewise.
92398         * lib/strnlen.h: Likewise.
92399         * lib/strpbrk.h: Likewise.
92400         * lib/strsep.h: Likewise.
92401         * lib/strstr.h: Likewise.
92402         * lib/strtok_r.h: Likewise.
92403         * lib/string_.h: New file.
92404         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
92405         Rely on <string.h> instead.
92406         * lib/canon-host.c: Likewise.
92407         * lib/chdir-long.c: Likewise.
92408         * lib/concatpath.c: Likewise.
92409         * lib/exclude.c: Likewise.
92410         * lib/fchdir.c: Likewise.
92411         * lib/getaddrinfo.c: Likewise.
92412         * lib/getcwd.c: Likewise.
92413         * lib/getsubopt.c: Likewise.
92414         * lib/glob.c: Likewise.
92415         * lib/hard-locale.c: Likewise.
92416         * lib/iconvme.c: Likewise.
92417         * lib/javacomp.c: Likewise.
92418         * lib/mempcpy.c: Likewise.
92419         * lib/memrchr.c: Likewise.
92420         * lib/regex_internal.h: Likewise.
92421         * lib/stpncpy.c: Likewise.
92422         * lib/strcasecmp.c: Likewise.
92423         * lib/strchrnul.c: Likewise.
92424         * lib/strdup.c: Likewise.
92425         * lib/striconv.c: Likewise.
92426         * lib/striconveh.c: Likewise.
92427         * lib/striconveha.c: Likewise.
92428         * lib/strncasecmp.c: Likewise.
92429         * lib/strndup.c: Likewise.
92430         * lib/strnlen.c: Likewise.
92431         * lib/strsep.c: Likewise.
92432         * lib/strstr.c: Likewise.
92433         * lib/strtok_r.c: Likewise.
92434         * lib/userspec.c: Likewise.
92435         * lib/w32spawn.h: Likewise.
92436         * lib/xstrndup.c: Likewise.
92437         * lib/mountlist.c (strstr): Remove decl.
92438         * m4/string_h.m4: New file.
92439         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
92440         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
92441         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
92442         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
92443         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
92444         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
92445         Set REPLACE_STRCASECMP if necessary.
92446         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
92447         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
92448         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
92449         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
92450         HAVE_DECL_STRDUP if necessary.
92451         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
92452         since gl_FUNC_STRNDUP does that now.
92453         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
92454         Check for decl here...
92455         (gl_PREREQ_STRNLEN): ... not here.
92456         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
92457         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
92458         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
92459         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
92460         necessary.
92461         * modules/string: New file.
92462         * modules/memmem (Files): Remove special-purpose include file.
92463         (Depends-on): Add string.
92464         (Include): Include <string.h>, not the removed file.
92465         * modules/mempcpy: Likewise.
92466         * modules/memrchr: Likewise.
92467         * modules/stpcpy: Likewise.
92468         * modules/stpncpy: Likewise.
92469         * modules/strcase: Likewise.
92470         * modules/strchrnul: Likewise.
92471         * modules/strdup: Likewise.
92472         * modules/strndup: Likewise.
92473         * modules/strnlen: Likewise.
92474         * modules/strpbrk: Likewise.
92475         * modules/strsep: Likewise.
92476         * modules/strstr: Likewise.
92477         * modules/strtok_r: Likewise.
92478         * tests/test-dirname.c: Don't include "strdup.h", since
92479         <string.h> now suffices.
92480         * tests/test-memmem.c: Don't include "memmem.h", since
92481         <string.h> now suffices.
92483 2007-01-25  Bruno Haible  <bruno@clisp.org>
92485         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
92486         *resultp is 0.
92488         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
92489         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
92490         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
92491         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
92493         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
92494         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
92495         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
92496         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
92497         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
92498         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
92500 2007-01-24  Bruno Haible  <bruno@clisp.org>
92502         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
92503         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
92504         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
92505         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
92506         gl_FUNC_FTS_CORE.
92507         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
92508         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
92509         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92510         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
92511         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
92512         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
92513         gl_FUNC_FCHOWNAT.
92514         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
92515         gl_FUNC_STRFTIME.
92516         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
92517         Reported by Ralf Wildenhues.
92519 2007-01-24  Bruno Haible  <bruno@clisp.org>
92521         Drop AC_REQUIRE calls that are redundant with the module dependencies.
92522         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
92523         gl_GETADDRINFO.
92524         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
92525         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
92526         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
92528 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
92530         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
92531         Don't use 'exit'; just return from 'main'.
92532         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
92534         * lib/fnmatch_.h: Readjust white space and comments to match
92535         glibc, to avoid spurious diffs.
92537 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92539         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
92540         2004-12-01 change by Jakub Jelinek, since this code won't compile
92541         if !LIBC.  Problem reported by Bob Proulx.
92543 2007-01-23  Bruno Haible  <bruno@clisp.org>
92545         * lib/striconveh.c: Include c-strcaseeq.h.
92546         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
92547         * modules/striconveh (Depends-on): Add c-strcaseeq.
92549 2007-01-23  Bruno Haible  <bruno@clisp.org>
92551         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
92553         * modules/c-strcaseeq: New file.
92554         * lib/c-strcaseeq.h: New file.
92556         * modules/streq: New file.
92557         * lib/streq.h: New file.
92559 2007-01-23  Bruno Haible  <bruno@clisp.org>
92561         * modules/striconveha-tests: New file.
92562         * tests/test-striconveha.c: New file.
92564         * lib/striconveha.h: Include <stdbool.h>.
92565         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
92566         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
92567         (mem_iconveha_notranslit): Renamed from mem_iconveha.
92568         (mem_iconveha): New function.
92569         (str_iconveha_notranslit): Renamed from str_iconveha.
92570         (str_iconveha): New function.
92571         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
92572         c-strcase.
92574 2007-01-23  Bruno Haible  <bruno@clisp.org>
92576         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
92577         encodings without forgiving before trying any encoding with handler.
92578         (str_iconveha): Try all encodings without forgiving before trying any
92579         encoding with handler.
92581 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92583         Import the following changes from libc.
92585         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
92587         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
92589         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
92591         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
92592         normal_bracket label.
92594         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
92596         [BZ #361]
92597         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
92598         to normal_bracket after fetching the next character.
92600 2007-01-22  Bruno Haible  <bruno@clisp.org>
92602         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
92603         argument.
92604         * lib/striconveh.c (iconv_carefully_1): New function.
92605         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
92606         argument.
92607         (str_cd_iconveh): Update.
92608         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
92609         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
92610         * tests/test-striconveh.c (MAGIC): New macro.
92611         (new_offsets): New function.
92612         (main): Test call with and without offsets.
92614 2007-01-22  Bruno Haible  <bruno@clisp.org>
92616         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
92617         * modules/sys_select (Makefile.am): Likewise.
92618         * modules/sys_socket (Makefile.am): Likewise.
92619         * modules/sys_time (Makefile.am): Likewise.
92621 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
92623         * modules/gettimeofday (License): Change from GPL to LGPL, since
92624         gettimeofday is a library function.
92626 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92628         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
92630 2007-01-21  Bruno Haible  <bruno@clisp.org>
92632         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
92634 2007-01-21  Bruno Haible  <bruno@clisp.org>
92636         * modules/striconveha: New file.
92637         * lib/striconveha.h: New file.
92638         * lib/striconveha.c: New file.
92639         * MODULES.html.sh (Internationalization functions): Add striconveha.
92640         * lib/striconv.c (str_iconv): Optimize the case of an empty input
92641         string.
92642         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
92644 2007-01-21  Bruno Haible  <bruno@clisp.org>
92646         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
92647         * lib/striconveh.c (str_iconveh): Likewise.
92649 2007-01-21  Bruno Haible  <bruno@clisp.org>
92651         * lib/striconveh.h (mem_iconveh): New declaration.
92652         * lib/striconveh.c (mem_iconveh): New function.
92653         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
92655 2007-01-21  Bruno Haible  <bruno@clisp.org>
92657         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
92659         * lib/striconveh.h (mem_cd_iconveh): Change specification.
92660         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
92661         original result buffer.
92662         (str_cd_iconveh): Update.
92663         * tests/test-striconveh.c (main): Update.
92665         * lib/striconv.h (mem_cd_iconv): Change specification.
92666         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
92667         result buffer.
92668         (str_cd_iconv): Update.
92669         * tests/test-striconv.c (main): Update.
92671 2007-01-21  Bruno Haible  <bruno@clisp.org>
92673         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
92675 2007-01-20  Jim Meyering  <jim@meyering.net>
92677         * lib/userspec.c (parse_with_separator): If a user or group string
92678         starts with "+", skip the corresponding name-to-ID look-up, since
92679         such a look-up must fail: user and group names may not include "+".
92681 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
92683         * lib/poll.c: Include sys/time.h and time.h unconditionally,
92684         since we now assume the sys_time module.
92685         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
92686         check for sys/time.h; no longer needed.
92687         * modules/poll (Depends-on): Depend on sys_time.
92689 2007-01-18  Bruno Haible  <bruno@clisp.org>
92691         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
92692         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92694         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
92695         gettimeofday.
92697         * tests/test-gettimeofday.c: Include <time.h>.
92698         (dummy): Remove variable.
92700         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
92701         gl_HEADER_SYS_TIME_H.
92702         (gl_HEADER_SYS_TIME_H): New macro.
92704         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92705         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92706         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
92707         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
92708         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92709         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
92710         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
92711         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92712         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
92713         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
92714         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92716         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
92717         last change; it caused a compilation error when cross-compiling to
92718         Cygwin.
92720 2007-01-18  Jim Meyering  <jim@meyering.net>
92722         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
92723         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
92724         than the race-prone "test -d sys || mkdir sys".
92725         (configure.ac): Use AC_PROG_MKDIR_P.
92726         * modules/sys_select: Likewise.
92727         * modules/sys_socket: Likewise.
92728         * modules/sys_time: Likewise.
92730 2007-01-18  Eric Blake  <ebb9@byu.net>
92732         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
92733         replace gettimeofday.
92734         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
92735         name, to avoid infinite recursion.
92737 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
92739         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92740         module sys_time.
92741         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92742         assume timespec.h defines struct timeval.
92743         * lib/settime.c: Likewise.
92744         * lib/utimens.c: Likewise.
92745         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92746         since we now assume the gettimeofday module.
92747         * lib/tempname.c (__gen_tempname): Likewise.
92748         * lib/gettimeofday.h: Remove.
92749         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92750         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92751         Include <time.h>, for 'time()'.
92752         (localtime_buffer_addr): Also use this workaround if
92753         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92754         to simplify the uses.  All uses changed.
92755         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92756         that #undef is inside {}, and 'const' follows type name consistently.
92757         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92758         (gettimeofday): Do not use the maximum possible value for
92759         tv->tv_usec, since that might break usages other than ls.c.
92760         Instead, we'll leave ls.c alone.  This undoes today's patch
92761         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92762         we've never observed the problem but might as well keep the
92763         canary.
92764         * lib/nanosleep.c: Include timespec.h first, for interface check.
92765         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92766         now assume the sys_time module.
92767         * lib/tempname.c: Likewise.
92768         * lib/timespec.h: Likewise.
92769         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92770         needed.
92771         * lib/strftime.c: Likewise.
92772         * lib/timespec.h: Likewise.
92773         * lib/posixtm.c: Include posixtm.h first, for interface check.
92774         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92775         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92776         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92777         * lib/sys_time_.h: New file.
92778         * lib/timespec.h (struct timespec): Use long int, not long.
92779         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92780         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92781         Remove obsolescent call to AC_HEADER_TIME.
92782         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92783         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92784         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92785         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92786         Likewise.
92787         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92788         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92789         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92790         into the sys_time module.  Check for gettimeofday just once.
92791         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92792         for gettimeofday signature to just check the signature.  Merely
92793         compile it, since linking doesn't test signature.  Improve test for
92794         whether gettimeofday.o is actually needed.
92795         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92796         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92797         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92798         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92799         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92800         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92801         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92802         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92803         than worrying about sys/time.h.
92804         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92805         Don't bother worrying about TIME_WITH_SYS_TIME.
92806         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92807         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92808         * m4/sys_time_h.m4: New file.
92809         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92810         Don't include sys/time.h.  Return from main rather than exiting.
92811         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92812         all uses changed.
92813         * modules/gethrxtime (Depends-on): Add sys_time.
92814         * modules/gettime (Depends-on): Likewise.
92815         * modules/gettimeofday (Depends-on): Likewise.
92816         * modules/nanosleep (Depends-on): Likewise.
92817         * modules/settime (Depends-on): Likewise.
92818         * modules/tempname (Depends-on): Likewise.
92819         * modules/utimens (Depends-on): Likewise.
92820         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92821         (Include): Change back to <sys/time.h>.
92822         (Maintainer): Add self.
92823         * modules/sys_time: New file.
92824         * modules/tempname (Depends-on): Add gettimeofday.
92825         * tests/test-gettimeofday.c: Include <sys/time.h>
92826         rather than gettimeofday.h.
92828 2007-01-17  Bruno Haible  <bruno@clisp.org>
92830         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92831         the license default to GPL.
92832         (func_create_testdir): Don't complain if a module is LGPL and its
92833         tests module depends on GPLed modules.
92835 2007-01-17  Bruno Haible  <bruno@clisp.org>
92837         * lib/gettimeofday.c (gettimeofday): Add code for the case
92838         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92839         maximum possible value for tv->tv_usec, rather than the minimum one.
92841 2005-10-08  Martin Lambers  <marlam@marlam.de>
92842 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92843 2007-01-16  Bruno Haible  <bruno@clisp.org>
92845         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92846         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92847         gl_FUNC_GETTIMEOFDAY.
92848         (Include): Add gettimeofday.h.
92849         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92850         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92851         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92852         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92853         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92854         * lib/gettimeofday.h: New file.
92855         * lib/gettimeofday.c: Include <sys/timeb.h>.
92856         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92857         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92858         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92859         fall back on time().
92861         * tests/test-gettimeofday.c: New file.
92862         * modules/gettimeofday-tests: New file.
92864 2007-01-16  Eric Blake  <ebb9@byu.net>
92866         * modules/fnmatch (Depends-on): Depend on wchar.
92867         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92868         * m4/fnmatch.m4: Likewise.
92869         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92870         * m4/mbchar.m4: Likewise.
92871         * modules/mbswidth (Depends-on): Depend on wchar.
92872         * lib/mbswidth.c: Assume <wchar.h>.
92873         * m4/mbswidth.m4: Likewise.
92874         * modules/quotearg (Depends-on): Depend on wchar.
92875         * lib/quotearg.c: Assume <wchar.h>.
92876         * m4/quotearg.m4: Likewise.
92877         * modules/regex (Depends-on): Depend on wchar.
92878         * lib/regex_internal.h: Assume <wchar.h>.
92879         * m4/regex.m4: Likewise.
92880         * modules/stdint (Depends-on): Depend on wchar.
92881         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92882         * m4/stdint.m4: Likewise.
92883         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92884         * modules/strftime (Depends-on): Depend on wchar.
92885         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92886         * modules/strtol (Depends-on): Depend on wchar.
92887         * lib/strtol.c: Assume <wchar.h>.
92888         * modules/wcwidth (Depends-on): Depend on wchar.
92889         * lib/wcwidth.h: Assume <wchar.h>.
92890         * m4/wcwidth.m4: Likewise.
92892 2007-01-16  Bruno Haible  <bruno@clisp.org>
92894         * modules/csharpexec-script: New, created from...
92895         * modules/csharpexec: ... this.
92897 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92899         * modules/javaexec-script: New, created from...
92900         * modules/javaexec: ... this.
92902 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92904         * modules/poll (Dependencies): Add sys_select.
92906 2007-01-15  Jim Meyering  <jim@meyering.net>
92908         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92909         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92910         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92911         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92913 2007-01-15  Bruno Haible  <bruno@clisp.org>
92915         * modules/striconveh: New file.
92916         * lib/striconveh.h: New file.
92917         * lib/striconveh.c: New file.
92918         * MODULES.html.sh (Internationalization functions): Add striconveh.
92920         * modules/striconveh-tests: New file.
92921         * tests/test-striconveh.c: New file.
92923 2007-01-15  Bruno Haible  <bruno@clisp.org>
92925         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92926         not from GNU libiconv or GNU libc.
92928 2007-01-15  Bruno Haible  <bruno@clisp.org>
92930         * doc/gnulib-intro.texi (Copyright): Explain the different license
92931         terms for module descriptions, autoconf macros, tests, documentation.
92933 2007-01-14  Bruno Haible  <bruno@clisp.org>
92935         * modules/striconv-tests: New file.
92936         * tests/test-striconv.c: New file.
92938 2007-01-14  Bruno Haible  <bruno@clisp.org>
92940         * modules/iconv-tests: New file.
92941         * tests/test-iconv.c: New file.
92943 2007-01-14  Bruno Haible  <bruno@clisp.org>
92945         * gnulib-tool (func_get_license): For test modules, use the license of
92946         the main module.
92948 2007-01-14  Bruno Haible  <bruno@clisp.org>
92950         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92951         if iconv is found to exist.
92953 2007-01-14  Bruno Haible  <bruno@clisp.org>
92955         * modules/c-ctype-tests: New file.
92956         * tests/test-c-ctype.c: New file.
92958 2007-01-14  Bruno Haible  <bruno@clisp.org>
92960         * modules/binary-io-tests: New file.
92961         * tests/test-binary-io.sh: New file.
92962         * tests/test-binary-io.c: New file.
92964 2007-01-14  Bruno Haible  <bruno@clisp.org>
92966         * modules/array-oset-tests: New file.
92967         * tests/test-array_oset.c: New file.
92969 2007-01-14  Bruno Haible  <bruno@clisp.org>
92971         * modules/array-list-tests: New file.
92972         * tests/test-array_list.c: New file.
92974 2007-01-14  Bruno Haible  <bruno@clisp.org>
92976         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
92977         and make.
92978         Reported by Simon Josefsson in
92979         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
92981 2007-01-14  Bruno Haible  <bruno@clisp.org>
92983         * modules/allocsa-tests: New file.
92984         * tests/test-allocsa.c: New file.
92986 2007-01-14  Bruno Haible  <bruno@clisp.org>
92988         * modules/fchdir (Depends-on): Add absolute-header.
92989         * modules/unistd (Depends-on): Likewise.
92991 2006-12-30  Bruno Haible  <bruno@clisp.org>
92993         * modules/fchdir: New file.
92994         * modules/unistd (Files): Add lib/unistd_.h.
92995         (Makefile.am): Generate unistd.h from unistd_.h.
92996         * lib/fchdir.c: New file.
92997         * lib/dirent_.h: New file.
92998         * lib/unistd_.h: New file.
92999         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
93000         * m4/fchdir.m4: New file.
93001         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
93002         (gl_HEADER_UNISTD): Invoke it.
93003         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
93004         function.
93005         * lib/backupfile.c (opendir, closedir): Undefine.
93006         * lib/chown.c (open, close): Undefine.
93007         * lib/clean-temp.c (open, close): Undefine.
93008         * lib/copy-file.c (open, close): Undefine.
93009         * lib/execute.c (open, close): Undefine.
93010         * lib/fsusage.c (open, close): Undefine.
93011         * lib/gc-gnulib.c (open, close): Undefine.
93012         * lib/getcwd.c (opendir, closedir): Undefine.
93013         * lib/glob.c (opendir, closedir): Undefine.
93014         * lib/javacomp.c (open, close): Undefine.
93015         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
93016         * lib/openat-proc.c (open, close): Undefine.
93017         * lib/pagealign_alloc.c (open, close): Undefine.
93018         * lib/pipe.c (open, close): Undefine.
93019         * lib/progreloc.c (open, close): Undefine.
93020         * lib/savedir.c (opendir, closedir): Undefine.
93021         * lib/utime.c (open, close): Undefine.
93022         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
93024 2007-01-10  Bruno Haible  <bruno@clisp.org>
93026         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
93028 2007-01-12  Eric Blake  <ebb9@byu.net>
93030         Provide a robust <wchar.h>.  Further simplifications are now
93031         possible in other modules, but not included here.
93032         * modules/wchar: New module.
93033         * m4/wchar.m4: New file.
93034         * lib/wchar_.h: Likewise.
93035         * modules/mbchar (Depends-on): Depend on wchar, as the first use
93036         of the new module.
93037         * MODULES.html.sh (Extended multibyte and wide character utilities):
93038         New section.
93040 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
93042         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
93043         to a reasonable default for memory allocation.
93044         (xreadlink): Don't allocate a huge buffer, to work around a buggy
93045         file system that reports garbage st_size values for symlinks.
93046         Problem reported by Liyang Hu.
93048 2007-01-11  Simon Josefsson  <simon@josefsson.org>
93050         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
93051         Emacs .#* auto-save files).
93053 2007-01-11  Bruno Haible  <bruno@clisp.org>
93055         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
93056         directory.
93058 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
93060         Use @...@ consistently in lib/wctype_.h.
93061         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
93062         on it being set to 1 or 0.
93063         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
93064         go back to AC_SUBSTing it.
93065         * modules/wctype (Makefile.am): Undo previous change.
93067 2007-01-10  Eric Blake  <ebb9@byu.net>
93069         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
93070         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
93071         * modules/wctype (Makefile.am): Likewise.
93072         Reported by Chris McGuire.
93074 2007-01-10  Jim Meyering  <jim@meyering.net>
93076         fts.c: a small readability/maintainability improvement
93077         * lib/fts.c (fts_read): Make this code slightly more readable and
93078         maintainable by hoisting the "sp->fts_cur = p" assignments to
93079         immediately follow the statements that set P.  Derived from
93080         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
93082 2007-01-10  Eric Blake  <ebb9@byu.net>
93084         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
93085         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
93086         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93087         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
93088         Reported by Chris McGuire.
93090 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93092         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
93093         in sed script.
93095 2007-01-09  Bruno Haible  <bruno@clisp.org>
93097         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
93098         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
93099         variables.
93100         (func_module): Use them.
93102 2007-01-09  Bruno Haible  <bruno@clisp.org>
93104         * modules/unistr/base: New file.
93105         * lib/unistr.h: New file.
93107         * modules/unistr/u8-to-u16: New file.
93108         * lib/unistr/u8-to-u16.c: New file.
93110         * modules/unistr/u8-to-u32: New file.
93111         * lib/unistr/u8-to-u32.c: New file.
93113         * modules/unistr/u16-to-u8: New file.
93114         * lib/unistr/u16-to-u8.c: New file.
93116         * modules/unistr/u16-to-u32: New file.
93117         * lib/unistr/u16-to-u32.c: New file.
93119         * modules/unistr/u32-to-u8: New file.
93120         * lib/unistr/u32-to-u8.c: New file.
93122         * modules/unistr/u32-to-u16: New file.
93123         * lib/unistr/u32-to-u16.c: New file.
93125         * modules/unistr/u8-check: New file.
93126         * modules/unistr/u16-check: New file.
93127         * modules/unistr/u32-check: New file.
93128         * lib/unistr/u8-check.c: New file.
93129         * lib/unistr/u16-check.c: New file.
93130         * lib/unistr/u32-check.c: New file.
93132         * modules/unistr/u8-chr: New file.
93133         * modules/unistr/u16-chr: New file.
93134         * modules/unistr/u32-chr: New file.
93135         * lib/unistr/u8-chr.c: New file.
93136         * lib/unistr/u16-chr.c: New file.
93137         * lib/unistr/u32-chr.c: New file.
93139         * modules/unistr/u8-cmp: New file.
93140         * modules/unistr/u16-cmp: New file.
93141         * modules/unistr/u32-cmp: New file.
93142         * lib/unistr/u8-cmp.c: New file.
93143         * lib/unistr/u16-cmp.c: New file.
93144         * lib/unistr/u32-cmp.c: New file.
93146         * modules/unistr/u8-cpy: New file.
93147         * modules/unistr/u16-cpy: New file.
93148         * modules/unistr/u32-cpy: New file.
93149         * lib/unistr/u8-cpy.c: New file.
93150         * lib/unistr/u16-cpy.c: New file.
93151         * lib/unistr/u32-cpy.c: New file.
93152         * lib/unistr/u-cpy.h: New file.
93154         * modules/unistr/u8-cpy-alloc: New file.
93155         * modules/unistr/u16-cpy-alloc: New file.
93156         * modules/unistr/u32-cpy-alloc: New file.
93157         * lib/unistr/u8-cpy-alloc.c: New file.
93158         * lib/unistr/u16-cpy-alloc.c: New file.
93159         * lib/unistr/u32-cpy-alloc.c: New file.
93160         * lib/unistr/u-cpy-alloc.h: New file.
93162         * modules/unistr/u8-endswith: New file.
93163         * modules/unistr/u16-endswith: New file.
93164         * modules/unistr/u32-endswith: New file.
93165         * lib/unistr/u8-endswith.c: New file.
93166         * lib/unistr/u16-endswith.c: New file.
93167         * lib/unistr/u32-endswith.c: New file.
93168         * lib/unistr/u-endswith.h: New file.
93170         * modules/unistr/u8-mblen: New file.
93171         * modules/unistr/u16-mblen: New file.
93172         * modules/unistr/u32-mblen: New file.
93173         * lib/unistr/u8-mblen.c: New file.
93174         * lib/unistr/u16-mblen.c: New file.
93175         * lib/unistr/u32-mblen.c: New file.
93177         * modules/unistr/u8-mbtouc: New file.
93178         * modules/unistr/u16-mbtouc: New file.
93179         * modules/unistr/u32-mbtouc: New file.
93180         * lib/unistr/u8-mbtouc.c: New file.
93181         * lib/unistr/u16-mbtouc.c: New file.
93182         * lib/unistr/u32-mbtouc.c: New file.
93184         * modules/unistr/u8-mbtouc-safe: New file.
93185         * modules/unistr/u16-mbtouc-safe: New file.
93186         * modules/unistr/u32-mbtouc-safe: New file.
93187         * lib/unistr/u8-mbtouc-safe.c: New file.
93188         * lib/unistr/u16-mbtouc-safe.c: New file.
93189         * lib/unistr/u32-mbtouc-safe.c: New file.
93191         * modules/unistr/u8-move: New file.
93192         * modules/unistr/u16-move: New file.
93193         * modules/unistr/u32-move: New file.
93194         * lib/unistr/u8-move.c: New file.
93195         * lib/unistr/u16-move.c: New file.
93196         * lib/unistr/u32-move.c: New file.
93197         * lib/unistr/u-move.h: New file.
93199         * modules/unistr/u8-next: New file.
93200         * modules/unistr/u16-next: New file.
93201         * modules/unistr/u32-next: New file.
93202         * lib/unistr/u8-next.c: New file.
93203         * lib/unistr/u16-next.c: New file.
93204         * lib/unistr/u32-next.c: New file.
93206         * modules/unistr/u8-prev: New file.
93207         * modules/unistr/u16-prev: New file.
93208         * modules/unistr/u32-prev: New file.
93209         * lib/unistr/u8-prev.c: New file.
93210         * lib/unistr/u16-prev.c: New file.
93211         * lib/unistr/u32-prev.c: New file.
93213         * modules/unistr/u8-set: New file.
93214         * modules/unistr/u16-set: New file.
93215         * modules/unistr/u32-set: New file.
93216         * lib/unistr/u8-set.c: New file.
93217         * lib/unistr/u16-set.c: New file.
93218         * lib/unistr/u32-set.c: New file.
93219         * lib/unistr/u-set.h: New file.
93221         * modules/unistr/u8-startswith: New file.
93222         * modules/unistr/u16-startswith: New file.
93223         * modules/unistr/u32-startswith: New file.
93224         * lib/unistr/u8-startswith.c: New file.
93225         * lib/unistr/u16-startswith.c: New file.
93226         * lib/unistr/u32-startswith.c: New file.
93227         * lib/unistr/u-startswith.h: New file.
93229         * modules/unistr/u8-stpcpy: New file.
93230         * modules/unistr/u16-stpcpy: New file.
93231         * modules/unistr/u32-stpcpy: New file.
93232         * lib/unistr/u8-stpcpy.c: New file.
93233         * lib/unistr/u16-stpcpy.c: New file.
93234         * lib/unistr/u32-stpcpy.c: New file.
93235         * lib/unistr/u-stpcpy.h: New file.
93237         * modules/unistr/u8-stpncpy: New file.
93238         * modules/unistr/u16-stpncpy: New file.
93239         * modules/unistr/u32-stpncpy: New file.
93240         * lib/unistr/u8-stpncpy.c: New file.
93241         * lib/unistr/u16-stpncpy.c: New file.
93242         * lib/unistr/u32-stpncpy.c: New file.
93243         * lib/unistr/u-stpncpy.h: New file.
93245         * modules/unistr/u8-strcat: New file.
93246         * modules/unistr/u16-strcat: New file.
93247         * modules/unistr/u32-strcat: New file.
93248         * lib/unistr/u8-strcat.c: New file.
93249         * lib/unistr/u16-strcat.c: New file.
93250         * lib/unistr/u32-strcat.c: New file.
93251         * lib/unistr/u-strcat.h: New file.
93253         * modules/unistr/u8-strchr: New file.
93254         * modules/unistr/u16-strchr: New file.
93255         * modules/unistr/u32-strchr: New file.
93256         * lib/unistr/u8-strchr.c: New file.
93257         * lib/unistr/u16-strchr.c: New file.
93258         * lib/unistr/u32-strchr.c: New file.
93260         * modules/unistr/u8-strcmp: New file.
93261         * modules/unistr/u16-strcmp: New file.
93262         * modules/unistr/u32-strcmp: New file.
93263         * lib/unistr/u8-strcmp.c: New file.
93264         * lib/unistr/u16-strcmp.c: New file.
93265         * lib/unistr/u32-strcmp.c: New file.
93267         * modules/unistr/u8-strcpy: New file.
93268         * modules/unistr/u16-strcpy: New file.
93269         * modules/unistr/u32-strcpy: New file.
93270         * lib/unistr/u8-strcpy.c: New file.
93271         * lib/unistr/u16-strcpy.c: New file.
93272         * lib/unistr/u32-strcpy.c: New file.
93273         * lib/unistr/u-strcpy.h: New file.
93275         * modules/unistr/u8-strcspn: New file.
93276         * modules/unistr/u16-strcspn: New file.
93277         * modules/unistr/u32-strcspn: New file.
93278         * lib/unistr/u8-strcspn.c: New file.
93279         * lib/unistr/u16-strcspn.c: New file.
93280         * lib/unistr/u32-strcspn.c: New file.
93281         * lib/unistr/u-strcspn.h: New file.
93283         * modules/unistr/u8-strdup: New file.
93284         * modules/unistr/u16-strdup: New file.
93285         * modules/unistr/u32-strdup: New file.
93286         * lib/unistr/u8-strdup.c: New file.
93287         * lib/unistr/u16-strdup.c: New file.
93288         * lib/unistr/u32-strdup.c: New file.
93289         * lib/unistr/u-strdup.h: New file.
93291         * modules/unistr/u8-strlen: New file.
93292         * modules/unistr/u16-strlen: New file.
93293         * modules/unistr/u32-strlen: New file.
93294         * lib/unistr/u8-strlen.c: New file.
93295         * lib/unistr/u16-strlen.c: New file.
93296         * lib/unistr/u32-strlen.c: New file.
93297         * lib/unistr/u-strlen.h: New file.
93299         * modules/unistr/u8-strmblen: New file.
93300         * modules/unistr/u16-strmblen: New file.
93301         * modules/unistr/u32-strmblen: New file.
93302         * lib/unistr/u8-strmblen.c: New file.
93303         * lib/unistr/u16-strmblen.c: New file.
93304         * lib/unistr/u32-strmblen.c: New file.
93306         * modules/unistr/u8-strmbtouc: New file.
93307         * modules/unistr/u16-strmbtouc: New file.
93308         * modules/unistr/u32-strmbtouc: New file.
93309         * lib/unistr/u8-strmbtouc.c: New file.
93310         * lib/unistr/u16-strmbtouc.c: New file.
93311         * lib/unistr/u32-strmbtouc.c: New file.
93313         * modules/unistr/u8-strncat: New file.
93314         * modules/unistr/u16-strncat: New file.
93315         * modules/unistr/u32-strncat: New file.
93316         * lib/unistr/u8-strncat.c: New file.
93317         * lib/unistr/u16-strncat.c: New file.
93318         * lib/unistr/u32-strncat.c: New file.
93319         * lib/unistr/u-strncat.h: New file.
93321         * modules/unistr/u8-strncmp: New file.
93322         * modules/unistr/u16-strncmp: New file.
93323         * modules/unistr/u32-strncmp: New file.
93324         * lib/unistr/u8-strncmp.c: New file.
93325         * lib/unistr/u16-strncmp.c: New file.
93326         * lib/unistr/u32-strncmp.c: New file.
93328         * modules/unistr/u8-strncpy: New file.
93329         * modules/unistr/u16-strncpy: New file.
93330         * modules/unistr/u32-strncpy: New file.
93331         * lib/unistr/u8-strncpy.c: New file.
93332         * lib/unistr/u16-strncpy.c: New file.
93333         * lib/unistr/u32-strncpy.c: New file.
93334         * lib/unistr/u-strncpy.h: New file.
93336         * modules/unistr/u8-strnlen: New file.
93337         * modules/unistr/u16-strnlen: New file.
93338         * modules/unistr/u32-strnlen: New file.
93339         * lib/unistr/u8-strnlen.c: New file.
93340         * lib/unistr/u16-strnlen.c: New file.
93341         * lib/unistr/u32-strnlen.c: New file.
93342         * lib/unistr/u-strnlen.h: New file.
93344         * modules/unistr/u8-strpbrk: New file.
93345         * modules/unistr/u16-strpbrk: New file.
93346         * modules/unistr/u32-strpbrk: New file.
93347         * lib/unistr/u8-strpbrk.c: New file.
93348         * lib/unistr/u16-strpbrk.c: New file.
93349         * lib/unistr/u32-strpbrk.c: New file.
93350         * lib/unistr/u-strpbrk.h: New file.
93352         * modules/unistr/u8-strrchr: New file.
93353         * modules/unistr/u16-strrchr: New file.
93354         * modules/unistr/u32-strrchr: New file.
93355         * lib/unistr/u8-strrchr.c: New file.
93356         * lib/unistr/u16-strrchr.c: New file.
93357         * lib/unistr/u32-strrchr.c: New file.
93359         * modules/unistr/u8-strspn: New file.
93360         * modules/unistr/u16-strspn: New file.
93361         * modules/unistr/u32-strspn: New file.
93362         * lib/unistr/u8-strspn.c: New file.
93363         * lib/unistr/u16-strspn.c: New file.
93364         * lib/unistr/u32-strspn.c: New file.
93365         * lib/unistr/u-strspn.h: New file.
93367         * modules/unistr/u8-strstr: New file.
93368         * modules/unistr/u16-strstr: New file.
93369         * modules/unistr/u32-strstr: New file.
93370         * lib/unistr/u8-strstr.c: New file.
93371         * lib/unistr/u16-strstr.c: New file.
93372         * lib/unistr/u32-strstr.c: New file.
93373         * lib/unistr/u-strstr.h: New file.
93375         * modules/unistr/u8-strtok: New file.
93376         * modules/unistr/u16-strtok: New file.
93377         * modules/unistr/u32-strtok: New file.
93378         * lib/unistr/u8-strtok.c: New file.
93379         * lib/unistr/u16-strtok.c: New file.
93380         * lib/unistr/u32-strtok.c: New file.
93381         * lib/unistr/u-strtok.h: New file.
93383         * modules/unistr/u8-uctomb: New file.
93384         * modules/unistr/u16-uctomb: New file.
93385         * modules/unistr/u32-uctomb: New file.
93386         * lib/unistr/u8-uctomb.c: New file.
93387         * lib/unistr/u16-uctomb.c: New file.
93388         * lib/unistr/u32-uctomb.c: New file.
93390         * MODULES.html.sh (Unicode string functions): Add the new modules.
93392 2007-01-08  Bruno Haible  <bruno@clisp.org>
93394         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
93395         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
93396         subdirectories.
93398 2007-01-08  Karl Berry  <karl@gnu.org>
93400         * doc/error.texi: mention that main() fns must set program_name
93401         when progname is used.
93403 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
93405         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
93406         WCTYPE_H is empty, for the benefit of builds from non-distclean
93407         directories.  Problem reported by Eric Blake in
93408         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
93410 2007-01-08  Bruno Haible  <bruno@clisp.org>
93412         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
93413         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
93414         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
93415         PROVIDE_CANONICALIZE_FILENAME_MODE.
93416         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
93418 2007-01-08  Bruno Haible  <bruno@clisp.org>
93420         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
93421         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
93422         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
93423         * lib/fts.c: Likewise.
93424         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
93426 2006-12-25  Bruno Haible  <bruno@clisp.org>
93428         * modules/utf8-ucs4-safe: New file.
93429         * lib/utf8-ucs4-safe.h: New file.
93430         * lib/unistr/utf8-ucs4-safe.c: New file.
93432         * modules/utf16-ucs4-safe: New file.
93433         * lib/utf16-ucs4-safe.h: New file.
93434         * lib/unistr/utf16-ucs4-safe.c: New file.
93436         * MODULES.html.sh (Unicode string functions): Add the new modules.
93438 2007-01-08  Bruno Haible  <bruno@clisp.org>
93440         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
93441         (Depends-on): Add unitypes.
93442         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93443         (u8_mbtouc_aux): Move out to separate file.
93444         (u8_mbtouc): Use ucs4_t, uint8_t types.
93445         * lib/unistr/utf8-ucs4.c: New file.
93447         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
93448         (Depends-on): Add unitypes.
93449         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93450         (u16_mbtouc_aux): Move out to separate file.
93451         (u16_mbtouc): Use ucs4_t, uint16_t types.
93452         * lib/unistr/utf16-ucs4.c: New file.
93454         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
93455         (Depends-on): Add unitypes.
93456         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
93457         (u8_uctomb_aux): Move out to separate file.
93458         (u8_uctomb): Use ucs4_t, uint8_t types.
93459         * lib/unistr/ucs4-utf8.c: New file.
93461         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
93462         (Depends-on): Add unitypes.
93463         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
93464         (u16_uctomb_aux): Move out to separate file.
93465         (u16_uctomb): Use ucs4_t, uint16_t types.
93466         * lib/unistr/ucs4-utf16.c: New file.
93468 2006-12-25  Bruno Haible  <bruno@clisp.org>
93470         * modules/unitypes: New file.
93471         * lib/unitypes.h: New file.
93472         * MODULES.html.sh (func_all_modules): New section "Unicode string
93473         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
93474         this section. Add unitypes.
93476 2007-01-08  Bruno Haible  <bruno@clisp.org>
93478         Avoid variable names that conflict with those from libtool.
93479         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
93480         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
93481         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
93482         library_names_spec to acl_library_names_spec, hardcode_* to
93483         acl_hardcode_*.
93484         Reported by Ralf Wildenhues.
93486 2007-01-08  Bruno Haible  <bruno@clisp.org>
93488         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
93489         definition.
93490         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
93491         definition.
93492         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
93493         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
93494         definition.
93495         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
93496         definition.
93497         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
93498         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
93499         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
93500         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
93501         definition.
93502         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
93503         definition.
93504         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
93505         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
93506         GC_USE_<algorithm>.
93507         * lib/gc-libgcrypt.c: Likewise.
93508         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
93509         * modules/gc-arctwo (configure.ac): Likewise.
93510         * modules/gc-des (configure.ac): Likewise.
93511         * modules/gc-hmac-md5 (configure.ac): Likewise.
93512         * modules/gc-hmac-sha1 (configure.ac): Likewise.
93513         * modules/gc-md2 (configure.ac): Likewise.
93514         * modules/gc-md4 (configure.ac): Likewise.
93515         * modules/gc-md5 (configure.ac): Likewise.
93516         * modules/gc-random (configure.ac): Likewise.
93517         * modules/gc-rijndael (configure.ac): Likewise.
93518         * modules/gc-sha1 (configure.ac): Likewise.
93520 2007-01-08  Bruno Haible  <bruno@clisp.org>
93522         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
93523         macro definition.
93524         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
93525         definition.
93526         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
93527         definition.
93528         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
93529         * modules/fcntl-safer (configure.ac): Likewise.
93530         * modules/fopen-safer (configure.ac): Likewise.
93531         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93532         GNULIB_FWRITEERROR macro definition.
93534 2007-01-08  Bruno Haible  <bruno@clisp.org>
93536         * m4/gnulib-common.m4: New file.
93537         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
93538         (func_get_filelist): Add m4/gnulib-common.m4.
93540 2007-01-08  Bruno Haible  <bruno@clisp.org>
93542         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
93543         command.
93545 2007-01-08  Jim Meyering  <jim@meyering.net>
93547         Use a more robust test for a "can't happen" condition.
93548         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
93549         narrowed the st_size value.  Presuming the "can't happen" condition
93550         is true, that narrowing could conceivably convert an invalid st_size
93551         value into a valid one.  Instead, use a change based on Matthew
93552         Woehlke's original patch.
93554         Slight readability improvement: use an assert-like macro
93555         in place of literal "abort ()" uses.
93556         * lib/fts.c (fts_assert): Define.
93557         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
93558         Use this macro instead of a bare 'abort'.
93560 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
93562         Don't worry about using IRIX 5.3's wctype.h broken definitions;
93563         simply work around them.
93564         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
93565         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
93566         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
93567         declaring.
93568         Don't bother to define as macros, since the standard doesn't require it.
93569         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
93570         longer worry about IRIX 5.3.
93571         (HAVE_WCTYPE_CTMP_BUG): Remove.
93573 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
93575         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
93576         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
93577         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93578         Problems reported by Georg Schwarz for IRIX 5.3.
93580         * gnulib-tool (autoconf_minversion): Take the maximum version number
93581         found, not the minimum.  Problem reported by James Youngman.
93583 2007-01-03  Karl Berry  <karl@gnu.org>
93585         * doc/error.texi: new file, explaining interaction with progname.
93586         * doc/gnulib.texi: include it.  Update copyright.
93588 2007-01-03  Simon Josefsson  <simon@josefsson.org>
93590         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
93591         AC_CANONICAL_HOST, to improve autobuild outputs.
93593 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
93594             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
93596         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
93597         sockets, server sockets, and other file descriptors.  Count errors
93598         to compute the return value.  Reorder the code a bit to be easier
93599         to follow.  Don't set event bits that were not requested (except
93600         POLLERR and POLLHUP).
93602 2007-01-01  Bruno Haible  <bruno@clisp.org>
93604         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
93606 2007-01-03  Jim Meyering  <jim@meyering.net>
93608         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
93610 2007-01-02  Bruno Haible  <bruno@clisp.org>
93612         * modules/settime (Include): Require timespec.h.
93613         * modules/nanosleep (Include): Likewise.
93615 2007-01-01  Bruno Haible  <bruno@clisp.org>
93617         * gnulib-tool (func_emit_copyright_notice): Bump year.
93618         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
93620 2007-01-01  Bruno Haible  <bruno@clisp.org>
93622         Improve support for OpenBSD.
93623         * build-aux/config.rpath (libname_spec): Export.
93624         (library_names_spec): New variable. Export.
93625         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
93626         library_names_spec from the config.rpath output. Locate shared library
93627         through the name pattern in library_names_spec.
93629 2007-01-01  Eric Blake  <ebb9@byu.net>
93631         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
93633 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
93635         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
93636         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
93637         assume the C locale, and avoid an "eval" that could cause trouble.
93638         Problem with SORT reported by Bob Proulx.
93640         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
93641         Define.  Trivial patch from Henning Nielsen Lund, originally
93642         sent to bug-grep@gnu.org today.
93644 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
93646         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
93647         struct stat.  Problem reported by Henning Nielsen Lund.
93648         * lib/acl.c: Include acl.h first, to check interface.  Don't
93649         bother to include sys/types.h and sys/stat.h again.
93651 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
93653         Import the following change from libc; problem reported by
93654         Sven Verdoolaege.
93656         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
93658         [BZ #1373]
93659         * lib/argp.h: Remove __NTH for __argp_usage inline function.
93661 2006-12-28  Jim Meyering  <jim@meyering.net>
93663         * build-aux/announce-gen: Do not assume that the package
93664         builds any of tar.gz, tar.bz2, and .xdelta files.
93665         Suggestion from Simon Josefsson.
93667 2006-12-28  Simon Josefsson  <simon@josefsson.org>
93669         * modules/announce-gen: New file.
93671 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
93673         * lib/mbchar.h: Just include <wctype.h>; the wctype module
93674         handles its gotchas now.
93675         * lib/mbswidth.c: Likewise.
93676         * lib/wcwidth.h: Likewise.
93677         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
93678         and iswcntrl; the wctype module does this stuff now.
93679         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
93680         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93681         * modules/mbchar (Depends-on): Add wctype.
93682         * modules/mbswidth (Depends-on): Likewise.
93683         * modules/wcwidth (Depends-on): Likewise.
93685 2006-12-27  Eric Blake  <ebb9@byu.net>
93687         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
93688         module uses more than what <wctype.h> is required to provide.
93690 2006-12-26  Eric Blake  <ebb9@byu.net>
93692         * gnulib-tool (sed_extract_prog): Avoid space-tab.
93694 2006-12-26  Eric Blake  <ebb9@byu.net>
93696         * modules/absolute-header: New module.
93697         * modules/fcntl (Depends-on): Depend on it.
93698         * modules/inttypes (Depends-on): Likewise.
93699         * modules/stdint (Depends-on): Likewise.
93700         * modules/sys_stat (Depends-on): Likewise.
93701         * modules/wctype (Depends-on): Likewise.
93702         * MODULES.html.sh (Support for building libraries and
93703         executables): Document it.
93705 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
93707         * gnulib-tool (SED): Remove, undoing previous change.
93708         The problem was that it broke coreutils on Solaris, because
93709         "sed --posix" leaked into a makefile.
93710         (sed): New alias, if 'alias' and GNU sed.
93712 2006-12-24  Jim Meyering  <jim@meyering.net>
93714         Work around an fchownat bug in glibc-2.4:
93715         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
93716         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
93717         in spite of the -P option.
93718         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
93719         New macros.
93720         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
93721         * modules/openat (Files): Add lib/fchownat.c.
93722         * lib/openat.c (fchownat): Don't define here.  Move to...
93723         * lib/fchownat.c: ...this new file.
93725 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
93727         Fix bug reported by Bruno Haible in
93728         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
93729         where quotearg.c didn't compile on Mac OS X 10.2 because it
93730         lacks <wchar.h> and wint_t.
93731         * lib/wctype_.h (__wctype_wint_t): New type.
93732         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
93733         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
93734         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
93735         Arg is now of type __wctype_wint_t, not wint_t.
93736         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
93737         substitute HAVE_WINT_T.
93738         * modules/wctype (Files): Add m4/wint_t.m4.
93739         (wctype.h): Substitute HAVE_WINT_T.
93741 2006-12-23  Bruno Haible  <bruno@clisp.org>
93743         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93745 2006-12-23  Bruno Haible  <bruno@clisp.org>
93747         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93748         S_ISLNK.
93749         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93750         mingw.
93752 2006-12-22  Bruno Haible  <bruno@clisp.org>
93754         * lib/copy-file.c: Include acl.h.
93755         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93756         Close the file descriptors only after being done with copy_acl.
93757         * modules/copy-file (Depends-on): Add acl.
93759 2006-12-22  Bruno Haible  <bruno@clisp.org>
93761         * gnulib-tool (SED): New variable.
93762         Use $SED instead of sed everywhere.
93764 2006-12-22  Bruno Haible  <bruno@clisp.org>
93766         * modules/no-c++: New file.
93767         * m4/no-c++.m4: New file.
93768         * MODULES.html.sh (Support for building libraries and executables):
93769         Add no-c++.
93771 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93773         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93774         Include <limits.h>, and use its INT_MAX to rewrite the
93775         j loop so that it does not overflow 'int'.  Problem reported by
93776         Ralf Wildenhues in
93777         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93778         Play it safe by shifting left by 1 rather than multiplying by 2,
93779         as GCC is less likely to optimize this away when the value
93780         is signed (when it assumes overflow leads to undefined behavior).
93781         Also, don't assume time_t uses two's complement.
93783 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93785         * MODULES.html.sh: New module wctype.
93786         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93787         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93788         <wctype.h>, since the new wctype module should fix this.
93789         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93790         the wctype module should arrange for it.
93791         * lib/regex_internal.h: Likewise.
93792         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93793         since the wctype module should handle this now.
93794         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93795         * modules/fnmatch (Depends-on): Add wctype.
93796         * modules/quotearg (Depends-on): Likewise.
93797         * modules/regex (Depends-on): Likewise.
93799 2006-12-19  Bruno Haible  <bruno@clisp.org>
93801         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93802         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93804 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93806         * modules/savewd (Depends-on): Fix dependency on fcntl.
93808 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93810         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93811         conforms to C99, rather than relying on the user's environment
93812         setting of STDINT_H.
93814 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93815         and Eric Blake  <ebb9@byu.net>
93817         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93818         This is more consistent with the other defines here.
93819         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93820         Port to z/OS.  Problem reported by Paul Gilmartin.
93821         Change local vars to use gl_ prefix rather than ac_.
93822         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93823         with other defines.
93824         * modules/double-slash-root: New module.
93825         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93826         (Depends-on): Add double-slash-root.
93827         * MODULES.html.sh (File system functions): Mention new module.
93829 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93831         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93832         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93833         This is for the benefit of gzip, which doesn't do i18n.
93835 2006-12-12  Jim Meyering  <jim@meyering.net>
93837         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93838         Reported by Andreas Schwab <schwab@suse.de>.
93840 2006-12-12  Bruno Haible  <bruno@clisp.org>
93842         Merge these changes.
93843         2006-09-05  Bruno Haible  <bruno@clisp.org>
93844         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93845         iconv_alloc succeeded.
93846         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93847         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93848         test for " && dest " at the end - dest is always != NULL there. Call
93849         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93850         with 2xNULL arguments, also to flush the state storage. Handle the
93851         IRIX iconv behaviour. Realloc the final result, to throw away unused
93852         memory.
93854 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93856         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93857         and fchmodat unconditionally, since glibc 2.4 has them.
93858         Problem reported by Arkadiusz Miskiewicz.
93860 2006-12-10  Bruno Haible  <bruno@clisp.org>
93862         * gnulib-tool (func_import): Show the include files only for those
93863         modules that are copied and specified.
93864         Reported by Karl Berry.
93866 2006-12-08  Jim Meyering  <jim@meyering.net>
93868         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93869         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93871         * build-aux/announce-gen: Add two new options, both optional:
93872         --bootstrap-tools=TOOL_LIST
93873               a comma-separated list of tools, e.g.,
93874               autoconf,automake,bison,gnulib
93875         --gnulib-snapshot-date=DATE
93876               if gnulib is in the bootstrap tool list,
93877               then report this as the snapshot date.
93878               If not specified, use the current date/time.
93879               If you specify a date here, be sure it's UTC.
93881 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93883         * tests/test-argp-2.sh: Fix test to match actual output.
93884         (func_compare): Fix sed script to be portable.
93886 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93888         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93889         workaround for this case.  It is not autoconfigured now; offhand
93890         it's hard to see how to autoconfigure it.
93892 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93894         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93895         a directory that is about to be chowned.  Such a directory's
93896         initial file permissions should permit the owner only and this
93897         should not be changed until after the chown, since the group and
93898         other bits would be incorrect if they granted permission before
93899         the chown.
93901         Fix porting problem for iswctype reported by Georg Schwarz in:
93902         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93903         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93904         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93905         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93906         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93908 2006-12-03  Jim Meyering  <jim@meyering.net>
93910         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93911         p->fts_statp may not yet be defined.
93912         (fts_read): Instead, set it in the caller, once p->fts_statp is
93913         sure to be defined, and corresponds to a top-level directory.
93914         This bug made du -x fail.  Here's the coreutils test case:
93915         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93916         Reported by Mike Frysinger.
93918 2006-12-01  Jim Meyering  <jim@meyering.net>
93920         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93921         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93922         Reported by Simon Josefsson.
93924 2006-11-30  Jim Meyering  <jim@meyering.net>
93926         * m4/warning.m4: Use the all-permissive copyright notice
93927         recommended by RMS (rather than LGPL).
93928         * m4/vararrays.m4: Likewise.
93929         * m4/flexmember.m4: Likewise.
93931 2006-11-29  Bruno Haible  <bruno@clisp.org>
93933         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93934         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93935         using +=.
93936         Reported by Simon Josefsson <simon@josefsson.org>.
93938 2006-11-28  James Youngman  <jay@gnu.org>
93940         * README: Advise users that they might find the bug-gnulib@gnu.org
93941         and autotools-announce@gnu.org mailing lists useful.
93943 2006-11-28  Bruno Haible  <bruno@clisp.org>
93945         * m4/ptrdiff_max.m4: Remove file.
93947 2006-11-21  Bruno Haible  <bruno@clisp.org>
93949         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93950         _AC_COMPUTE_INT.
93951         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93952         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93953         _AC_COMPUTE_INT.
93954         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93955         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93956         _AC_COMPUTE_INT.
93957         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93959 2006-11-28  Jim Meyering  <jim@meyering.net>
93961         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93962         warning from "gcc -Wshadow" about shadowing the builtin.
93964 2006-11-27  Bruno Haible  <bruno@clisp.org>
93966         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
93967         _AC_COMPUTE_INT.
93968         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93970 2006-11-27  Bruno Haible  <bruno@clisp.org>
93971             Paul Eggert  <eggert@cs.ucla.edu>
93973         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
93975 2006-11-26  Bruno Haible  <bruno@clisp.org>
93977         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93978         noinst_LTLIBRARIES.
93980 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
93981             Bruno Haible  <bruno@clisp.org>
93983         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
93984         if compiling with "gcc -ansi".
93986 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
93988         Fix some incompatibilities with gcc -ansi -pedantic.
93989         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
93990         if compiling pedantically with GCC, unless it's C99 or later.
93991         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
93992         it mishandles gcc -ansi -pedantic as well.
93993         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
93994         if gcc -pedantic.
93995         * lib/regexec.c (check_node_accept_bytes): Don't use auto
93996         initializers for struct if -pedantic, unless it's C99 or later.
93998 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
94000         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
94001         Don't close an fd more than once. Identical atimes indicate
94002         success, not failure.
94004 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
94006         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
94008 2006-11-23  Jim Meyering  <jim@meyering.net>
94010         * build-aux/announce-gen: New file.  From coreutils.
94012 2006-11-22  Jim Meyering  <jim@meyering.net>
94014         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
94015         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
94016         (fts_read): Use a temporary to narrow the overused st_size member
94017         before using it in a switch statement.  Reported by Matthew Woehlke.
94019         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
94020         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
94022 2006-11-20  Bruno Haible  <bruno@clisp.org>
94024         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
94025         changequote instead of pairs of brackets.
94026         Reported by Andreas Schwab <schwab@suse.de>.
94028 2006-11-21  Jim Meyering  <jim@meyering.net>
94030         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
94031         so as to remain compatible with older compilers.
94032         Patch from Michael Deutschmann.
94034 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94036         * MODULES.html.sh (File system functions): Add openat.
94038         * lib/openat.h (rpl_fstatat): New macro, if
94039         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
94040         (fstatat): Define to rpl_fstatat under the same conditions,
94041         unless COMPILING_FSTATAT.
94042         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
94043         seems to have the bug.
94044         * lib/fstatat.c: New file.
94045         * modules/openat (Files): Add it.
94047 2006-11-20  Bruno Haible  <bruno@clisp.org>
94049         * Makefile: New file.
94051 2006-11-20  Jim Meyering  <jim@meyering.net>
94053         The beginnings of syntax-related checks for gnulib.
94054         * lib/Makefile: New file.
94055         * lib/t-idcache: New script.  Ensure that the two halves of
94056         idcache.c stay in sync.
94058         * lib/idcache.c: Adjust comments in user- and group- portions to
94059         be more accurate, and to be consistent with one another.
94061 2006-11-20  Jim Meyering  <jim@meyering.net>
94063         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
94064         continue using the flexible array member (thus, this module performs
94065         half as many malloc calls), with the addition that...
94066         (getgroup, getuser): Consistently record a non-match via an empty
94067         "name" string, and map an empty string match to a NULL return value.
94068         * modules/idcache (Depends-on): Re-add flexmember.
94070         * lib/idcache.c (getuser): Remove all uses of the register keyword.
94071         (getuidbyname, getgroup, getgidbyname): Likewise.
94073         Use cleaner syntax: NULL rather than 0.
94074         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
94076 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94078         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
94079         It mishandled the case where the group was missing.
94080         Problem reported by Greg Schafer.
94081         * modules/idcache: Likewise.
94083 2006-11-18  Jim Meyering  <jim@meyering.net>
94085         * check-module (%exempt_header): Add exception for some
94086         conditionally-included headers.
94088         * modules/i-ring (Depends-on): Add verify.
94089         (License): Change to LGPL.
94091 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
94093         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
94094         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
94095         and inttostr.h.  Use snprintf rather than uinttostr, so that
94096         LGPLed code doesn't depend on GPLed.
94098 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
94100         * modules/inline (License): Change from GPL to LGPL.
94102 2006-11-17  Jim Meyering  <jim@meyering.net>
94104         * modules/d-type (License): Switch to LGPL.
94106 2006-11-15  Bruno Haible  <bruno@clisp.org>
94108         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
94110 2006-11-15  Eric Blake  <ebb9@byu.net>
94112         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
94113         the module dependency.
94115 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
94116             Bruno Haible  <bruno@clisp.org>
94118         * gnulib-tool (func_create_testdir): Add license consistency check.
94120 2006-11-15  Eric Blake  <ebb9@byu.net>
94122         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
94123         random "(cached)" in configure output.
94125 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94127         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
94128         test for conforming inttypes.h is both announced and cached.
94130         * MODULES.html.sh (seen_modules, seen_files): New variables.
94131         (func_module): Rewrite to use a few less gnulib-tool and sed
94132         invocations.  Avoid a couple of quadratic algorithms for ...
94133         (missed_modules, missed_files): ... these, with ...
94134         (func_append, func_tmpdir): ... these new functions, from
94135         gnulib-tool.  Analogously, install traps for cleanup.
94137         * tests/test-gc.c (main): Remove unused variables.
94138         * tests/test-read-file.c: Include stdlib.h, for 'free'.
94140 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
94142         * modules/inttostr (License): Change to LGPL.
94144 2006-11-14  Eric Blake  <ebb9@byu.net>
94146         * modules/tempname (License): Change to LGPL.
94148 2006-11-14  Eric Blake  <ebb9@byu.net>
94150         * doc/functions.texi (Function Portability): *printf functions on
94151         Cygwin now understand all POSIX size specifiers.
94153 2006-11-14  Bruno Haible  <bruno@clisp.org>
94155         * modules/c-ctype (License): Change to LGPL.
94157 2006-11-12  Bruno Haible  <bruno@clisp.org>
94159         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
94160         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
94161         for GNOME libraries, for which the include files are installed in
94162         subdirectories of $prefix/include.
94164 2006-11-12  Bruno Haible  <bruno@clisp.org>
94166         * m4/lib-link.m4: Require at least autoconf-2.54.
94167         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
94168         name to underscores for the --with option.
94170 2006-11-13  Bruno Haible  <bruno@clisp.org>
94172         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
94173         the tests directory.
94174         Reported by Ralf Wildenhues.
94176 2006-11-13  Bruno Haible  <bruno@clisp.org>
94178         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
94179         (func_emit_initmacro_end): Undo the override here.
94180         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
94181         Works around the famous automake error in coreutils.
94183 2006-11-13  Eric Blake  <ebb9@byu.net>
94185         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
94186         element, not its node.
94188 2006-11-12  Bruno Haible  <bruno@clisp.org>
94190         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
94191         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
94193 2006-11-12  Bruno Haible  <bruno@clisp.org>
94195         * gnulib-tool: New option --local-symlink.
94196         (func_usage): Document it.
94197         (lsymbolic): New variable.
94198         (func_import, func_create_testdir): If --symlink was not specified,
94199         test whether --local-symlink was specified and the file comes from
94200         the local_gnulib_dir.
94202 2006-11-12  Bruno Haible  <bruno@clisp.org>
94204         * gnulib-tool (func_ln): New function.
94205         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
94207 2006-11-12  Bruno Haible  <bruno@clisp.org>
94209         Finish support for source files in subdirectories.
94210         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
94211         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
94212         AUTOMAKE_OPTIONS.
94213         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
94215 2006-11-12  Bruno Haible  <bruno@clisp.org>
94217         * gnulib-tool (func_get_automake_snippet): Synthesize also an
94218         EXTRA_lib_SOURCES augmentation.
94219         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
94221 2006-11-12  Jim Meyering  <jim@meyering.net>
94223         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
94224         file descriptors.  This also averts a failure on systems with
94225         native openat support when a traversed directory lacks "x" access.
94226         * lib/fts_.h: Include "i-ring.h"
94227         (struct FTS) [fts_fd_ring]: New member.
94228         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
94229         (FCHDIR): Add parentheses.
94230         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
94231         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
94232         When descending, rather than simply closing the previous
94233         fts_cwd_fd value, push that file descriptor onto the ring.
94234         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
94235         (fts_open): Initialize the new fd_ring member.
94236         (fts_close): Clear the ring.
94237         (fts_safe_changedir): When possible, use our new fd_ring to skip
94238         the diropen and fstat and dev/ino comparison that would normally
94239         accompany a virtual `chdir ("..")'.
94241         * modules/fts (Depends-on): Add i-ring.
94242         * modules/i-ring: New module.
94243         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
94244         * m4/i-ring.m4: New file.
94246 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94248         * gnulib-tool (func_create_testdir): Fix replacement of
94249         `build-aux' in configure.ac.  Run autotools in gltests
94250         subdirectory.
94251         (func_create_testdir, func_create_megatestdir, test): There is
94252         no need for '--force' in most autotool invocations in a new
94253         tree.  Actually fail the whole test if any of the tools, or the
94254         configure or make stages fail.
94256         Sync from Automake.
94257         * build-aux/gnupload: Revert last change.  Add pointer to upload
94258         instructions of the GNU Maintenance Instructions.
94259         Suggestion by Karl Berry.
94261 2006-11-10  Jim Meyering  <jim@meyering.net>
94263         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
94265 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94267         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
94268         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
94269         (bind_textdomain_codeset) [! ENABLE_NLS]:
94270         Evaluate all the arguments.  That way, callers get compatible behavior
94271         if the arguments have side effects.  Also, it avoids some GCC
94272         diagnostics in some cases; Joel E. Denny reported problems when Bison
94273         was configured with --enable-gcc-warnigs.
94275 2006-11-10  Jim Meyering  <jim@meyering.net>
94277         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
94278         relevant options in CFLAGS (like -O, -fno-inline) are taken into
94279         account.
94281 2006-11-10  Jim Meyering  <jim@meyering.net>
94283         * modules/inline: New file/module.
94284         * modules/xalloc (Files): Remove m4/inline.m4.
94285         (Depends-on): Add inline, instead.
94286         * modules/oset: Likewise.
94287         * modules/list: Likewise.
94289 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94291         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
94292         Problem reported by Matthew Woehlke.
94294 2006-11-09  Bruno Haible  <bruno@clisp.org>
94296         * lib/tempname.c (gen_tempname): Remove variant that invokes
94297         __gen_tempname.
94298         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
94299         __gen_tempname.
94301 2006-11-08  Bruno Haible  <bruno@clisp.org>
94303         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
94304         to 'yes' instead of 'cross-compiling'.
94306 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
94308         * lib/quotearg.h (quotearg_free): New decl.
94309         * lib/quotearg.c (quotearg_free): New function.
94310         (slot0, nslots, slotvec0, slotvec):
94311         Now file-scope so that quotearg_free can get at them.
94313 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94315         Sync from Automake.
94316         * build-aux/gnupload: Add missing 'gnu' to example URL.
94317         Report by Karl Berry.
94319 2006-11-08  Bruno Haible  <bruno@clisp.org>
94321         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
94322         Suggested by Paul Eggert.
94324 2006-11-08  Jim Meyering  <jim@meyering.net>
94326         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
94327         It's already included if !_LIBC.
94328         (fts_safe_changedir): Add a comment.
94330 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94332         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
94333         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
94334         Matthew Woehlke.
94336         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
94337         definitions up, to avoid colliding with change below.
94338         (static_inline) [HAVE_INLINE]: New macro.
94339         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
94340         Provide extern decls when !HAVE_INLINE.  Do not define unless
94341         static_inline is defined, either by us or by xmalloc.c.  Use
94342         static_inline rather than static inline.
94343         (XCALLOC): Optimize sizeof(T) = 1 case.
94344         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
94346 2006-11-07  Bruno Haible  <bruno@clisp.org>
94348         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
94349         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
94350         AC_C_INLINE.
94351         * modules/xalloc (Files): Add m4/inline.m4.
94353 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94355         * README: Fix typo.
94356         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
94357         (Miscellanous Notes): ...from this.
94359 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94361         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
94362         Mention that offsetof should be used instead of sizeof.
94363         From Bruno Haible.
94365 2006-11-07  Bruno Haible  <bruno@clisp.org>
94367         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
94369 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94371         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94372         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
94373         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94374         (gl_tree_add_before, gl_tree_add_after):
94375         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
94376         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
94377         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
94378         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
94379         (gl_linked_add_after, gl_linked_add_at): Likewise.
94380         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
94381         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94382         (gl_tree_add_before, gl_tree_add_after): Likewise.
94383         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
94384         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
94385         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
94387 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94389         * lib/gl_oset.h: Use C comment style, not C++ comment style.
94391 2006-11-06  Bruno Haible  <bruno@clisp.org>
94393         * m4/inline.m4: New file.
94394         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
94395         * modules/list (Files): Add m4/inline.m4.
94396         * modules/oset (Files): Likewise.
94398 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94400         * lib/idcache.c: Include <stddef.h>, for offsetof.
94401         (struct userid.name): Change from char * to a flexible array member.
94402         All uses changed.
94403         * modules/idcache (Depends-on): Add flexmember.
94405         * MODULES.html.sh (Core language properties): New module flexmember.
94406         * modules/flexmember, m4/flexmember.m4: New files.
94408         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
94409         inline functions that are identical with the old xnmalloc_inline,
94410         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
94411         that we can avoid some unnecessary integer multiplications and
94412         divisions in the common case where the element size is known at
94413         compile time.
94414         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
94415         needed.
94416         (xnboundedmalloc): Remove.
94417         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
94418         arguments, for consistency with rest of this header.
94419         (xcharalloc): Rewrite using XNMALLOC.
94420         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
94421         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
94422         versions have been moved to lib/xalloc.h and renamed to be the
94423         non-*_inline versions.
94424         (xmalloc, xrealloc): Implement without reference to the xnmalloc
94425         and xnrealloc functions, since those functions are now inline and
94426         now call us.
94427         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
94428         renaming described above.
94429         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
94430         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
94431         captures the dependency in AC_C_INLINE.
94433         New module canonicalize-lgpl, proposed by Charles Wilson in
94434         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
94435         with a few small changes afterwards.
94436         * MODULES.html.sh (File system functions): New module
94437         canonicalize-lgpl.
94438         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
94439         and canonicalize_file_name.
94440         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
94441         * modules/canonicalize-lgpl: New files.
94443 2006-11-05  Bruno Haible  <bruno@clisp.org>
94445         * gnulib-tool (func_import, func_create_testdir): Create directories
94446         also for files in subdirectories of lib/.
94448 2006-11-05  Bruno Haible  <bruno@clisp.org>
94450         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
94451         ANSI C compliant.
94453 2006-11-03  Bruno Haible  <bruno@clisp.org>
94455         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94456         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
94457         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
94458         (xnboundedmalloc): New inline function.
94459         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
94460         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
94461         xmalloc.
94462         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
94463         xmalloc.
94464         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
94465         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
94466         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
94467         xmalloc.
94468         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94469         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
94470         xmalloc.
94471         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
94472         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94473         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
94474         xmalloc.
94475         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94476         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
94477         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94478         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
94479         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
94480         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
94481         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
94483 2006-11-03  Bruno Haible  <bruno@clisp.org>
94485         * lib/c-ctype.h [C++]: Define functions without name mangling.
94486         * lib/fwriteerror.h [C++]: Likewise.
94487         * lib/gcd.h [C++]: Likewise.
94488         * lib/linebreak.h [C++]: Likewise.
94490 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
94492         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
94493         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
94494         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
94495         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
94496         Check for functions and headers just once.
94497         Check for declaration of canonicalize_file_name.
94498         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
94500 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94502         * gnulib-tool (func_import): Fix typo in actioncmd.
94504 2006-11-02  Bruno Haible  <bruno@clisp.org>
94506         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
94507         newline sequence in the Makefile.am snippet as a space, like "make"
94508         does.
94509         Reported by Roger Persson <perrog@gmail.com>.
94511 2006-11-01  Bruno Haible  <bruno@clisp.org>
94513         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
94514         already declared in <string.h>.
94515         * lib/strcase.h (strncasecmp): Don't declare it if yes.
94517 2006-11-01  Bruno Haible  <bruno@clisp.org>
94519         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
94520         * lib/strcase.h: Include <string.h>.
94521         (strcasecmp): Define to rpl_strcasecmp here.
94523 2006-11-01  Bruno Haible  <bruno@clisp.org>
94525         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
94527 2006-11-01  Eric Blake  <ebb9@byu.net>
94529         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
94531         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
94533 2006-10-29  Bruno Haible  <bruno@clisp.org>
94535         Make it compile in C++ mode.
94536         * lib/full-write.c (full_rw): Add a cast.
94538 2006-11-01  Bruno Haible  <bruno@clisp.org>
94540         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
94541         be POSIX compliant.
94542         Reported by Roger Persson <perrog@gmail.com>.
94544 2006-11-01  Eric Blake  <ebb9@byu.net>
94546         * lib/getopt_.h: Fix comments.
94548 2006-10-31  Eric Blake  <ebb9@byu.net>
94550         * modules/tmpdir (Depends-on): Add sys_stat.
94551         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
94552         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
94553         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
94554         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
94555         tempname.
94557 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
94559         Avoid some C++ diagnostics reported by Bruno Haible.
94560         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
94561         xmalloc.
94562         (quotearg_alloc): Use xcharalloc rather than xmalloc.
94563         (struct slotvec): Move to top level.
94564         (quotearg_n_options): Rewrite to avoid xmalloc.
94565         * lib/xalloc.h (xcharalloc): New function.
94566         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
94567         [defined __cplusplus]: Add function template that provides result
94568         type propagation.  This part of the change is from Bruno Haible.
94570 2006-10-29  Bruno Haible  <bruno@clisp.org>
94572         Make it compile in C++ mode.
94573         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
94574         * lib/strnlen1.c (strnlen1): Cast memchr result.
94575         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
94576         * lib/clean-temp.c (string_equals, string_hash): Add casts.
94577         (create_temp_dir): Rename local variable 'template'.
94578         (compile_csharp_using_sscli): Add cast.
94579         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
94580         * lib/findprog.c (find_in_path): Likewise.
94581         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
94582         * lib/wait-process.c (register_slave_subprocess): Likewise.
94584 2006-10-22  Bruno Haible  <bruno@clisp.org>
94586         * modules/tsearch: New file.
94587         * lib/tsearch.h: New file.
94588         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
94589         * m4/tsearch.m4: New file.
94590         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
94592 2006-10-29  Eric Blake  <ebb9@byu.net>
94594         * lib/arcfour.c: Assume config.h.
94595         * lib/arctwo.c: Likewise.
94596         * lib/base64.c: Likewise.
94597         * lib/check-version.c: Likewise.
94598         * lib/crc.c: Likewise.
94599         * lib/des.c: Likewise.
94600         * lib/gc-gnulib.c: Likewise.
94601         * lib/gc-libgcrypt.c: Likewise.
94602         * lib/gc-pbkdf2-sha1.c: Likewise.
94603         * lib/getaddrinfo.c: Likewise.
94604         * lib/getdelim.c: Likewise.
94605         * lib/getline.c: Likewise.
94606         * lib/hmac-md5.c: Likewise.
94607         * lib/hmac-sha1.c: Likewise.
94608         * lib/iconvme.c: Likewise.
94609         * lib/md2.c: Likewise.
94610         * lib/md4.c: Likewise.
94611         * lib/memxor.c: Likewise.
94612         * lib/read-file.c: Likewise.
94613         * lib/readline.c: Likewise.
94614         * lib/rijndael-alg-fst.c: Likewise.
94615         * lib/rijndael-api-fst.c: Likewise.
94616         * lib/xgetdomainname.c: Likewise.
94618 2006-10-28  Eric Blake  <ebb9@byu.net>
94620         * lib/xstrndup.c: Assume config.h.
94622 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
94624         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
94625         stat-macros.h is now for our own macros, whereas stat_h is for
94626         macros in the <sys/stat.h> name space.
94627         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
94628         (STAT_MACROS_H): Remove.
94629         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
94630         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
94631         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
94632         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
94633         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
94634         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
94635         Move these macros to ...
94636         * lib/stat_.h: here.  Don't include stat-macros.h.
94637         * lib/canonicalize.c: Don't include stat-macros.h.
94638         * lib/chown.c: Likewise.
94639         * lib/euidaccess.c: Likewise.
94640         * lib/file-type.c: Likewise.
94641         * lib/filemode.c: Likewise.
94642         * lib/glob.c: Likewise.
94643         * lib/isapipe.c: Likewise.
94644         * lib/lchown.c: Likewise.
94645         * lib/lstat.c: Likewise.
94646         * lib/mkdir-p.c: Likewise.
94647         * lib/rmdir.c: Likewise.
94648         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
94649         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
94650         unless mkdir isn't declared, to speed up 'configure'.
94651         Always create sys/stat.h, since it's unlikely any real sys/stat.h
94652         would define all the S_* symbols.
94653         * modules/canonicalize (Depends-on):
94654         Depend on sys_stat, not stat-macros.
94655         * modules/chown: Likewise.
94656         * modules/euidaccess: Likewise.
94657         * modules/filemode: Likewise.
94658         * modules/file-type: Likewise.
94659         * modules/glob: Likewise.
94660         * modules/isapipe: Likewise.
94661         * modules/lchown: Likewise.
94662         * modules/lstat: Likewise.
94663         * modules/mkancesdirs: Likewise.
94664         * modules/rmdir: Likewise.
94665         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
94666         * modules/modechange: Likewise.
94667         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
94668         (configure.ac): Remove gl_STAT_MACROS.
94669         * modules/sys_stat (Depends-on): Remove stat-macros.
94671 2006-10-27  Bruno Haible  <bruno@clisp.org>
94673         * m4/signed.m4: Remove file.
94674         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
94675         invocation.
94676         * modules/vasnprintf (Files): Remove m4/signed.m4.
94678 2006-10-27  Bruno Haible  <bruno@clisp.org>
94680         Update to GNU gettext 0.16.
94681         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
94682         m4/inttypes-h.m4, m4/signed.m4.
94683         * m4/gettext.m4: Update to GNU gettext 0.16.
94684         * m4/intl.m4: New file, from GNU gettext.
94685         * m4/intldir.m4: New file, from GNU gettext.
94686         * config/srclist.txt: Update
94688 2006-10-27  Eric Blake  <ebb9@byu.net>
94690         * MODULES.html.sh: Document tempname.
94691         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
94692         dependencies.
94693         (Files): Move lib/tempname.c...
94694         * modules/tempname: ...to this new module.
94695         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
94696         (gl_PREREQ_TEMPNAME): Move...
94697         * m4/tempname.m4: ...to this new file.
94698         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
94699         * modules/sys_stat (Depends-on): Add stat-macros.
94700         * lib/stat_.h (includes): Pick up stat macros.
94701         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
94702         if stat macros are broken.
94703         * lib/tempname.c (includes): No need to include "stat-macros.h".
94704         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
94705         (direxists, __path_search) [!_LIBC]: Don't compile these in
94706         gnulib; the tmpdir module covers that.
94707         * lib/tempname.h: New file.
94709 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
94711         * COPYING: Explain how gnulib-tool converts licence headers.
94712         Almost all wording by Eric Blake.
94714 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
94716         * lib/mbchar.h (is_basic_table): Make read-only.
94717         * lib/mbchar.c (is_basic_table): Likewise.
94718         Reported by John Darrington.
94720 2006-10-25  Bruno Haible  <bruno@clisp.org>
94722         * lib/progname.h (set_program_name): Undefine before defining.
94724 2006-10-25  Bruno Haible  <bruno@clisp.org>
94726         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
94727         false for non-gcc C++ compilers.
94728         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94730 2006-10-24  Bruno Haible  <bruno@clisp.org>
94732         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
94733         iconv implementations like Irix iconv.
94735 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94737         * modules/vararrays: New file.
94738         * m4/vararrays.m4: New file, taken from diffutils.
94739         * MODULES.html.sh: New module vararrays.
94741 2006-10-24  Karl Berry  <karl@gnu.org>
94743         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94744         Don't call GNU Unix.
94746 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94748         * users.txt: Add Libtool.
94750         Sync from Libtool:
94752         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94754         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94755         to gnulib's policy of including config.h unconditionally.
94757 2006-10-24  Bruno Haible  <bruno@clisp.org>
94759         * modules/wcwidth (Files): Add m4/wint_t.m4.
94760         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94761         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94763 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94765         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94766         to pacify GCC with some -W flags enabled.  Problem reported by
94767         Bruno Haible.
94769 2006-10-24  Jim Meyering  <jim@meyering.net>
94771         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94772         Reported by Karl Berry.
94774 2006-10-23  Bruno Haible  <bruno@clisp.org>
94776         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94778 2006-10-24  Bruno Haible  <bruno@clisp.org>
94780         * lib/gl_list.h: Use C comment style, not C++ comment style.
94782 2006-10-23  Eric Blake  <ebb9@byu.net>
94784         * lib/getaddrinfo.c (includes): Add missing include.
94786 2006-10-23  Bruno Haible  <bruno@clisp.org>
94787             Paul Eggert  <eggert@cs.ucla.edu>
94789         Ability to rename obstack_free.
94790         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94791         obstack_free.
94792         (obstack_free): Invoke the __obstack_free macro.
94793         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94795 2006-10-23  Bruno Haible  <bruno@clisp.org>
94796             Paul Eggert  <eggert@cs.ucla.edu>
94798         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94799         __argc, __argv from the declaration. (They are defined as macros on
94800         mingw.)
94802 2006-10-22  Bruno Haible  <bruno@clisp.org>
94804         * doc/gnulib-intro.texi: New file.
94805         * doc/gnulib.texi: Include it.
94807 2006-10-21  Bruno Haible  <bruno@clisp.org>
94809         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94810         "Introduction", "Miscellanous Notes", "Particular Modules".
94812 2006-10-21  Bruno Haible  <bruno@clisp.org>
94814         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94815         Change mostlyclean-local rule to avoid sh syntax error from bash
94816         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94818 2006-10-23  Jim Meyering  <jim@meyering.net>
94820         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94821         in place of snprintf.
94823         * modules/inttostr (Files): Add lib/uinttostr.c.
94824         * lib/uinttostr.c (inttostr): New file/function.
94825         * lib/inttostr.h (uinttostr): Declare.
94826         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94827         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94828         Add uinttostr.
94829         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94831 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94833         * lib/canonicalize.c (ELOOP): Define if not already defined.
94834         Problem reported by Bruno Haible in
94835         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94837 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94839         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94840         Problem reported by Perry Smith and Ville Laurikari.
94842         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94843         uses.
94845 2006-10-19  Bruno Haible  <bruno@clisp.org>
94847         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94848         for mingw.
94850 2006-10-19  Bruno Haible  <bruno@clisp.org>
94852         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94853         Needed for mingw.
94855 2006-10-19  Bruno Haible  <bruno@clisp.org>
94857         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94859 2006-10-19  Bruno Haible  <bruno@clisp.org>
94861         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94862         it.
94864 2006-10-19  Bruno Haible  <bruno@clisp.org>
94866         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94867         invocation.
94869 2006-10-19  Bruno Haible  <bruno@clisp.org>
94871         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94872         mountlist by default.
94874 2006-10-16  Bruno Haible  <bruno@clisp.org>
94876         * lib/c-strstr.c: Include c-strstr.h.
94878 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94880         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94881         in a slash.
94883 2006-10-18  Bruno Haible  <bruno@clisp.org>
94885         * lib/lock.h [C++]: Wrap definitions in extern "C".
94887 2006-10-18  Bruno Haible  <bruno@clisp.org>
94889         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94890         gl_LIBOBJS list.
94892 2006-10-18  Bruno Haible  <bruno@clisp.org>
94894         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94896 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94898         * lib/xstrtol.h: Include gettext.h.
94899         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94900         Problem reported by Eric Blake.
94901         * modules/xstrtol (Depends-on): Add gettext-h.
94903 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94905         * lib/strftime.c (advance): New macro.
94906         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94907         incomplete type, so you can't add 0 to it.  Problem and patch
94908         reported by Eelco Dolstra for dietlibc.
94910 2006-10-18  Jim Meyering  <jim@meyering.net>
94912         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94913         type for a local, and rename it: s/up/user_proc/.
94915 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94917         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94918         READ_UTMP_USER_PROCESS.
94919         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94921 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94923         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94924         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94926 2006-10-17  Eric Blake  <ebb9@byu.net>
94928         * lib/sigprocmask.c (sigprocmask): Fix typo.
94930         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94932         * modules/clean-temp (Makefile.am): Don't add to make output...
94933         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94934         config.h.
94936 2006-10-17  Bruno Haible  <bruno@clisp.org>
94938         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94939         differently if DEFAULT_TEXT_DOMAIN is set.
94941 2006-10-16  Bruno Haible  <bruno@clisp.org>
94943         * lib/clean-temp.c: Include fwriteerror.h.
94945 2006-10-16  Bruno Haible  <bruno@clisp.org>
94947         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94949 2006-10-16  Bruno Haible  <bruno@clisp.org>
94951         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94952         * lib/sigprocmask.h: Include <sys/types.h>.
94953         (sigset_t): Use the system's definition if present.
94955 2006-10-17  Eric Blake  <ebb9@byu.net>
94957         * lib/xvasprintf.c (includes): Assume config.h.
94958         * lib/xasprintf.c (includes): Likewise.
94960 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94962         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94963         at least as wide as intmax_t.
94965 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
94967         (Imported from Automake.)
94968         * build-aux/gnupload: Update to version 1.1 of directive file.
94970 2006-10-16  Eric Blake  <ebb9@byu.net>
94972         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
94973         match Automake 1.10a.
94975 2006-10-14  Bruno Haible  <bruno@clisp.org>
94977         * modules/sigprocmask: New file.
94978         * lib/sigprocmask.h: New file.
94979         * lib/sigprocmask.c: New file.
94980         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
94981         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
94982         request sigprocmask.o.
94983         (gl_PREREQ_SIGPROCMASK): New macro.
94984         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
94985         (Depends-on): Add sigprocmask.
94986         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
94987         gt_SIGNALBLOCKING. Test for 'raise' only once.
94988         * lib/fatal-signal.c: Include sigprocmask.h.
94989         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
94990         unblock_fatal_signals): Define always.
94991         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94992         sigprocmask.
94994 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
94996         Sync from Automake.
94997         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
94998         which incorrectly sets the mode of an existing destination
94999         directory.  In some cases the unpatched install-sh could do the
95000         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
95001         system.  We hope this is rare in practice, but it's clearly worth
95002         fixing.  Problem reported by Alex Unleashed in
95003         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
95004         Also, don't bother to check for -m bugs unless we're using -m;
95005         suggested by Stepan Kasal.
95007 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95009         Sync from Automake.
95010         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
95011         `-c' flag, so they appear at the same position as in %FASTDEP%
95012         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
95013         which ignores unknown options only after the first non-option.
95014         Bug report against M4 by Nelson H. F. Beebe.
95016 2006-10-13  Jim Meyering  <jim@meyering.net>
95018         Fix a bug in yesterday's change.
95019         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
95020         p->fts_statp->st_dev would be used uninitialized.
95021         Ensures that we always call fts_stat on the very first entry.
95022         Miklos Szeredi reported that find -xdev stopped working.
95024 2006-10-12  Bruno Haible  <bruno@clisp.org>
95026         * gnulib-tool (func_get_automake_snippet): Append an automatically
95027         computed EXTRA_DIST augmentation.
95028         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
95029         * modules/alloca-opt (Makefile.am): Likewise.
95030         * modules/allocsa (Makefile.am): Likewise.
95031         * modules/arcfour (Makefile.am): Likewise.
95032         * modules/arctwo (Makefile.am): Likewise.
95033         * modules/argmatch (Makefile.am): Likewise.
95034         * modules/argz (Makefile.am): Likewise.
95035         * modules/atexit (Makefile.am): Likewise.
95036         * modules/backupfile (Makefile.am): Likewise.
95037         * modules/byteswap (Makefile.am): Likewise.
95038         * modules/c-strtod (Makefile.am): Likewise.
95039         * modules/c-strtold (Makefile.am): Likewise.
95040         * modules/calloc (Makefile.am): Likewise.
95041         * modules/canon-host (Makefile.am): Likewise.
95042         * modules/canonicalize (Makefile.am): Likewise.
95043         * modules/chdir-long (Makefile.am): Likewise.
95044         * modules/chdir-safer (Makefile.am): Likewise.
95045         * modules/check-version (Makefile.am): Likewise.
95046         * modules/chown (Makefile.am): Likewise.
95047         * modules/cloexec (Makefile.am): Likewise.
95048         * modules/close-stream (Makefile.am): Likewise.
95049         * modules/closeout (Makefile.am): Likewise.
95050         * modules/crc (Makefile.am): Likewise.
95051         * modules/csharpexec (Makefile.am): Likewise.
95052         * modules/cycle-check (Makefile.am): Likewise.
95053         * modules/des (Makefile.am): Likewise.
95054         * modules/dev-ino (Makefile.am): Likewise.
95055         * modules/dirfd (Makefile.am): Likewise.
95056         * modules/dirname (Makefile.am): Likewise.
95057         * modules/dup2 (Makefile.am): Likewise.
95058         * modules/eealloc (Makefile.am): Likewise.
95059         * modules/error (Makefile.am): Likewise.
95060         * modules/euidaccess (Makefile.am): Likewise.
95061         * modules/exclude (Makefile.am): Likewise.
95062         * modules/exitfail (Makefile.am): Likewise.
95063         * modules/fcntl-safer (Makefile.am): Likewise.
95064         * modules/fcntl (Makefile.am): Likewise.
95065         * modules/file-type (Makefile.am): Likewise.
95066         * modules/fileblocks (Makefile.am): Likewise.
95067         * modules/filemode (Makefile.am): Likewise.
95068         * modules/filenamecat (Makefile.am): Likewise.
95069         * modules/fnmatch (Makefile.am): Likewise.
95070         * modules/fopen-safer (Makefile.am): Likewise.
95071         * modules/fpending (Makefile.am): Likewise.
95072         * modules/fprintftime (Makefile.am): Likewise.
95073         * modules/free (Makefile.am): Likewise.
95074         * modules/fsusage (Makefile.am): Likewise.
95075         * modules/ftruncate (Makefile.am): Likewise.
95076         * modules/fts (Makefile.am): Likewise.
95077         * modules/gc-arcfour (Makefile.am): Likewise.
95078         * modules/gc-des (Makefile.am): Likewise.
95079         * modules/gc-hmac-md5 (Makefile.am): Likewise.
95080         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
95081         * modules/gc-md4 (Makefile.am): Likewise.
95082         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95083         * modules/gc-sha1 (Makefile.am): Likewise.
95084         * modules/gc (Makefile.am): Likewise.
95085         * modules/getaddrinfo (Makefile.am): Likewise.
95086         * modules/getcwd (Makefile.am): Likewise.
95087         * modules/getdelim (Makefile.am): Likewise.
95088         * modules/getdomainname (Makefile.am): Likewise.
95089         * modules/getgroups (Makefile.am): Likewise.
95090         * modules/gethostname (Makefile.am): Likewise.
95091         * modules/gethrxtime (Makefile.am): Likewise.
95092         * modules/getline (Makefile.am): Likewise.
95093         * modules/getloadavg (Makefile.am): Likewise.
95094         * modules/getlogin_r (Makefile.am): Likewise.
95095         * modules/getndelim2 (Makefile.am): Likewise.
95096         * modules/getopt (Makefile.am): Likewise.
95097         * modules/getpagesize (Makefile.am): Likewise.
95098         * modules/getpass-gnu (Makefile.am): Likewise.
95099         * modules/getpass (Makefile.am): Likewise.
95100         * modules/getsubopt (Makefile.am): Likewise.
95101         * modules/gettime (Makefile.am): Likewise.
95102         * modules/gettimeofday (Makefile.am): Likewise.
95103         * modules/getugroups (Makefile.am): Likewise.
95104         * modules/getusershell (Makefile.am): Likewise.
95105         * modules/glob (Makefile.am): Likewise.
95106         * modules/group-member (Makefile.am): Likewise.
95107         * modules/hard-locale (Makefile.am): Likewise.
95108         * modules/hash (Makefile.am): Likewise.
95109         * modules/hmac-md5 (Makefile.am): Likewise.
95110         * modules/hmac-sha1 (Makefile.am): Likewise.
95111         * modules/human (Makefile.am): Likewise.
95112         * modules/idcache (Makefile.am): Likewise.
95113         * modules/imaxabs (Makefile.am): Likewise.
95114         * modules/imaxdiv (Makefile.am): Likewise.
95115         * modules/inet_ntop (Makefile.am): Likewise.
95116         * modules/inet_pton (Makefile.am): Likewise.
95117         * modules/intprops (Makefile.am): Likewise.
95118         * modules/inttostr (Makefile.am): Likewise.
95119         * modules/inttypes (Makefile.am): Likewise.
95120         * modules/isapipe (Makefile.am): Likewise.
95121         * modules/javaversion (Makefile.am): Likewise.
95122         * modules/lchmod (Makefile.am): Likewise.
95123         * modules/lchown (Makefile.am): Likewise.
95124         * modules/localcharset (Makefile.am): Likewise.
95125         * modules/long-options (Makefile.am): Likewise.
95126         * modules/lstat (Makefile.am): Likewise.
95127         * modules/malloc (Makefile.am): Likewise.
95128         * modules/mathl (Makefile.am): Likewise.
95129         * modules/mbchar (Makefile.am): Likewise.
95130         * modules/md2 (Makefile.am): Likewise.
95131         * modules/md4 (Makefile.am): Likewise.
95132         * modules/md5 (Makefile.am): Likewise.
95133         * modules/memcasecmp (Makefile.am): Likewise.
95134         * modules/memchr (Makefile.am): Likewise.
95135         * modules/memcmp (Makefile.am): Likewise.
95136         * modules/memcoll (Makefile.am): Likewise.
95137         * modules/memcpy (Makefile.am): Likewise.
95138         * modules/memmem (Makefile.am): Likewise.
95139         * modules/memmove (Makefile.am): Likewise.
95140         * modules/mempcpy (Makefile.am): Likewise.
95141         * modules/memrchr (Makefile.am): Likewise.
95142         * modules/memset (Makefile.am): Likewise.
95143         * modules/memxor (Makefile.am): Likewise.
95144         * modules/mkancesdirs (Makefile.am): Likewise.
95145         * modules/mkdir-p (Makefile.am): Likewise.
95146         * modules/mkdir (Makefile.am): Likewise.
95147         * modules/mkdtemp (Makefile.am): Likewise.
95148         * modules/mkstemp (Makefile.am): Likewise.
95149         * modules/mktime (Makefile.am): Likewise.
95150         * modules/modechange (Makefile.am): Likewise.
95151         * modules/mountlist (Makefile.am): Likewise.
95152         * modules/nanosleep (Makefile.am): Likewise.
95153         * modules/obstack (Makefile.am): Likewise.
95154         * modules/openat (Makefile.am): Likewise.
95155         * modules/pagealign_alloc (Makefile.am): Likewise.
95156         * modules/pathmax (Makefile.am): Likewise.
95157         * modules/physmem (Makefile.am): Likewise.
95158         * modules/poll (Makefile.am): Likewise.
95159         * modules/posixtm (Makefile.am): Likewise.
95160         * modules/posixver (Makefile.am): Likewise.
95161         * modules/putenv (Makefile.am): Likewise.
95162         * modules/quote (Makefile.am): Likewise.
95163         * modules/quotearg (Makefile.am): Likewise.
95164         * modules/raise (Makefile.am): Likewise.
95165         * modules/read-file (Makefile.am): Likewise.
95166         * modules/readline (Makefile.am): Likewise.
95167         * modules/readlink (Makefile.am): Likewise.
95168         * modules/readtokens (Makefile.am): Likewise.
95169         * modules/readutmp (Makefile.am): Likewise.
95170         * modules/realloc (Makefile.am): Likewise.
95171         * modules/regex (Makefile.am): Likewise.
95172         * modules/rename-dest-slash (Makefile.am): Likewise.
95173         * modules/rename (Makefile.am): Likewise.
95174         * modules/rijndael (Makefile.am): Likewise.
95175         * modules/rmdir (Makefile.am): Likewise.
95176         * modules/rpmatch (Makefile.am): Likewise.
95177         * modules/safe-read (Makefile.am): Likewise.
95178         * modules/safe-write (Makefile.am): Likewise.
95179         * modules/same-inode (Makefile.am): Likewise.
95180         * modules/same (Makefile.am): Likewise.
95181         * modules/save-cwd (Makefile.am): Likewise.
95182         * modules/savedir (Makefile.am): Likewise.
95183         * modules/setenv (Makefile.am): Likewise.
95184         * modules/settime (Makefile.am): Likewise.
95185         * modules/sha1 (Makefile.am): Likewise.
95186         * modules/sig2str (Makefile.am): Likewise.
95187         * modules/snprintf (Makefile.am): Likewise.
95188         * modules/stat-macros (Makefile.am): Likewise.
95189         * modules/stat-time (Makefile.am): Likewise.
95190         * modules/stdbool (Makefile.am): Likewise.
95191         * modules/stdint (Makefile.am): Likewise.
95192         * modules/stdlib-safer (Makefile.am): Likewise.
95193         * modules/stpcpy (Makefile.am): Likewise.
95194         * modules/stpncpy (Makefile.am): Likewise.
95195         * modules/strcase (Makefile.am): Likewise.
95196         * modules/strcasestr (Makefile.am): Likewise.
95197         * modules/strchrnul (Makefile.am): Likewise.
95198         * modules/strcspn (Makefile.am): Likewise.
95199         * modules/strdup (Makefile.am): Likewise.
95200         * modules/strerror (Makefile.am): Likewise.
95201         * modules/strftime (Makefile.am): Likewise.
95202         * modules/strndup (Makefile.am): Likewise.
95203         * modules/strnlen (Makefile.am): Likewise.
95204         * modules/strpbrk (Makefile.am): Likewise.
95205         * modules/strsep (Makefile.am): Likewise.
95206         * modules/strstr (Makefile.am): Likewise.
95207         * modules/strtod (Makefile.am): Likewise.
95208         * modules/strtoimax (Makefile.am): Likewise.
95209         * modules/strtok_r (Makefile.am): Likewise.
95210         * modules/strtol (Makefile.am): Likewise.
95211         * modules/strtoll (Makefile.am): Likewise.
95212         * modules/strtoul (Makefile.am): Likewise.
95213         * modules/strtoull (Makefile.am): Likewise.
95214         * modules/strtoumax (Makefile.am): Likewise.
95215         * modules/strverscmp (Makefile.am): Likewise.
95216         * modules/sys_socket (Makefile.am): Likewise.
95217         * modules/sys_stat (Makefile.am): Likewise.
95218         * modules/sysexits (Makefile.am): Likewise.
95219         * modules/time_r (Makefile.am): Likewise.
95220         * modules/timegm (Makefile.am): Likewise.
95221         * modules/timespec (Makefile.am): Likewise.
95222         * modules/tmpfile-safer (Makefile.am): Likewise.
95223         * modules/trim (Makefile.am): Likewise.
95224         * modules/unistd-safer (Makefile.am): Likewise.
95225         * modules/unlinkdir (Makefile.am): Likewise.
95226         * modules/unlocked-io (Makefile.am): Likewise.
95227         * modules/userspec (Makefile.am): Likewise.
95228         * modules/utime (Makefile.am): Likewise.
95229         * modules/utimecmp (Makefile.am): Likewise.
95230         * modules/utimens (Makefile.am): Likewise.
95231         * modules/vasnprintf (Makefile.am): Likewise.
95232         * modules/vasprintf (Makefile.am): Likewise.
95233         * modules/vsnprintf (Makefile.am): Likewise.
95234         * modules/xalloc (Makefile.am): Likewise.
95235         * modules/xgetcwd (Makefile.am): Likewise.
95236         * modules/xnanosleep (Makefile.am): Likewise.
95237         * modules/xreadlink (Makefile.am): Likewise.
95238         * modules/xstrtod (Makefile.am): Likewise.
95239         * modules/xstrtol (Makefile.am): Likewise.
95240         * modules/xstrtold (Makefile.am): Likewise.
95241         * modules/yesno (Makefile.am): Likewise.
95242         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
95244 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95246         * modules/error (Makefile.am): Distribute files through
95247         EXTRA_DIST, not lib_SOURCES.
95249 2006-10-12  Eric Blake  <ebb9@byu.net>
95251         * modules/error (Makefile.am): Distribute files in /lib.
95252         * modules/obstack (Makefile.am): Likewise.
95254 2006-10-12  Bruno Haible  <bruno@clisp.org>
95256         * modules/acl (Makefile.am): Distribute all files in lib/ through
95257         EXTRA_DIST.
95258         * modules/arcfour (Makefile.am): Likewise.
95259         * modules/arctwo (Makefile.am): Likewise.
95260         * modules/argmatch (Makefile.am): Likewise.
95261         * modules/argz (Makefile.am): Likewise.
95262         * modules/atexit (Makefile.am): Likewise.
95263         * modules/backupfile (Makefile.am): Likewise.
95264         * modules/c-strtod (Makefile.am): Likewise.
95265         * modules/c-strtold (Makefile.am): Likewise.
95266         * modules/calloc (Makefile.am): Likewise.
95267         * modules/canon-host (Makefile.am): Likewise.
95268         * modules/canonicalize (Makefile.am): Likewise.
95269         * modules/chdir-long (Makefile.am): Likewise.
95270         * modules/chdir-safer (Makefile.am): Likewise.
95271         * modules/check-version (Makefile.am): Likewise.
95272         * modules/chown (Makefile.am): Likewise.
95273         * modules/cloexec (Makefile.am): Likewise.
95274         * modules/close-stream (Makefile.am): Likewise.
95275         * modules/closeout (Makefile.am): Likewise.
95276         * modules/crc (Makefile.am): Likewise.
95277         * modules/cycle-check (Makefile.am): Likewise.
95278         * modules/des (Makefile.am): Likewise.
95279         * modules/dirfd (Makefile.am): Likewise.
95280         * modules/dirname (Makefile.am): Likewise.
95281         * modules/dup2 (Makefile.am): Likewise.
95282         * modules/euidaccess (Makefile.am): Likewise.
95283         * modules/exclude (Makefile.am): Likewise.
95284         * modules/exitfail (Makefile.am): Likewise.
95285         * modules/fcntl-safer (Makefile.am): Likewise.
95286         * modules/file-type (Makefile.am): Likewise.
95287         * modules/fileblocks (Makefile.am): Likewise.
95288         * modules/filemode (Makefile.am): Likewise.
95289         * modules/filenamecat (Makefile.am): Likewise.
95290         * modules/fnmatch (Makefile.am): Likewise.
95291         * modules/fopen-safer (Makefile.am): Likewise.
95292         * modules/fpending (Makefile.am): Likewise.
95293         * modules/fprintftime (Makefile.am): Likewise.
95294         * modules/free (Makefile.am): Likewise.
95295         * modules/fsusage (Makefile.am): Likewise.
95296         * modules/ftruncate (Makefile.am): Likewise.
95297         * modules/fts (Makefile.am): Likewise.
95298         * modules/gc (Makefile.am): Likewise.
95299         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95300         * modules/getaddrinfo (Makefile.am): Likewise.
95301         * modules/getcwd (Makefile.am): Likewise.
95302         * modules/getdelim (Makefile.am): Likewise.
95303         * modules/getdomainname (Makefile.am): Likewise.
95304         * modules/getgroups (Makefile.am): Likewise.
95305         * modules/gethostname (Makefile.am): Likewise.
95306         * modules/gethrxtime (Makefile.am): Likewise.
95307         * modules/getline (Makefile.am): Likewise.
95308         * modules/getloadavg (Makefile.am): Likewise.
95309         * modules/getlogin_r (Makefile.am): Likewise.
95310         * modules/getopt (Makefile.am): Likewise.
95311         * modules/getpass (Makefile.am): Likewise.
95312         * modules/getpass-gnu (Makefile.am): Likewise.
95313         * modules/getsubopt (Makefile.am): Likewise.
95314         * modules/gettime (Makefile.am): Likewise.
95315         * modules/gettimeofday (Makefile.am): Likewise.
95316         * modules/getugroups (Makefile.am): Likewise.
95317         * modules/getusershell (Makefile.am): Likewise.
95318         * modules/glob (Makefile.am): Likewise.
95319         * modules/group-member (Makefile.am): Likewise.
95320         * modules/hard-locale (Makefile.am): Likewise.
95321         * modules/hash (Makefile.am): Likewise.
95322         * modules/hmac-md5 (Makefile.am): Likewise.
95323         * modules/hmac-sha1 (Makefile.am): Likewise.
95324         * modules/human (Makefile.am): Likewise.
95325         * modules/idcache (Makefile.am): Likewise.
95326         * modules/imaxabs (Makefile.am): Likewise.
95327         * modules/imaxdiv (Makefile.am): Likewise.
95328         * modules/inet_ntop (Makefile.am): Likewise.
95329         * modules/inet_pton (Makefile.am): Likewise.
95330         * modules/inttostr (Makefile.am): Likewise.
95331         * modules/isapipe (Makefile.am): Likewise.
95332         * modules/lchown (Makefile.am): Likewise.
95333         * modules/long-options (Makefile.am): Likewise.
95334         * modules/lstat (Makefile.am): Likewise.
95335         * modules/malloc (Makefile.am): Likewise.
95336         * modules/mathl (Makefile.am): Likewise.
95337         * modules/mbchar (Makefile.am): Likewise.
95338         * modules/md2 (Makefile.am): Likewise.
95339         * modules/md4 (Makefile.am): Likewise.
95340         * modules/md5 (Makefile.am): Likewise.
95341         * modules/memcasecmp (Makefile.am): Likewise.
95342         * modules/memchr (Makefile.am): Likewise.
95343         * modules/memcmp (Makefile.am): Likewise.
95344         * modules/memcoll (Makefile.am): Likewise.
95345         * modules/memcpy (Makefile.am): Likewise.
95346         * modules/memmem (Makefile.am): Likewise.
95347         * modules/memmove (Makefile.am): Likewise.
95348         * modules/mempcpy (Makefile.am): Likewise.
95349         * modules/memrchr (Makefile.am): Likewise.
95350         * modules/memset (Makefile.am): Likewise.
95351         * modules/memxor (Makefile.am): Likewise.
95352         * modules/mkancesdirs (Makefile.am): Likewise.
95353         * modules/mkdir (Makefile.am): Likewise.
95354         * modules/mkdir-p (Makefile.am): Likewise.
95355         * modules/mkdtemp (Makefile.am): Likewise.
95356         * modules/mkstemp (Makefile.am): Likewise.
95357         * modules/mktime (Makefile.am): Likewise.
95358         * modules/modechange (Makefile.am): Likewise.
95359         * modules/mountlist (Makefile.am): Likewise.
95360         * modules/nanosleep (Makefile.am): Likewise.
95361         * modules/openat (Makefile.am): Likewise.
95362         * modules/pagealign_alloc (Makefile.am): Likewise.
95363         * modules/physmem (Makefile.am): Likewise.
95364         * modules/poll (Makefile.am): Likewise.
95365         * modules/posixtm (Makefile.am): Likewise.
95366         * modules/posixver (Makefile.am): Likewise.
95367         * modules/putenv (Makefile.am): Likewise.
95368         * modules/quote (Makefile.am): Likewise.
95369         * modules/quotearg (Makefile.am): Likewise.
95370         * modules/raise (Makefile.am): Likewise.
95371         * modules/read-file (Makefile.am): Likewise.
95372         * modules/readline (Makefile.am): Likewise.
95373         * modules/readlink (Makefile.am): Likewise.
95374         * modules/readtokens (Makefile.am): Likewise.
95375         * modules/readutmp (Makefile.am): Likewise.
95376         * modules/realloc (Makefile.am): Likewise.
95377         * modules/regex (Makefile.am): Likewise.
95378         * modules/rename (Makefile.am): Likewise.
95379         * modules/rename-dest-slash (Makefile.am): Likewise.
95380         * modules/rijndael (Makefile.am): Likewise.
95381         * modules/rmdir (Makefile.am): Likewise.
95382         * modules/rpmatch (Makefile.am): Likewise.
95383         * modules/safe-read (Makefile.am): Likewise.
95384         * modules/safe-write (Makefile.am): Likewise.
95385         * modules/same (Makefile.am): Likewise.
95386         * modules/save-cwd (Makefile.am): Likewise.
95387         * modules/savedir (Makefile.am): Likewise.
95388         * modules/setenv (Makefile.am): Likewise.
95389         * modules/settime (Makefile.am): Likewise.
95390         * modules/sha1 (Makefile.am): Likewise.
95391         * modules/sig2str (Makefile.am): Likewise.
95392         * modules/snprintf (Makefile.am): Likewise.
95393         * modules/stdlib-safer (Makefile.am): Likewise.
95394         * modules/stpcpy (Makefile.am): Likewise.
95395         * modules/stpncpy (Makefile.am): Likewise.
95396         * modules/strcase (Makefile.am): Likewise.
95397         * modules/strcasestr (Makefile.am): Likewise.
95398         * modules/strchrnul (Makefile.am): Likewise.
95399         * modules/strcspn (Makefile.am): Likewise.
95400         * modules/strdup (Makefile.am): Likewise.
95401         * modules/strerror (Makefile.am): Likewise.
95402         * modules/strftime (Makefile.am): Likewise.
95403         * modules/strndup (Makefile.am): Likewise.
95404         * modules/strnlen (Makefile.am): Likewise.
95405         * modules/strpbrk (Makefile.am): Likewise.
95406         * modules/strsep (Makefile.am): Likewise.
95407         * modules/strstr (Makefile.am): Likewise.
95408         * modules/strtod (Makefile.am): Likewise.
95409         * modules/strtoimax (Makefile.am): Likewise.
95410         * modules/strtok_r (Makefile.am): Likewise.
95411         * modules/strtol (Makefile.am): Likewise.
95412         * modules/strtoll (Makefile.am): Likewise.
95413         * modules/strtoul (Makefile.am): Likewise.
95414         * modules/strtoull (Makefile.am): Likewise.
95415         * modules/strtoumax (Makefile.am): Likewise.
95416         * modules/strverscmp (Makefile.am): Likewise.
95417         * modules/time_r (Makefile.am): Likewise.
95418         * modules/timegm (Makefile.am): Likewise.
95419         * modules/tmpfile-safer (Makefile.am): Likewise.
95420         * modules/unistd-safer (Makefile.am): Likewise.
95421         * modules/unlinkdir (Makefile.am): Likewise.
95422         * modules/userspec (Makefile.am): Likewise.
95423         * modules/utime (Makefile.am): Likewise.
95424         * modules/utimecmp (Makefile.am): Likewise.
95425         * modules/utimens (Makefile.am): Likewise.
95426         * modules/vasnprintf (Makefile.am): Likewise.
95427         * modules/vasprintf (Makefile.am): Likewise.
95428         * modules/vsnprintf (Makefile.am): Likewise.
95429         * modules/xalloc (Makefile.am): Likewise.
95430         * modules/xgetcwd (Makefile.am): Likewise.
95431         * modules/xnanosleep (Makefile.am): Likewise.
95432         * modules/xreadlink (Makefile.am): Likewise.
95433         * modules/xstrtod (Makefile.am): Likewise.
95434         * modules/xstrtol (Makefile.am): Likewise.
95435         * modules/xstrtold (Makefile.am): Likewise.
95436         * modules/yesno (Makefile.am): Likewise.
95438 2006-10-12  Jim Meyering  <jim@meyering.net>
95440         * m4/getloadavg.m4: Revert the change below.
95442         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
95443         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
95444         fail with a symlink, which is what coreutils' ./bootstrap now
95445         creates by default.
95447 2006-10-12  Bruno Haible  <bruno@clisp.org>
95449         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
95450         mingw.
95451         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
95452         MSVC and mingw explicitly.
95454 2006-10-11  Simon Josefsson  <jas@extundo.com>
95455             Bruno Haible  <bruno@clisp.org>
95457         Add support for multiple gnulib-tool invocations in the scope of a
95458         single configure.ac file.
95459         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
95460         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
95461         with the same contents as the _LIBADD variable.
95462         (func_emit_initmacro_start, func_emit_initmacro_end,
95463         func_emit_initmacro_done): New functions.
95464         (func_import, func_create_testdir): Invoke them. Allow the identifiers
95465         gl_LIBOBJS and gl_LTLIBOBJS.
95467 2006-10-11  Bruno Haible  <bruno@clisp.org>
95469         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
95470         (func_create_testdir): Don't create po/Makefile.am, don't invoke
95471         autoreconf. Instead, invoke autopoint explicitly but move back the
95472         *.m4 files from gnulib.
95474 2006-10-11  Bruno Haible  <bruno@clisp.org>
95476         * gnulib-tool (func_usage): Make module names after --create-testdir
95477         optional.
95478         (func_create_testdir): If no module was specified, use nearly all
95479         modules.
95481 2006-10-12  Jim Meyering  <jim@meyering.net>
95483         Big performance improvement for fts-based tools that use FTS_NOSTAT.
95484         Avoid spurious inode-mismatch problems on non-POSIX file systems.
95485         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
95486         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
95487         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
95488         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
95489         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
95490         (fts_set_stat_required): New function.
95491         (fts_open): Defer the calls to fts_stat, if possible or requested.
95492         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
95493         into fts_stat itself.
95494         (fts_read): Perform any required (deferred) fts_stat call.
95495         (fts_build): Likewise, for the directory we're about to open and read.
95496         In the readdir loop, carefully decide whether each entry will require
95497         an eventual call to fts_stat, using dirent.d_type info if available.
95498         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
95499         a command line argument into this function.  Update all callers.
95500         Map a return value of FTS_DOT to FTS_D for a command line argument.
95501         * modules/fts (Depends-on): Add d-type.  Alphabetize.
95502         Thanks to Miklos Szeredi for his tenacity and for the initial
95503         bug report about "find" failing on a FUSE-based file system.
95505         * lib/fts.c (fts_open): Use consistent indentation.
95507 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95509         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
95510         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
95511         reported by Jim Meyering.  All uses of cache variables renamed
95512         to match Autoconf's.
95513         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
95514         the other one.
95516         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
95517         Fix misspelling in diagnostic.
95519 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95521         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
95522         defined.  Problem reported by Matthew Woehlke.
95524         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
95525         Add support for Tandem NonStop R series.
95526         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
95527         Use new macro.
95529         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
95530         (has_trailing_slash): Omit size arg; all callers changed.
95531         Omit 'inline', since it doesn't help performance and we'd
95532         need to configure it.
95533         Don't count //, ///, etc. as having a trailing slash.
95534         As a side effect, this removes a C99ism reported by Matthew Woehlke.
95535         (rpl_rename_dest_slash): On failure, use rename's errno rather
95536         than (in some cases) an incorrect or junk errno.
95537         Simplify code by removing need to compute length; this does
95538         cause it to make two passes instead of one over the file name,
95539         but it's worth it.
95541         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
95542         change, since Autoconf's version may no longer be appropriate now
95543         that we are using CVS Autoconf's version.  Add support for Tandem.
95545 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95546             Bruno Haible  <bruno@clisp.org>
95548         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
95549         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
95550         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
95551         gl_AC_TYPE_LONG_LONG.
95553         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
95554         instead of HAVE_LONG_LONG.
95555         * lib/printf-args.c (printf_fetchargs): Likewise.
95556         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
95557         * lib/vasnprintf.c (VASNPRINTF): Likewise.
95558         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
95559         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
95560         gl_AC_TYPE_LONG_LONG.
95562 2006-10-11  Bruno Haible  <bruno@clisp.org>
95564         * m4/longlong.m4: Add comments.
95565         * m4/ulonglong.m4: Likewise.
95567 2006-10-10  Bruno Haible  <bruno@clisp.org>
95569         Make it possible to #define stpcpy, strdup to aliases.
95570         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
95571         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
95573 2006-10-10  Bruno Haible  <bruno@clisp.org>
95575         Make it possible to #define gcd to an alias.
95576         * lib/gcd.c: Include config.h.
95578 2006-10-10  Bruno Haible  <bruno@clisp.org>
95580         Make it possible to #define c_isascii to an alias.
95581         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
95582         defined. Undefine the macros before defining them, to avoid gcc
95583         warnings.
95584         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
95585         define NO_C_CTYPE_MACROS early.
95587 2006-10-10  Bruno Haible  <bruno@clisp.org>
95589         Make it possible to #define set_program_name to an alias.
95590         * lib/progname.c: Don't undefine set_program_name; instead, undefine
95591         ENABLE_RELOCATABLE early.
95593 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
95595         Port to Tandem NSK OSS, which has 64-bit signed int but at most
95596         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
95597         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
95598         More generally, don't assume that 64-bit signed int is available
95599         if unsigned int is, and vice versa.
95600         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
95601         unsigned symbols, not on their signed counterparts.
95602         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
95603         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
95604         (UINT64_C, UINTMAX_C):
95605         Likewise.
95606         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
95607         unsigned counterparts.
95608         (Have_long_long, Unsigned): New macros.
95609         (Int): Renamed from INT.
95610         (strtoimax): Use the new macros.
95611         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
95612         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
95613         * modules/inttypes (inttypes.h): Substitute
95614         HAVE_UNSIGNED_LONG_LONG_INT.
95615         * modules/stdint (stdint.h): Likewise.
95616         (Files): Add m4/ulonglong.m4.
95618 2006-10-10  Bruno Haible  <bruno@clisp.org>
95620         Fix a gcc -Wshadow warning.
95621         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
95622         to 'bucket'.
95623         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
95624         gl_linked_indexof_from_to): Likewise.
95625         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
95626         Likewise.
95627         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
95628         Likewise.
95629         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
95630         Reported by Eric Blake.
95632 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
95634         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
95635         for NetBSD.  Problem reported by Bruno Haible.
95637 2006-10-09  Jim Meyering  <jim@meyering.net>
95639         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
95640         Patch from Bruno Haible.
95642 2006-10-09  Jim Meyering  <jim@meyering.net>
95644         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
95645         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
95646         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
95648 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
95650         Don't include <config.h> twice; this doesn't work in some cases,
95651         e.g., when config.h has "#define intmax_t long long int" and
95652         we include <config.h>, <inttypes.h>, <config.h> in that order.
95653         Problem reported by Matthew Woehlke in:
95654         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
95655         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
95656         * lib/fts-cycle.c: Don't include config.h.
95657         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
95658         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
95659         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
95660         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95661         inttypes.h.
95662         * lib/xstrtoumax.c: Likewise.
95663         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
95664         __strtol and the like, so that this module is more like its siblings.
95665         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
95666         Remove; no longer needed now that we assume gnulib inttypes.h.
95668 2006-10-08  Bruno Haible  <bruno@clisp.org>
95670         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
95671         option.
95673 2006-10-07  Jim Meyering  <jim@meyering.net>
95675         * modules/inttypes (inttypes.h): Revert what seems to have been
95676         an inadvertent part of today's change: use "|", not "/" in the
95677         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
95679 2006-10-07  Bruno Haible  <bruno@clisp.org>
95681         * modules/sublist: New file.
95683 2006-10-07  Bruno Haible  <bruno@clisp.org>
95685         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
95686         * modules/argz (argz.h): Likewise.
95687         * modules/arpa_inet (arpa/inet.h): Likewise.
95688         * modules/byteswap (byteswap.h): Likewise.
95689         * modules/configmake (configmake.h): Likewise.
95690         * modules/fcntl (fcntl.h): Likewise.
95691         * modules/fnmatch (fnmatch.h): Likewise.
95692         * modules/getopt (getopt.h): Likewise.
95693         * modules/glob (glob.h): Likewise.
95694         * modules/inttypes (inttypes.h): Likewise.
95695         * modules/netinet_in (netinet/in.h): Likewise.
95696         * modules/poll (poll.h): Likewise.
95697         * modules/stdbool (stdbool.h): Likewise.
95698         * modules/stdint (stdint.h): Likewise.
95699         * modules/sys_select (sys/select.h): Likewise.
95700         * modules/sys_socket (sys/socket.h): Likewise.
95701         * modules/sys_stat (sys/stat.h): Likewise.
95702         * modules/sysexits (sysexits.h): Likewise.
95703         * modules/unistd (unistd.h): Likewise.
95704         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95705         Add a "DO NOT EDIT" comment to the generated file.
95706         (func_import): Likewise for gnulib-comp.m4.
95708 2006-10-07  Bruno Haible  <bruno@clisp.org>
95710         * lib/gl_sublist.h: New file.
95711         * lib/gl_sublist.c: New file.
95713 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
95715         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
95716         name (relative to the original working directory) and the file
95717         name component (relative to the temporary working directory).  All
95718         callers changed.
95719         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
95720         * lib/mkdir-p.c (make_dir_parents): Likewise.
95721         * lib/mkdir-p.h (make_dir_parents): Likewise.
95723 2006-10-06  Eric Blake  <ebb9@byu.net>
95725         Define several macros for use by the clean-temp module.
95726         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
95727         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
95728         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
95730         * lib/clean-temp.h (close_stream_temp): New declaration.
95731         * lib/clean-temp.c (includes): Pull in headers according to what
95732         other modules are in use.
95733         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
95735 2006-10-06  Bruno Haible  <bruno@clisp.org>
95737         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
95738         instead of fopen, fwriteerror.
95740 2006-10-06  Bruno Haible  <bruno@clisp.org>
95742         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95743         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95744         int.
95745         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95746         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95747         Return an error indicator.
95748         Suggested by Eric Blake.
95750 2006-10-06  Bruno Haible  <bruno@clisp.org>
95752         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95753         Reported by Eric Blake.
95755 2006-10-06  Bruno Haible  <bruno@clisp.org>
95757         * modules/closeout (Description): Mention stderr too.
95759 2006-10-06  Bruno Haible  <bruno@clisp.org>
95760         and Paul Eggert  <eggert@cs.ucla.edu>
95762         * lib/closeout.c (close_stdout): Also close stderr.
95763         * lib/closeout.h: Update comment.
95765 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95767         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95768         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95769         * lib/dirchownmod.c: Include lchown.h.
95770         * lib/lchown.c: Don't include files that lchown.h now includes.
95771         Don't declare chown, since lchown.h now does that.
95772         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95773         (lchown): Define to rpl_chown if lchown is declared but
95774         does not exist.  Declare using a prototype if lchown is not
95775         declared.  Add a copyright notice.
95776         * lib/mkstemp.h: Include <unistd.h>.
95777         * lib/openat.c: Include lchown.h.
95779         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95780         we now test for that separately.
95781         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95782         rather than O_NOFOLLOW, when testing whether it's possible to
95783         avoid a race condition reliably.
95784         * lib/savewd.c (savewd_chdir): Likewise.
95786         Remove macros that are no longer needed now that stdint.h is
95787         reliable.
95788         * lib/fsusage.c (UINTMAX_MAX): Remove.
95789         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95790         * lib/utimecmp.c (SIZE_MAX): Remove.
95792         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95794         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95795         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95796         O_NOATIME works.
95798 2006-10-05  Bruno Haible  <bruno@clisp.org>
95800         * lib/gl_list.h (gl_sortedlist_search_from_to,
95801         gl_sortedlist_indexof_from_to): New declarations.
95802         (gl_list_implementation): New fields sortedlist_search_from_to,
95803         sortedlist_indexof_from_to.
95804         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95805         inline functions.
95806         * lib/gl_list.c (gl_sortedlist_search_from_to,
95807         gl_sortedlist_indexof_from_to): New functions.
95808         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95809         function.
95810         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95811         (gl_array_sortedlist_search_from_to): New function.
95812         (gl_array_list_implementation): Update.
95813         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95814         function.
95815         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95816         (gl_carray_sortedlist_search_from_to): New function.
95817         (gl_carray_list_implementation): Update.
95818         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95819         gl_linked_sortedlist_indexof_from_to): New functions.
95820         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95821         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95822         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95823         gl_tree_sortedlist_indexof_from_to): New functions.
95824         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95825         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95826         Update.
95827         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95828         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95829         Update.
95831 2006-10-05  Bruno Haible  <bruno@clisp.org>
95833         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95834         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95835         (struct gl_list_implementation): Add fields search_from_to,
95836         indexof_from_to. Remove fields search, indexof.
95837         (gl_list_search): Use the search_from_to method.
95838         (gl_list_search_from, gl_list_search_from_to): New functions.
95839         (gl_list_indexof): Use the indexof_from_to method.
95840         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95841         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95842         (gl_list_search_from, gl_list_search_from_to): New functions.
95843         (gl_list_indexof): Use the indexof_from_to method.
95844         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95845         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95846         gl_array_indexof. Add start_index, end_index arguments.
95847         (gl_array_search_from_to): Renamed from gl_array_search. Add
95848         start_index, end_index arguments.
95849         (gl_array_remove, gl_array_list_implementation): Update.
95850         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95851         gl_carray_indexof. Add start_index, end_index arguments.
95852         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95853         start_index, end_index arguments.
95854         (gl_carray_remove, gl_carray_list_implementation): Update.
95855         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95856         gl_linked_search. Add start_index, end_index arguments.
95857         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95858         start_index, end_index arguments.
95859         (gl_linked_remove): Update.
95860         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95861         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95862         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95863         field to 'size_t'.
95864         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95865         gl_tree_search. Add start_index, end_index arguments.
95866         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95867         start_index, end_index arguments.
95868         (gl_tree_remove): Update.
95869         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95870         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95871         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95872         function.
95873         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95874         gl_tree_search. Add start_index, end_index arguments.
95875         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95876         start_index, end_index arguments.
95877         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95878         Update.
95879         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95881 2006-10-05  Bruno Haible  <bruno@clisp.org>
95883         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95885         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95886         fwriteerror_temp): New declarations.
95887         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95888         (descriptors): New variable.
95889         (cleanup): First, close the descriptors.
95890         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95891         fclose_temp, fwriteerror_temp): New functions.
95893 2006-10-04  Jim Meyering  <jim@meyering.net>
95895         * lib/fts.c (fts_open): Tiny comment change.
95897 2006-10-04  Bruno Haible  <bruno@clisp.org>
95899         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95900         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95901         gl_LOCK_BODY.
95902         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95903         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95904         gl_LOCK_EARLY_BODY.
95905         (gl_LOCK): Require gl_LOCK_BODY.
95907 2006-10-04  Bruno Haible  <bruno@clisp.org>
95909         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95910         (gl_oset_search_atleast): New declaration.
95911         (struct gl_oset_implementation): Add field 'search_atleast'.
95912         (gl_oset_search_atleast): New inline function.
95913         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95914         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95915         (gl_array_oset_implementation): Update.
95916         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95917         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95918         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95920 2006-10-04  Bruno Haible  <bruno@clisp.org>
95922         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95924 2006-10-03  Bruno Haible  <bruno@clisp.org>
95926         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95927         from gl_avltreehash_list_implementation.
95929 2006-10-03  Bruno Haible  <bruno@clisp.org>
95931         * lib/gl_oset.c (gl_oset_add): Fix return type.
95933 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95935         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95937 2006-10-02  Eric Blake  <ebb9@byu.net>
95939         * modules/strnlen (Depends-on): Add extensions.
95941 2006-10-02  Eric Blake  <ebb9@byu.net>
95943         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95944         definition in 2.60+.
95946 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95948         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95949         checks.
95951 2006-10-02  Bruno Haible  <bruno@clisp.org>
95953         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95954         to the AUTOMAKE_OPTIONS.
95955         Reported by Jim Meyering.
95957 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95959         Work around bug in Solaris 10 /proc file system:
95960         /proc/self/fd/NNN/.. isn't the parent directory of
95961         the directory whose file descriptor is NNN.  This needs to
95962         be worked around at run time, not compile time, since a
95963         program might be built on Solaris 8, where things work, and
95964         run on Solaris 10.
95965         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
95966         to use the following interface instead:
95967         (OPENAT_BUFFER_SIZE): New macro.
95968         (openat_proc_name): New function.
95969         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
95970         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
95971         Likewise.
95972         * lib/openat-proc.c: New file.
95973         * modules/openat (Files): Add lib/openat-proc.c.
95974         (Depends-on): Add same-inode, stdbool.
95975         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
95977 2006-09-29  Bruno Haible  <bruno@clisp.org>
95979         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
95980         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
95981         argument. Set stdout_closed before testing for ferror, not after.
95982         (fwriteerror, fwriteerror_no_ebadf): New functions.
95984 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95986         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
95988 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
95990         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
95991         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
95993 2006-09-28  Jim Meyering  <jim@meyering.net>
95995         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
95996         Include <unistd.h>.
95998 2006-09-28  Bruno Haible  <bruno@clisp.org>
96000         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
96001         * modules/linkedhash-list (Depends-on): Likewise.
96002         * modules/rbtreehash-list (Depends-on): Likewise.
96004 2006-09-28  Bruno Haible  <bruno@clisp.org>
96006         * lib/strndup.h: Simplify the redefinition of strndup.
96007         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
96008         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
96010 2006-09-28  Bruno Haible  <bruno@clisp.org>
96012         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
96013         * lib/gl_linkedhash_list.c: Likewise.
96014         * lib/gl_rbtreehash_list.c: Likewise.
96016 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
96018         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
96019         getaddrinfo.
96021         * lib/__fpending.h: Don't include <stdio_ext.h> unless
96022         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
96023         it causes <stdio_ext.h> to cause a compile-time error.
96024         Problem reported by Nelson H. F. Beebe.
96025         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
96026         of HAVE_DECL___PENDING.
96028         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
96029         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
96030         declaration.
96032 2006-09-27  Jim Meyering  <jim@meyering.net>
96034         This file could end up with a definition for a function
96035         named __strndup, rather than rpl_strndup on a system with
96036         incomplete weak_alias support.
96037         * lib/strndup.c (strndup): Rename from __strndup.
96038         Remove #defines that used to map __strndup to strndup.
96039         Don't use K&R prototypes.
96040         Remove LIBC-related code, since this file is not sync'd with glibc.
96041         * lib/strndup.h: Revamp, accordingly.
96042         * m4/strndup.m4: Modernize.
96044 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
96046         * modules/savewd (Depends-on): Add 'raise'.
96047         * lib/savewd.c: Include <signal.h>, for 'raise'.
96049 2006-09-26  Jim Meyering  <jim@meyering.net>
96051         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
96052         when we detect Darwin 8.7.0's acl_get_file bug.
96053         Rearrange to perform the new (below) run-test while $LIBS
96054         contains any acl-related library.  Set USE_ACL at the end.
96055         (gl_ACL_GET_FILE): New function.
96057 2006-09-26  Eric Blake  <ebb9@byu.net>
96059         * lib/verror.c: Include <config.h> unconditionally.
96061 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
96063         * modules/clock-time (Maintainer): Add self.
96064         * modules/getlogin_r (Depends-on): Add extensions.
96066 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96068         * modules/clock-time: New module.
96069         * modules/nanosleep (Depends-on): Add clock-time.
96070         * modules/gethrxtime (Depends-on): Likewise.
96071         * modules/gettime (Depends-on): Likewise.
96072         * modules/settime (Depends-on): Likewise.
96074         * modules/fts-lgpl: Depend on openat.
96075         * modules/mkancesdirs: Depend on savewd.
96076         * modules/mkdir-p: Likewise.
96078 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96080         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
96082         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
96083         `gl_have_arbitrary_file_name_length_limit' to
96084         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
96085         actually works between configure runs.
96087 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96088             Bruno Haible  <bruno@clisp.org>
96090         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
96092 2006-09-25  Jim Meyering  <jim@meyering.net>
96094         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
96095         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
96097 2006-09-25  Eric Blake  <ebb9@byu.net>
96099         * gnulib-tool (func_import, func_create_testdir): Fix typos in
96100         exec's in 2006-09-18 patch when shuffling fds.
96102 2006-09-25  Bruno Haible  <bruno@clisp.org>
96104         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
96105         Reported by Jim Meyering.
96107 2006-09-24  Jim Meyering  <jim@meyering.net>
96109         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
96110         compare a pointer against a literal "0".  That caused failures with
96111         at least HP-UX's hpcc.
96113 2006-09-22  Simon Josefsson  <jas@extundo.com>
96115         * modules/gc-sha1:
96116         * modules/gc-md4:
96117         * modules/gc-hmac-sha1:
96118         * modules/gc-hmac-md5:
96119         * modules/gc-des:
96120         * modules/gc-arcfour: Distribute more files.
96122 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96124         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
96125         (gl_linked_iterator_from_to): Initialize struct completely.
96126         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
96127         (gl_tree_iterator_from_to): Likewise
96128         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
96129         * lib/gl_array_list.c [lint] (gl_array_iterator)
96130         (gl_array_iterator_from_to): Likewise.
96131         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
96132         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
96133         (gl_carray_iterator_from_to): Likewise.
96135         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
96136         * lib/md4.c (md4_process_block): Remove unused variable.
96137         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
96138         parentheses for clarity.
96140 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96142         * modules/bison-i18n (Depends-on): Add gettext.
96144 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96146         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
96147         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
96148         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
96149         also add missing comma that caused broken test.
96150         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
96151         stdlib.h, for `abort'.
96152         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
96153         variables.
96154         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
96155         include unistd.h if present, for `rmdir'.
96156         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
96157         variables.
96158         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
96159         in the process include standard headers for prototypes.
96160         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
96161         gets declared on GNU/Linux.
96162         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
96163         unistd.h, for `rmdir'.
96164         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
96166         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
96167         always true.
96168         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
96170         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
96172 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96174         * gnulib-tool (func_version): Create output all at once.  This
96175         may help avoid triggering unnecessary SIGPIPEs, and at any
96176         rate it doesn't hurt.
96178 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96179             Bruno Haible  <bruno@clisp.org>
96181         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
96182         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
96183         * m4/signed.m4 (bh_C_SIGNED): Likewise.
96185         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
96186         (gl_FUNC_VASPRINTF): Invoke it.
96188 2006-09-22  Bruno Haible  <bruno@clisp.org>
96190         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
96191         getloadavg.c as first argument.
96193 2006-09-22  Bruno Haible  <bruno@clisp.org>
96195         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
96196         at the beginning of the gl_INIT macro.
96197         * modules/getloadavg (configure.ac): Pass $gl_source_base to
96198         gl_GETLOADAVG.
96200 2006-09-22  Bruno Haible  <bruno@clisp.org>
96202         * gnulib-tool (func_create_megatestdir): Don't include the config-h
96203         module.
96204         Suggested by Ralf Wildenhues.
96206 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
96208         Import this patch from libc:
96210         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
96212         * lib/regex_internal.c (re_string_reconstruct): Handle
96213         offset < pstr->valid_raw_len && pstr->offsets_needed case.
96214         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
96215         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
96216         re_string_context_at.
96218         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
96219         now requires it.
96220         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
96221         gl_REGEX now does it for us.
96222         (gl_REGEX): Add test taken from
96223         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
96225         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
96226         Check that large offsets work.  Modernize Autoconf usages.
96227         Prefer "yes" to mean a good thing rather than a bad.
96228         Don't put "#define mkstemp" in config.h, as this might interfere
96229         with standard system headers that "#define mkstemp mkstemp64".
96231         * modules/mkstemp (Depends-on): Add extensions, so that
96232         mkstemp is visible on some platforms.
96233         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
96234         (Include): Change to "mkstemp.h" from <stdlib.h>.
96235         (Files): Add mkstemp.h.
96237         * lib/mkstemp.h: New file, since some standard headers
96238         #define mkstemp.
96239         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
96240         Include "mkstemp.h".
96241         Make the _LIBC code resemble glibc original more,
96242         e.g., use K&R style.
96243         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
96244         (mkstemp): Remove, since mkstemp.h does this for us.
96245         * lib/stdlib--.h: Include mkstemp.h.
96247         Import this patch from libc:
96249         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96251         * lib/tempname.c (__gen_tempname): Change attempts_min
96252         into a macro.  Use preprocessor to decide how to initialize
96253         attempts [Coverity CID 67].
96255 2006-09-20  Bruno Haible  <bruno@clisp.org>
96257         * lib/mkdtemp.c: Import from libc.
96258         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96259                 * sysdeps/posix/tempname.c (__gen_tempname): Change
96260                 attempts_min into a macro.  Use preprocessor to decide how to
96261                 initialize attempts [Coverity CID 67].
96262         2001-11-27  Paul Eggert  <eggert@twinsun.com>
96263                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
96264                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
96266 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96268         * gnulib-tool (func_exit): New function, to allow to pass the
96269         exit status portably through the trap.  Use everywhere.
96270         (--help, --version): Signal a write error.
96271         (trap): catch SIGPIPE, for write errors.
96272         Exit at the end of the trap, with the correct exit status.
96274 2006-09-19  Karl Berry  <karl@gnu.org>
96276         * doc/gnulib.texi: note about the license texinfo files.
96278 2006-09-19  Eric Blake  <ebb9@byu.net>
96280         * gnulib-tool: Avoid space-tab.
96282 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96284         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
96285         that prevented coreutils 6.1 from building.  Problem reported
96286         by Petter Reinholdtsen.
96288 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96290         * gnulib-tool (avoidlist): Fix typo that broke options like
96291         --avoid=lock that are used by coreutils bootstrap.
96293 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
96295         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
96296         more systematically.
96298 2006-09-18  Jim Meyering  <jim@meyering.net>
96300         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
96302 2006-09-18  Bruno Haible  <bruno@clisp.org>
96304         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
96306 2006-09-18  Bruno Haible  <bruno@clisp.org>
96308         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
96309         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
96310         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
96311         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
96312         * m4/gettext.m4: Require autoconf >= 2.52.
96313         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
96314         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
96315         of gl_cv_header_inttypes_h.
96317 2006-09-18  Bruno Haible  <bruno@clisp.org>
96319         * lib/javaversion.c: Include configmake.h.
96321 2006-09-18  Bruno Haible  <bruno@clisp.org>
96323         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
96324         avoid that the while loops be executed in a subshell.
96326 2006-09-18  Bruno Haible  <bruno@clisp.org>
96328         * MODULES.html.sh (func_module): Break long lines.
96329         Suggested by Bruce Korb <bkorb@gnu.org>.
96331 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96333         Speed up by a factor of 1.12.
96334         * gnulib-tool (nl): New variable.
96335         (func_import): Rewrite include directive extraction to only read each
96336         directive once.
96338 2006-09-17  Bruno Haible  <bruno@clisp.org>
96340         * modules/javaversion (Makefile.am): Remove DEFS setting.
96341         (Depends-on): Add configmake, for PKGDATADIR definition.
96343 2006-09-17  Bruno Haible  <bruno@clisp.org>
96345         * gnulib-tool (func_create_testdir): Rewrite all files at once.
96347 2006-09-17  Bruno Haible  <bruno@clisp.org>
96349         * gnulib-tool (func_append): New function, stolen from libtool.m4.
96350         (func_modules_transitive_closure, func_modules_add_dummy,
96351         func_modules_to_filelist, func_import, func_create_testdir,
96352         func_create_megatestdir, ...): Use it wherever possible.
96353         Suggested by Ralf Wildenhues.
96355 2006-09-16  Karl Berry  <karl@gnu.org>
96357         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
96358         to avoid sectioning errors.
96359         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
96360         [ifinfo]: blank line after @center-ed titles.
96361         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
96362         Spell FSF address consistently with others.
96363         (These changes approved by rms.)
96365 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96367         Speed up by a factor of 1.61.
96368         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
96369         already checked module names again.
96371 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96373         Speed up by a factor of 1.13.
96374         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
96375         for new_files, and the input to func_add_or_update.
96377 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96379         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
96380         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
96382 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96384         * modules/mkancesdirs (Depends-on): Add fcntl.
96385         * modules/savewd: New file.
96386         * MODULES.html.sh (File system functions): Add savewd.
96388         * modules/configmake (Makefile.am): Add support for the
96389         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
96391 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96393         * m4/savewd.m4: New file.
96395 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96397         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
96398         (dirchownmod): New arg FD.  All callers changed.
96399         Use FD rather than opening the directory ourself, as opening is
96400         now the caller's responsibility.
96401         * lib/dirchownmod.h: Likewise.
96402         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
96403         hosts that require <sys/types.h> before <sys/stat.h>.  Include
96404         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
96405         (test_dir): Remove.
96406         (mkancesdirs): Return length of prefix of FILE that has already
96407         been made, or -2 if there is a child doing the work.  Redo
96408         algorithm so that it is O(N) rather than O(N**2).  Optimize away
96409         ".", and treat ".." specially since it might stray back into
96410         already-created areas.  Use a subprocess if necessary.  New arg
96411         WD; all users changed.  MAKE_DIR function should now return 1
96412         if it creates a directory that is not readable.  Return -2 if
96413         a child process is spun off.
96414         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
96415         Adjust signature to match code.
96416         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
96417         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
96418         all users changed.
96419         * lib/savewd.c, lib/savewd.h: New files.
96421 2006-09-15  Jim Meyering  <jim@meyering.net>
96423         * modules/rename-dest-slash: New module.
96424         * MODULES.html.sh (posix_compat): Add it here.
96426         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
96428 2006-09-15  Jim Meyering  <jim@meyering.net>
96430         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
96431         file.
96433         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
96435 2006-09-15  Jim Meyering  <jim@meyering.net>
96437         * lib/rename-dest-slash.c (has_trailing_slash): Use
96438         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
96439         (rpl_rename_dest_slash): Perform the cheaper trailing slash
96440         test before testing whether SRC is a directory.
96441         Suggestions from Bruno Haible.
96443         Avoid a warning about an unused variable.
96444         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
96445         into the #ifdef block where it's used.
96447         * lib/rename-dest-slash.c: New file.
96449 2006-09-14  Bruno Haible  <bruno@clisp.org>
96451         * lib/allocsa.c: Include <config.h> unconditionally.
96452         * lib/asnprintf.c: Likewise.
96453         * lib/asprintf.c: Likewise.
96454         * lib/c-strcasecmp.c: Likewise.
96455         * lib/c-strcasestr.c: Likewise.
96456         * lib/c-strncasecmp.c: Likewise.
96457         * lib/c-strstr.c: Likewise.
96458         * lib/classpath.c: Likewise.
96459         * lib/clean-temp.c: Likewise.
96460         * lib/concatpath.c: Likewise.
96461         * lib/copy-file.c: Likewise.
96462         * lib/csharpcomp.c: Likewise.
96463         * lib/csharpexec.c: Likewise.
96464         * lib/execute.c: Likewise.
96465         * lib/fatal-signal.c: Likewise.
96466         * lib/findprog.c: Likewise.
96467         * lib/fwriteerror.c: Likewise.
96468         * lib/gl_array_list.c: Likewise.
96469         * lib/gl_array_oset.c: Likewise.
96470         * lib/gl_avltree_list.c: Likewise.
96471         * lib/gl_avltree_oset.c: Likewise.
96472         * lib/gl_avltreehash_list.c: Likewise.
96473         * lib/gl_carray_list.c: Likewise.
96474         * lib/gl_linked_list.c: Likewise.
96475         * lib/gl_linkedhash_list.c: Likewise.
96476         * lib/gl_list.c: Likewise.
96477         * lib/gl_oset.c: Likewise.
96478         * lib/gl_rbtree_list.c: Likewise.
96479         * lib/gl_rbtree_oset.c: Likewise.
96480         * lib/gl_rbtreehash_list.c: Likewise.
96481         * lib/imaxabs.c: Likewise.
96482         * lib/imaxdiv.c: Likewise.
96483         * lib/javacomp.c: Likewise.
96484         * lib/javaexec.c: Likewise.
96485         * lib/javaversion.c: Likewise.
96486         * lib/linebreak.c: Likewise.
96487         * lib/localcharset.c: Likewise.
96488         * lib/lock.c: Likewise.
96489         * lib/mbchar.c: Likewise.
96490         * lib/mbswidth.c: Likewise.
96491         * lib/mkdtemp.c: Likewise.
96492         * lib/pipe.c: Likewise.
96493         * lib/printf-args.c: Likewise.
96494         * lib/printf-parse.c: Likewise.
96495         * lib/progname.c: Likewise.
96496         * lib/progreloc.c: Likewise.
96497         * lib/readlink.c: Likewise.
96498         * lib/sh-quote.c: Likewise.
96499         * lib/stpcpy.c: Likewise.
96500         * lib/stpncpy.c: Likewise.
96501         * lib/strcasecmp.c: Likewise.
96502         * lib/strcasestr.c: Likewise.
96503         * lib/strcspn.c: Likewise.
96504         * lib/striconv.c: Likewise.
96505         * lib/strncasecmp.c: Likewise.
96506         * lib/strnlen1.c: Likewise.
96507         * lib/strstr.c: Likewise.
96508         * lib/strtok_r.c: Likewise.
96509         * lib/tls.c: Likewise.
96510         * lib/tmpdir.c: Likewise.
96511         * lib/unicodeio.c: Likewise.
96512         * lib/unsetenv.c: Likewise.
96513         * lib/vasnprintf.c: Likewise.
96514         * lib/vasprintf.c: Likewise.
96515         * lib/wait-process.c: Likewise.
96516         * lib/xallocsa.c: Likewise.
96517         * lib/xsetenv.c: Likewise.
96518         * lib/xstriconv.c: Likewise.
96520 2006-09-13  Simon Josefsson  <jas@extundo.com>
96522         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
96523         that internally, suggested by Ralf Wildenhues
96524         <Ralf.Wildenhues@gmx.de>.
96526 2006-09-13  Simon Josefsson  <jas@extundo.com>
96528         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
96529         @LIBOBJS@.
96530         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96532 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96534         * lib/_fpending.c: Include <config.h> unconditionally, since we no
96535         longer worry about uses that don't define HAVE_CONFIG_H.
96536         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
96537         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
96538         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
96539         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
96540         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
96541         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
96542         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
96543         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
96544         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
96545         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
96546         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
96547         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
96548         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
96549         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
96550         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
96551         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
96552         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
96553         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
96554         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
96555         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
96556         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
96557         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
96558         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
96559         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
96560         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
96561         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
96562         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
96563         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
96564         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
96565         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
96566         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
96567         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
96568         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
96569         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
96570         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
96571         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
96572         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
96573         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
96574         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
96575         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
96576         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
96577         Likewise.
96579 2006-09-13  Eric Blake  <ebb9@byu.net>
96581         * lib/getopt.c: Fix typo in last commit.
96583 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96585         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
96586         dgettext.
96588 2006-09-12  Jim Meyering  <jim@meyering.net>
96590         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
96591         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
96592         Reported by Nelson H. F. Beebe.
96594 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96596         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
96597         program_invocation_name and program_invocation_short_name are
96598         initialized.
96599         * lib/argp-namefrob.h: Move declarations of program_invocation_name
96600         and program_invocation_short_name to argp.h, so they are visible
96601         to user programs.
96602         * lib/argp.h: Likewise
96604 2006-09-10  Bruno Haible  <bruno@clisp.org>
96606         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96607         m4/inttypes_h.m4, m4/uintmax_t.m4.
96609 2006-09-10  Bruno Haible  <bruno@clisp.org>
96611         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
96612         gl_AC_TYPE_UINTMAX_T.
96614 2006-09-10  Bruno Haible  <bruno@clisp.org>
96616         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
96618 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
96620         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
96621         convention.  Text proposed by Bruno Haible.
96622         (struct argp_option): Document the use of N_() wrappers.
96624         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
96625         '\v', and translate the two parts separately, instead of feeding
96626         the whole string to gettext.  This allows to exclude
96627         '\v' from the strings visible to the translator by writing doc
96628         strings as N_("..") "\v" N_("..").
96630 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
96632         * config/srclist.txt: Undo latest change; the bug was fixed.
96634 2006-09-09  Bruno Haible  <bruno@clisp.org>
96636         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
96637         assignments if building a library without libtool.
96638         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
96639         in func_emit_lib_Makefile_am.
96640         (func_import): When building a static library libfoo.a, arrange to
96641         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
96642         (func_create_testdir): Likewise.
96643         * modules/gc (configure.ac, Makefile.am): If building statically,
96644         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
96645         * modules/iconvme (configure.ac, Makefile.am): Likewise.
96646         * modules/striconv (configure.ac, Makefile.am): Likewise.
96647         Based on a suggestion by Ralf Wildenhues.
96649 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96651         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
96652         Check for unistd.h too, since Autoconf doesn't assume POSIX.
96653         Also:
96655         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96656         Add year_2050_test to catch glibc bug 2821
96657         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96659         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96660         Prefer #ifdef to #if.
96662         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
96663         Return from 'main' instead of calling 'exit'.
96665 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96667         * lib/mktime.c (guess_time_tm): Fix bug where mktime
96668         returned the maximum time_t value rather than (time_t) -1.
96669         Problem originally reported by William Bardwell
96670         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96672         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96673         Moved to here ...
96674         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96675         ... from here.
96677 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96679         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
96680         2821 is fixed.
96682 2006-09-08  Jim Meyering  <jim@meyering.net>
96684         Don't make generated files read-only.  That would bother too many
96685         people.  However, do retain the ability to work when targets are
96686         read-only: remove the destination and temporary files before writing
96687         them (when generated via sed or echo), or by using the -f option for
96688         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
96689         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96690         * modules/byteswap, modules/configmake, modules/fcntl:
96691         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96692         * modules/localcharset, modules/netinet_in, modules/poll:
96693         * modules/stdbool, modules/stdint, modules/sys_select:
96694         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96696 2006-09-08  Jim Meyering  <jim@meyering.net>
96698         Avoid new build failure on FreeBSD 6.0.
96699         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
96700         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
96701         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
96703 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96705         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
96707 2006-09-07  Jim Meyering  <jim@meyering.net>
96709         Fix global typo in last change: use chmod u-w, not chmod u-x.
96710         Spotted by Paul Eggert and Bruce Korb.
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-06  Jim Meyering  <jim@meyering.net>
96720         Make generated files be read-only.
96721         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
96722         Ensure that each generated file is now read-only.
96723         * modules/argz: Likewise.
96724         * modules/arpa_inet: Likewise.
96725         * modules/byteswap: Likewise.
96726         * modules/configmake: Likewise.
96727         * modules/fcntl: Likewise.
96728         * modules/fnmatch: Likewise.
96729         * modules/getopt: Likewise.
96730         * modules/glob: Likewise.
96731         * modules/inttypes: Likewise.
96732         * modules/netinet_in: Likewise.
96733         * modules/poll: Likewise.
96734         * modules/stdbool: Likewise.
96735         * modules/stdint: Likewise.
96736         * modules/sys_select: Likewise.
96737         * modules/sys_socket: Likewise.
96738         * modules/sys_stat: Likewise.
96739         * modules/sysexits: Likewise.
96740         * modules/localcharset: Same as above, but continue using temporary
96741         file named "t-$@" (why different?) rather than the "$@-t" used
96742         everywhere else.
96744         * modules/sysexits (Makefile.am): Replace literal occurrences
96745         of "sysexit.h" more readable, and more consistent, "$@".
96747 2006-09-06  Bruno Haible  <bruno@clisp.org>
96749         * modules/striconv: New file.
96750         * modules/xstriconv: New file.
96751         * MODULES.html.sh (Internationalization functions): Add striconv,
96752         xstriconv.
96754 2006-09-06  Bruno Haible  <bruno@clisp.org>
96756         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96757         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96758         not using libtool correctly.
96760 2006-09-06  Bruno Haible  <bruno@clisp.org>
96762         * lib/striconv.h: New file.
96763         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96764         iconvstring.c.
96765         * lib/xstriconv.h: New file.
96766         * lib/xstriconv.c: New file.
96768 2006-09-06  Bruno Haible  <bruno@clisp.org>
96770         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96771         lib_..._LDFLAGS.
96773 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96775         * lib/argz_.h: Sync from Libtool.
96777         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96778                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96780         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96782 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96784         * modules/trim: New file.
96786 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96788         * lib/trim.h: New file.
96789         * lib/trim.c: New file.
96791 2006-09-05  Bruno Haible  <bruno@clisp.org>
96793         * MODULES.html.sh (String handling): Add trim.
96795 2006-09-04  Karl Berry  <karl@gnu.org>
96797         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96798         until next release.
96800 2006-09-03  Bruno Haible  <bruno@clisp.org>
96802         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96803         correctly.
96805 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96807         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96808         not gl_GETLOADAVG.  Omit unneeded semicolons.
96809         Problems reported by Ralf Wildenhues in
96810         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96811         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96812         at the end, which is the usual gnulib style.
96814         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96815         of doing all the work ourselves.
96816         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96817         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96819 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96821         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96822         Problem reported by Ralf Wildenhues in
96823         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96825         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96826         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96828 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96830         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96831         yesterday's patch by changing test -n to test -z.
96833 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96835         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96836         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96837         the former is now obsolescent.
96839         * modules/chdir-long (Depends-on): Add fcntl.
96841 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96843         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96844         obsolescent, and programs should use gnulib instead.
96845         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96846         but with prefixes changed.
96848 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96850         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96851         or stdbool.h, because they might not exist while configuring.
96853         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96854         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96855         does that for us.
96856         (O_DIRECTORY): Remove.
96858 2006-08-31  Eric Blake  <ebb9@byu.net>
96860         * gnulib-tool: Don't let emacs change spaces to TAB.
96862 2006-08-31  Bruno Haible  <bruno@clisp.org>
96864         * gnulib-tool: When calling func_import more than once, do it in a
96865         subshell.
96866         Reported by Eric Blake <ebb9@byu.net>.
96868 2006-08-31  Bruno Haible  <bruno@clisp.org>
96870         * gnulib-tool (nl): Remove variable.
96871         (sed_transform_lib_file): Use more robust test for config-h module.
96872         (func_import): Fix typo in 2006-08-25 patch.
96874 2006-08-31  Bruno Haible  <bruno@clisp.org>
96876         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96877         specified, augment Makefile.am variables instead of assigning them.
96879 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96881         Work around a bug in both the Linux and SunOS 64-bit kernels:
96882         nanosleep mishandles sleeps for longer than 2**31 seconds.
96883         Problem reported by Frank v Waveren in
96884         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96885         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96886         Check for nanosleep bug.
96887         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96889 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96891         Work around a bug in both the Linux and SunOS 64-bit kernels:
96892         nanosleep mishandles sleeps for longer than 2**31 seconds.
96893         Problem reported by Frank v Waveren in
96894         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96895         * lib/nanosleep.c (BILLION): New constant.
96896         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96897         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96898         implementation.
96900 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96902         * modules/nanosleep (Depends-on): Add gettime.
96904 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96905         and Simon Josefsson  <jas@extundo.com>
96906         and Oskar Liljeblad  <oskar@osk.mine.nu>
96908         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96909         * gnulib-tool (func_import): New license type 'unmodifiable license
96910         text'.
96911         * modules/fdl: Use it.  Longer description.
96912         * module/gpl, module/lgpl: New files.
96914 2006-08-30  Jim Meyering  <jim@meyering.net>
96916         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96917         shadowing the parameter.
96919 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96921         Sync from Libtool:
96923         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96925         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96926         sharing with gnulib.  Report by Eric Blake.
96928 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96930         * modules/isapipe: New file.
96931         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96933 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96935         * modules/configmake (Makefile.am): Add a comment, and omit
96936         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96937         by Bruno Haible.
96939 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96941         * m4/isapipe.m4: New file.
96943 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96945         * lib/isapipe.c, lib/isapipe.h: New files.
96947 2006-08-29  Jim Meyering  <jim@meyering.net>
96949         * modules/configmake (Makefile.am): Make configmake.h depend on
96950         Makefile.  Otherwise, a stale configmake.h could hang around.
96952 2006-08-29  Eric Blake  <ebb9@byu.net>
96954         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96955         resolution of upstream bug 3044.
96957 2006-08-29  Bruno Haible  <bruno@clisp.org>
96959         * modules/localcharset (Depends-on): Add configmake.
96960         (Makefile.am): Remove setting of LIBDIR through DEFS.
96962 2006-08-29  Bruno Haible  <bruno@clisp.org>
96964         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
96965         defined.
96967 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96969         * modules/fcntl: New file.
96970         * modules/chdir-safer (Depends-on): Add fcntl.
96971         * modules/fts: Likewise.
96972         * modules/mkdir-p: Likewise.
96974         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
96975         This undoes the most recent change, since we're now addressing the
96976         problem in a different way.
96978         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
96979         into output, since the output might be called Makefile.am even
96980         if $makefile_name is something different.
96981         (func_import): Use $makefile_am rather than
96982         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
96983         empty.
96985         * modules/inttypes (Files): Add m4/inttypes-h.m4.
96987 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96989         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
96990         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
96991         recent change to stdint.m4, since we're now addressing the problem in a
96992         different way.
96994 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96996         * m4/fcntl_h.m4: New file.
96998 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97000         * lib/fcntl_.h: New file.
97001         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
97002         the fcntl module.
97003         * lib/dirchownmod.c: Likewise.
97004         * lib/fts.c: Likewise.
97006         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
97007         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
97008         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
97009         just before including <inttypes.h>, to avoid circular inclusion.
97011 2006-08-28  Jim Meyering  <jim@meyering.net>
97013         * doc/visibility.texi: Actually read and correct the grammar of the
97014         sentence affected by yesterday's change.
97016 2006-08-28  Eric Blake  <ebb9@byu.net>
97018         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
97019         needs wrapper.
97021 2006-08-28  Eric Blake  <ebb9@byu.net>
97023         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
97025 2006-08-28  Eric Blake  <ebb9@byu.net>
97027         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
97029 2006-08-28  Bruno Haible  <bruno@clisp.org>
97031         * modules/c-strstr: New file, from GNU gettext.
97032         * MODULES.html.sh (String handling): Add c-strstr.
97034 2006-08-28  Bruno Haible  <bruno@clisp.org>
97036         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
97037         macros.
97038         Reported by Eric Blake.
97040 2006-08-28  Bruno Haible  <bruno@clisp.org>
97042         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
97043         (VASNPRINTF): Return a string of length > INT_MAX without failing.
97044         * lib/vasprintf.c: Include errno.h, limits.h.
97045         (EOVERFLOW): New fallback definition.
97046         (vasprintf): Test here whether the string length is > INT_MAX.
97047         * lib/vsnprintf.c: Include errno.h, limits.h.
97048         (EOVERFLOW): New fallback definition.
97049         (vsnprintf): Fix bug when generated string was too long for the buffer.
97050         Test here whether the string length is > INT_MAX.
97052 2006-08-28  Bruno Haible  <bruno@clisp.org>
97054         * lib/inttypes_.h (SCNX*): Remove definitions.
97055         Reported by Eric Blake.
97057 2006-08-28  Bruno Haible  <bruno@clisp.org>
97059         * lib/c-strstr.h: New file, from GNU gettext.
97060         * lib/c-strstr.c: New file, from GNU gettext.
97062 2006-08-28  Bruno Haible  <bruno@clisp.org>
97064         * gnulib-tool: Reorder some statements.
97066 2006-08-28  Bruno Haible  <bruno@clisp.org>
97068         * gnulib-tool: New option --makefile-name.
97069         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
97070         $makefile_name.
97071         (func_import): Write $makefile_name to the cache file, and read it from
97072         there unless explicitly specified. Use $makefile_name as file name
97073         instead of Makefile.am. Adjust the recommendations accordingly.
97075 2006-08-28  Bruno Haible  <bruno@clisp.org>
97077         * gnulib-tool (func_verify_module): Check against misapplying patch.
97079 2006-08-28  Bruno Haible  <bruno@clisp.org>
97081         * gnulib-tool (func_relativize, func_relconcat): New functions.
97082         Give an error if --local-dir is given with --update.
97083         Remove trailing slashes from $local_gnulib_dir.
97084         (func_import): Store the relativized $local_gnulib_dir in
97085         gnulib-cache.m4, and read it from there if not specified explicitly.
97087 2006-08-28  Bruno Haible  <bruno@clisp.org>
97089         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
97090         is the current directory. Respect also $local_gnulib_dir.
97092 2006-08-28  Bruno Haible  <bruno@clisp.org>
97093             Simon Josefsson  <jas@extundo.com>
97095         BeOS portability.
97096         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
97098 2006-08-27  Jim Meyering  <jim@meyering.net>
97100         * doc/visibility.texi: Remove duplicate word: "pointer".
97102 2006-08-26  Bruno Haible  <bruno@clisp.org>
97104         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
97105         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
97106         (Makefile.am): Create inttypes.h from inttypes_.h.
97107         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
97109         * modules/imaxabs: New file.
97111         * modules/imaxdiv: New file.
97113 2006-08-26  Bruno Haible  <bruno@clisp.org>
97115         * m4/inttypes.m4: New file.
97116         * m4/_inttypes_h.m4: Remove file.
97117         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
97118         PRI_MACROS_BROKEN.
97119         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
97121         * m4/imaxabs.m4: New file.
97123         * m4/imaxdiv.m4: New file.
97125 2006-08-26  Bruno Haible  <bruno@clisp.org>
97127         * lib/inttypes_.h: New file.
97128         * lib/inttypes.h: Remove file.
97129         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
97131         * lib/imaxabs.c: New file.
97133         * lib/imaxdiv.c: New file.
97135 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97137         New config-h module, so that "make" output needn't be cluttered
97138         by -DHAVE_CONFIG_H.
97139         * MODULES.html.sh (Support for building libraries and executables):
97140         Add config-h.
97141         * modules/config-h: New file.
97142         * gnulib-tool (nl, sed_transform_lib_file): New vars.
97143         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
97144         the config-h module is used.
97146         New configmake module, so that "make" output needn't be cluttered
97147         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
97148         * MODULES.html.sh (Support for building libraries and executables):
97149         Add configmake.
97150         * modules/configmake: New file.
97152 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97154         * m4/config-h.m4: New file.
97156 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97158         * config/srclist.txt: Add elisp-comp.
97160 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97162         * MODULES.html.sh (Support for building libraries and executables):
97163         Add elisp-comp.
97164         * build-aux/elisp-comp: New file.
97165         * modules/elisp-comp: New file.
97167 2006-08-24  Bruno Haible  <bruno@clisp.org>
97169         * gnulib-tool (func_create_testdir): Use non-default values of
97170         sourcebase and m4base.
97172 2006-08-24  Bruno Haible  <bruno@clisp.org>
97174         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
97175         HTML structure.
97177 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
97179         * modules/openat (Depends-on): Add lchown.
97181 2006-08-23  Bruno Haible  <bruno@clisp.org>
97183         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
97184         of gl_LOCK_EARLY instead of gl_LOCK.
97186 2006-08-23  Bruno Haible  <bruno@clisp.org>
97188         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
97189         on OSF/1 to no.
97190         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
97192 2006-08-23  Bruno Haible  <bruno@clisp.org>
97194         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
97195         as unusable.
97197         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
97198         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
97199         (gl_LOCK): New macro.
97201 2006-08-22  Simon Josefsson  <jas@extundo.com>
97203         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
97204         to md5 module.
97206 2006-08-22  Simon Josefsson  <jas@extundo.com>
97208         * MODULES.html.sh: Add "Support for maintaining and release
97209         projects".
97211         * build-aux/gnupload: New file, from coreutils.
97213 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97215         Avoid the need for AC_LIBSOURCES in m4 macros.
97216         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
97217         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
97218         * modules/check-version (EXTRA_DIST): Add check-version.h.
97219         * modules/crc (EXTRA_DIST): Add crc.h.
97220         * modules/des (EXTRA_DIST): Add des.h.
97221         * modules/gc (EXTRA_DIST): Add gc.h.
97222         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
97223         * modules/getline (EXTRA_DIST): Add getline.h.
97224         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
97225         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
97226         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
97227         * modules/md2 (EXTRA_DIST): Add md2.h.
97228         * modules/md4 (EXTRA_DIST): Add md4.h.
97229         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
97230         * modules/read-file (EXTRA_DIST): Add read-file.h.
97231         * modules/readline (EXTRA_DIST): Add readline.h.
97232         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
97233         rijndael-api-fst.h.
97235 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97237         * m4/rijndael.m4 (gl_ARCFOUR):
97238         * m4/arctwo.m4 (gl_ARCTWO):
97239         * m4/check-version.m4 (gl_CHECK_VERSION):
97240         * m4/crc.m4 (gl_CRC):
97241         * m4/des.m4 (gl_DES):
97242         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
97243         * m4/gc.m4 (gl_GC):
97244         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
97245         * m4/getline.m4 (gl_FUNC_GETLINE):
97246         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
97247         * m4/hmac-md5.m4 (gl_HMAC_MD5):
97248         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
97249         * m4/md2.m4 (gl_MD2):
97250         * m4/md4.m4 (gl_MD4):
97251         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
97252         * m4/read-file.m4 (gl_FUNC_READ_FILE):
97253         * m4/readline.m4 (gl_FUNC_READLINE):
97254         * m4/rijndael.m4 (gl_RIJNDAEL):
97255         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97256         to get the necessary .h files and whatnot.
97258 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97260         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
97261         gnulib rather than the other way around.
97262         * config/srclistvars.sh (COREUTILS): Remove.
97264 2006-08-22  Jim Meyering  <jim@meyering.net>
97266         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
97268         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
97270 2006-08-22  Eric Blake  <ebb9@byu.net>
97272         * modules/regexprops-generic: New file.
97273         * MODULES.html.sh (Support for building documentation): List it.
97275 2006-08-22  Eric Blake  <ebb9@byu.net>
97277         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
97278         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
97279         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
97280         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
97282 2006-08-22  Bruno Haible  <bruno@clisp.org>
97284         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
97285         and lib_LTLIBRARIES like the other lib_* variables.
97287 2006-08-22  Bruno Haible  <bruno@clisp.org>
97289         * build-aux/x-to-1.in: New file, from GNU gettext.
97291 2006-08-22  Bruno Haible  <bruno@clisp.org>
97293         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
97294         <utmpx.h> exists.
97296 2006-08-22  Bruno Haible  <bruno@clisp.org>
97298         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
97299         <utmpx.h> exists.
97301 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97303         BeOS portability.
97304         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
97305         exist.
97306         Problem reported by Bruno Haible.
97308 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97310         Avoid the need for AC_LIBSOURCES in m4 macros.
97311         * modules/acl (EXTRA_DIST): Add acl.h.
97312         * modules/argmatch (Files): Add m4/argmatch.m4.
97313         (configure.ac): Add gl_ARGMATCH.
97314         (EXTRA_DIST): Renamed from lib_SOURCES, for
97315         consistency with the other modules.  Remove argmatch.c.
97316         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
97317         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
97318         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
97319         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
97320         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
97321         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
97322         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
97323         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
97324         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
97325         * modules/closeout (EXTRA_DIST): Add closeout.h.
97326         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
97327         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
97328         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
97329         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
97330         dirname.h; remove basename.c and stripslash.c.
97331         * modules/exclude (EXTRA_DIST): Add exclude.h.
97332         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
97333         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
97334         * modules/file-type (EXTRA_DIST): Add file-type.h.
97335         * modules/filemode (EXTRA_DIST): Add filemode.h.
97336         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
97337         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97338         * modules/fpending (EXTRA_DIST): Add __fpending.h.
97339         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
97340         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
97341         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
97342         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
97343         * modules/getdate (EXTRA_DIST): Add getdate.c.
97344         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
97345         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
97346         * modules/getpass (EXTRA_DIST): Add getpass.h.
97347         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
97348         * modules/group-member (EXTRA_DIST): Add group-member.h.
97349         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
97350         * modules/hash (EXTRA_DIST): Add hash.h.
97351         * modules/human (EXTRA_DIST): Add human.h.
97352         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
97353         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
97354         * modules/lchown (EXTRA_DIST): Add lchown.h.
97355         * modules/long-options (EXTRA_DIST): Add long-options.h.
97356         * modules/lstat (EXTRA_DIST): Add lstat.h.
97357         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
97358         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
97359         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
97360         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
97361         * modules/memxor (EXTRA_DIST): Add memxor.h.
97362         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
97363         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
97364         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
97365         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
97366         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
97367         * modules/physmem (EXTRA_DIST): Add physmem.h.
97368         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
97369         * modules/posixver (EXTRA_DIST): Add posixver.h.
97370         * modules/quote (EXTRA_DIST): Add quote.h.
97371         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
97372         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
97373         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
97374         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
97375         regex_internal.h regexec.c.
97376         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
97377         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
97378         * modules/same (EXTRA_DIST): Add same.h.
97379         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
97380         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
97381         * modules/savedir (EXTRA_DIST): Add savedir.h.
97382         * modules/sha1 (EXTRA_DIST): Add sha1.h.
97383         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
97384         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
97385         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
97386         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
97387         * modules/strdup (EXTRA_DIST): Add strdup.h.
97388         * modules/strftime (EXTRA_DIST): Add strftime.h.
97389         * modules/strndup (EXTRA_DIST): Add strndup.h.
97390         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
97391         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
97392         * modules/time_r (EXTRA_DIST): Add time_r.h.
97393         * modules/timespec (EXTRA_DIST): Add timespec.h.
97394         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97395         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
97396         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
97397         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
97398         * modules/userspec (EXTRA_DIST): Add userspec.h.
97399         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
97400         * modules/utimens (EXTRA_DIST): Add utimens.h.
97401         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
97402         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
97403         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
97404         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
97405         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
97406         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
97407         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
97408         * modules/yesno (EXTRA_DIST): Add yesno.h.
97410 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97412         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
97414         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
97415         * m4/dev-ino.m4, same-inode.m4: Remove.
97417         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
97418         * m4/acl.m4 (AC_FUNC_ACL):
97419         * m4/backupfile.m4 (gl_BACKUPFILE):
97420         * m4/c-strtod.m4 (gl_C99_STRTOLD):
97421         * m4/canon-host.m4 (gl_CANON_HOST):
97422         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
97423         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
97424         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
97425         * m4/cloexec.m4 (gl_CLOEXEC):
97426         * m4/close-stream.m4 (gl_CLOSE_STREAM):
97427         * m4/closeout.m4 (gl_CLOSEOUT):
97428         * m4/dirfd.m4 (gl_FUNC_DIRFD):
97429         * m4/dirname.m4 (gl_DIRNAME):
97430         * m4/exclude.m4 (gl_EXCLUDE):
97431         * m4/exitfail.m4 (gl_EXITFAIL):
97432         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
97433         * m4/file-type.m4 (gl_FILE_TYPE):
97434         * m4/filemode.m4 (gl_FILEMODE):
97435         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
97436         * m4/fpending.m4 (gl_FUNC_FPENDING):
97437         * m4/fprintftime.m4 (gl_FPRINTFTIME):
97438         * m4/fts.m4 (gl_FUNC_FTS):
97439         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
97440         * m4/getdate.m4 (gl_GETDATE):
97441         * m4/gethrxtime.m4 (gl_GETHRXTIME):
97442         * m4/getpagesize.m4 (gl_GETPAGESIZE):
97443         * m4/getpass.m4 (gl_FUNC_GETPASS):
97444         * m4/gettime.m4 (gl_GETTIME):
97445         * m4/getugroups.m4 (gl_GETUGROUPS):
97446         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
97447         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
97448         * m4/hard-locale.m4 (gl_HARD_LOCALE):
97449         * m4/hash.m4 (gl_HASH):
97450         * m4/idcache.m4 (gl_IDCACHE):
97451         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
97452         * m4/lchown.m4 (gl_FUNC_LCHOWN):
97453         * m4/long-options.m4 (gl_LONG_OPTIONS):
97454         * m4/lstat.m4 (gl_FUNC_LSTAT):
97455         * m4/md5.m4 (gl_MD5):
97456         * m4/memcasecmp.m4 (gl_MEMCASECMP):
97457         * m4/memcoll.m4 (gl_MEMCOLL):
97458         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
97459         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
97460         * m4/memxor.m4 (gl_MEMXOR):
97461         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
97462         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
97463         * m4/modechange.m4 (gl_MODECHANGE):
97464         * m4/mountlist.m4 (gl_MOUNTLIST):
97465         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97466         * m4/openat.m4 (gl_FUNC_OPENAT):
97467         * m4/pathmax.m4 (gl_PATHMAX):
97468         * m4/physmem.m4 (gl_PHYSMEM):
97469         * m4/posixtm.m4 (gl_POSIXTM):
97470         * m4/posixver.m4 (gl_POSIXVER):
97471         * m4/quote.m4 (gl_QUOTE):
97472         * m4/quotearg.m4 (gl_QUOTEARG):
97473         * m4/readtokens.m4 (gl_READTOKENS):
97474         * m4/readutmp.m4 (gl_READUTMP):
97475         * m4/regex.m4 (gl_REGEX):
97476         * m4/safe-read.m4 (gl_SAFE_READ):
97477         * m4/safe-write.m4 (gl_SAFE_WRITE):
97478         * m4/same.m4 (gl_SAME):
97479         * m4/save-cwd.m4 (gl_SAVE_CWD):
97480         * m4/savedir.m4 (gl_SAVEDIR):
97481         * m4/settime.m4 (gl_SETTIME):
97482         * m4/sha1.m4 (gl_SHA1):
97483         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
97484         * m4/stat-macros.m4 (gl_STAT_MACROS):
97485         * m4/stat-time.m4 (gl_STAT_TIME):
97486         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
97487         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
97488         * m4/strdup.m4 (gl_FUNC_STRDUP):
97489         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
97490         * m4/strndup.m4 (gl_FUNC_STRNDUP):
97491         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
97492         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
97493         * m4/time_r.m4 (gl_TIME_R):
97494         * m4/timespec.m4 (gl_TIMESPEC):
97495         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
97496         * m4/unlinkdir.m4 (gl_UNLINKDIR):
97497         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
97498         * m4/userspec.m4 (gl_USERSPEC):
97499         * m4/utimecmp.m4 (gl_UTIMECMP):
97500         * m4/utimens.m4 (gl_UTIMENS):
97501         * m4/xalloc.m4 (gl_XALLOC):
97502         * m4/xgetcwd.m4 (gl_XGETCWD):
97503         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
97504         * m4/xreadlink.m4 (gl_XREADLINK):
97505         * m4/xstrtod.m4 (gl_XSTRTOD):
97506         * m4/yesno.m4 (gl_YESNO):
97507         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97508         to get the necessary .h files and whatnot.
97510 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
97511             Bruno Haible  <bruno@clisp.org>
97513         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
97514         /bin/sh understanding of '!' conditional negation.
97516 2006-08-21  Jim Meyering  <jim@meyering.net>
97518         * modules/openat (Depends-on): Really alphabetize.
97520         * modules/acl (Depends-on): Add error and quote.
97522         * check-module (find_included_lib_files): Add at-func.c to the
97523         ok-to-include-more-than-once white list.
97525         * modules/openat (Depends-on): Add lstat.  Alphabetize.
97527 2006-08-21  Bruno Haible  <bruno@clisp.org>
97529         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97530         Emit a pkgdata_DATA variable only if some snippets add contents to it.
97531         Reported by Martin Lambers <marlam@marlam.de>.
97533 2006-08-21  Bruno Haible  <bruno@clisp.org>
97535         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
97536         specify an installation location, don't emit a noinst_LIBRARIES or
97537         noinst_LTLIBRARIES assignment.
97539 2006-08-21  Bruno Haible  <bruno@clisp.org>
97541         BeOS portability.
97542         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
97543         BeOS has mbrtowc() but no <wctype.h>.
97545 2006-08-21  Bruno Haible  <bruno@clisp.org>
97547         BeOS portability.
97548         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
97549         exist.
97551 2006-08-21  Bruno Haible  <bruno@clisp.org>
97553         BeOS portability.
97554         * lib/mbchar.h: Include <wctype.h> only if it exists.
97556 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97558         Remove files that are no longer needed by their respective modules.
97559         * m4/obstack.m4: Remove.
97560         * m4/strerror_r.m4: Remove.
97561         * m4/uint32_t.m4: Remove.
97562         * m4/uintptr_t.m4: Remove.
97563         * m4/ullong_max.m4: Remove.
97564         * m4/xstrtoimax.m4: Remove.
97565         * m4/xstrtoumax.m4: Remove.
97567         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
97568         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
97569         dependencies now capture this.
97571         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
97572         Do not use AC_LIBSOURCES, since gnulib modules now do this.
97573         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
97574         * m4/human.m4 (gl_HUMAN): Likewise.
97575         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
97576         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
97578         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
97580         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
97581         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
97582         stdint.
97583         * m4/human.m4 (gl_HUMAN): Likewise.
97584         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
97585         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
97586         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97587         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97588         * m4/xstrtol (gl_XSTRTOL): Likewise.
97590         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
97591         AC_TYPE_LONG_LONG_INT.
97592         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97593         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
97594         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
97595         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97597         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
97598         on stdbool.
97600         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
97601         (gl_PREREQ_XSTRTOUL): Remove.
97603         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
97605         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
97606         mode.
97608 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97610         Add and change modules to make it easier for coreutils to use
97611         gnulib-tool.
97612         * modules/backupfile (Files): Remove m4/d-ino.m4.
97613         (Depends-on): Add d-ino.
97614         * modules/cycle-check (Depends-on): Add stdint.
97615         (lib_SOURCES): Add cycle-check.h.
97616         * modules/d-ino: New module.
97617         * modules/d-type: New module.
97618         * modules/error (Files): Remove m4/strerror_r.m4.
97619         * modules/filemode (Files): Add m4/st_dm_mode.m4.
97620         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97621         m4/inttypes_h.m4, m4/uintmax_t.m4.
97622         (Depends-on): Add stdint.
97623         (lib_SOURCES): Add fsusage.h.
97624         * modules/getcwd (Files): Remove d-ino.m4.
97625         (Depends-on): Add d-ino.
97626         * modules/getndelim2 (Depends-on): Add stdint.
97627         * modules/glob (Files): Remove m4/d-type.m4.
97628         (Depends-on): Add d-type.
97629         * modules/host-os: New module.
97630         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
97631         m4/inttypes_h.m4, m4/uintmax_t.m4.
97632         * Depends-on: Add stdint.
97633         (lib_SOURCES): Add human.h.
97634         * modules/inttostr (Files): Remove m4/intmax_t.m4,
97635         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
97636         m4/uintmax_t.m4, m4/ulonglong.m4.
97637         (Depends-on): Add stdint.
97638         (EXTRA_DIST): Add inttostr.h.
97639         * modules/lchmod: New module.
97640         * modules/link-follow: New module.
97641         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
97642         (Depends-on): Add lchmod.
97643         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
97644         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
97645         (Depends-on): Add stdint.
97646         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
97647         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
97648         (Depends-on): Add stdint.
97649         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
97650         * modules/perl: New module.
97651         * modules/regex (Depends-on): Add stdint.
97652         * modules/rmdir-errno: New module.
97653         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97654         m4/intmax_t.m4.
97655         (Depends-on): Add stdint.
97656         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97657         m4/uintmax_t.m4.
97658         (Depends-on): Add stdint.
97659         * modules/unlink-busy: New module.
97660         * modules/utimecmp (Depends-on): Add stdint.
97661         * modules/uptime: New module.
97662         * modules/winsz-ioctl: New module.
97663         * modules/winsz-termios: New module.
97664         * modules/xnanosleep (Depends-on): Add nanosleep.
97665         * modules/ullong_max: Remove.
97666         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
97667         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
97668         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
97669         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
97670         (Depends-on): Add inttypes.
97671         (lib_SOURCES): Add xstrtol.h.
97672         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
97673         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
97674         * MODULES.html.sh: Move 'assert' into the assert section.
97675         Move 'dummy' into the linking section.
97676         Remove ullong_max.
97677         Add section for compatibility checks for POSIX:2001 functions,
97678         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
97679         winsz-ioctl, and winsz-termios into it.
97680         Add lchmod.
97681         Add top-level Misc section and put host-os, perl, and uptime
97682         into it.
97684 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97686         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
97687         now assume the stdint module.  Do not include inttypes.h.
97688         * lib/fsusage.h: Likewise.
97689         * lib/getndelim2.c: Likewise.
97690         * lib/human.h: Likewise.
97691         * lib/inttostr.h: Likewise.
97692         * lib/obstack.c: Likewise.
97693         * lib/regex_internal.h: Likewise.
97694         * lib/tempname.c: Likewise.
97695         * lib/utimecmp.c: Likewise.
97696         * lib/xstrtol.h: Likewise.
97698         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
97700         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
97701         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
97702         * lib/xtime.h: Likewise.
97704 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97706         * modules/openat (Files): Add lib/fchmodat.c.
97707         Fixes problem reported by Jay Youngman.
97709 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97711         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
97712         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
97714 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
97715             Bruno Haible  <bruno@clisp.org>
97717         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
97718         and is a script that invokes bison. Tighten the code. Add comments.
97720 2006-08-18  Jim Meyering  <jim@meyering.net>
97722         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
97723         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
97724         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
97725         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
97727 2006-08-18  Bruno Haible  <bruno@clisp.org>
97729         * modules/bison-i18n: New file.
97730         * MODULES.html.sh (Internationalization functions): Add it.
97732 2006-08-18  Bruno Haible  <bruno@clisp.org>
97734         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
97735         sys/statvfs.h. When getmntinfo was found, check its declaration and
97736         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
97738 2006-08-18  Bruno Haible  <bruno@clisp.org>
97740         * m4/bison-i18n.m4: New file, from bison.
97742 2006-08-18  Bruno Haible  <bruno@clisp.org>
97744         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97745         (ME_DUMMY): Treat "kernfs" as a dummy.
97746         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97748 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97750         Update from coreutils.
97752         2006-08-15  Jim Meyering  <jim@meyering.net>
97754         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97756         2006-01-17  Jim Meyering  <jim@meyering.net>
97758         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97760         2006-01-11  Jim Meyering  <jim@meyering.net>
97762         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97763         Check for the lchmod function.
97765 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97767         Update from coreutils.
97769         * lib/__fpending.h: Add copyright notice.
97770         * lib/fprintftime.h: Likewise.
97771         * lib/savedir.c: Use (C) in copyright notice.
97772         * lib/savedir.h: Likewise.
97774         2006-08-15  Jim Meyering  <jim@meyering.net>
97776         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97777         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97778         in support of the EXPECTED_ERRNO macro.
97779         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97780         definitions.  Instead, define the appropriate symbols and include
97781         "at-func.c".
97782         * lib/mkdirat.c (mkdirat): Likewise.
97783         * lib/fchmodat.c (fchmodat): Likewise.
97784         (ENOSYS): Remove definition.
97785         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97786         it.  Don't include "unistd--.h" -- it wasn't ever used.
97788         2006-01-17  Jim Meyering  <jim@meyering.net>
97790         Rewrite fts.c not to change the current working directory,
97791         by using openat, fstatat, fdopendir, etc..
97793         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97794         (HAVE_OPENAT_SUPPORT): Define.
97795         [_LIBC] (fchdir): Don't undef or define; no longer used.
97796         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97797         Now, this `function' always succeeds, and consumes its file descriptor
97798         parameter -- so callers must not close such FDs.  Update callers.
97799         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97800         (diropen): Add parameter, SP.  Adjust all callers.
97801         Implement using diropen_fd, rather than open.
97802         (fts_open): Initialize new member, fts_cwd_fd.
97803         Remove fts_rft-setting code.
97804         (fts_close): Close fts_cwd_fd, if necessary.
97805         (__opendir2): Define in terms of opendir or opendirat,
97806         depending on whether the FST_NOCHDIR flag is set.
97807         (fts_build): Since fts_safe_changedir consumes its FD, and since
97808         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97809         and close the dup'd file descriptor upon failure.
97810         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97811         (fts_safe_changedir): Tweak semantics to reflect that this function
97812         now calls cwd_advance_fd and hence consumes its FD argument.
97813         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97814         [struct FTS] (fts_rft): Remove now-unused member.
97815         [struct FTS] (fts_cycle.state): Improve comment.
97817         * lib/openat.c (openat_needs_fchdir): New function.
97818         * lib/openat.h (openat_needs_fchdir): Declare it.
97820 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97822         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97823         Problem and fix reported by Pádraig Brady in
97824         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97826 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97828         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97830 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97832         * lib/memcoll.c (memcoll): Optimize for the common case where the
97833         arguments are bytewise equal.
97835 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97837         * doc/regexprops-generic.texi: Add a copyright notice.
97839 2006-08-15  Bruno Haible  <bruno@clisp.org>
97841         * modules/tmpdir (License): Change to LGPL.
97843 2006-08-15  Bruno Haible  <bruno@clisp.org>
97845         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97846         module.
97848 2006-08-14  Simon Josefsson  <jas@extundo.com>
97850         * config/srclist.txt: Add gnupload.
97852 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97854         Change copyright notice from LGPL 2 to GPL 2, since that's the
97855         standard form used in the gnulib repository.
97856         * tests/test-lock.c: Likewise.
97857         * tests/test-stdint.c: Likewise.
97858         * tests/test-tls.c: Likewise.
97860         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97861         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97862         Add copyright notice.
97864         * check-module: Add copyright notice.  Output a copyright
97865         notice if "--version" is specified.
97866         * modules/COPYING: New file.
97867         * tests/test-getaddrinfo.c: Add copyright notice.
97868         * tests/test-verify.c: Likewise.
97870 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97872         Change copyright notice from LGPL 2 to GPL 2, since that's the
97873         standard form used in the gnulib repository.
97874         * lib/lock.c: LGPL -> GPL.
97875         * lib/lock.h: Likewise.
97876         * lib/strnlen1.c: Likewise.
97877         * lib/strnlen1.h: Likewise.
97878         * lib/tls.c: Likewise.
97879         * lib/tls.h: Likewise.
97880         * lib/tmpdir.c: Likewise.
97882         * lib/TODO: Remove; this belongs only in coreutils.
97884 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97886         Add copyright notices to long-enough files that lack them, since
97887         otherwise the files aren't clearly free.  Use the same notice that
97888         getdate.texi already uses.
97889         * doc/alloca-opt.texi: Add copyright notice.
97890         * doc/alloca.texi: Likewise.
97891         * doc/ctime.texi: Likewise.
97892         * doc/functions.texi: Likewise.
97893         * doc/gcd.texi: Likewise.
97894         * doc/gnulib-tool.texi: Likewise.
97895         * doc/inet_ntoa.texi: Likewise.
97896         * doc/visibility.texi: Likewise.
97898         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97899         * doc/quote.texi: Add copyright notice.
97901         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97902         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97903         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97904         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97905         is now obsolete, and give a pointer to the Sun list.
97906         Add copyright notice.
97908 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97910         * config/srclistvars.sh: Add copyright notice.
97912 2006-08-14  Eric Blake  <ebb9@byu.net>
97914         Import the following change from libc:
97916         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97918         Upstream bug 2997.
97919         * lib/misc/error.c: Add space between program name and message if file
97920         name is missing.
97922 2006-08-12  Karl Berry  <karl@gnu.org>
97924         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97925         remove, these originate in gnulib now.
97927 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97929         * doc/Makefile (standards.info standards.html standards.dvi):
97930         Also depend on make-stds.texi.
97932 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97934         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97935         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97937         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97938         in wchar_t.  Problem reported by Eric Blake.
97940         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97941         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97942         Also, help the compiler to keep LEN in a register.
97944 2006-08-11  Eric Blake  <ebb9@byu.net>
97946         * users.txt: Sort.  Add tar.
97948 2006-08-11  Bruno Haible  <bruno@clisp.org>
97950         * users.txt: New file.
97952 2006-08-11  Bruno Haible  <bruno@clisp.org>
97954         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97955         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97957 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97959         * modules/snprintf (Depends-on): Remove minmax.
97960         (Maintainer): Add self and Bruno.
97962 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97964         * lib/.cppi-disable: Add snprintf.h, socket_.h.
97965         * lib/snprintf.c: Include <errno.h> and <limits.h>.
97966         (EOVERFLOW): Define if the system does not.
97967         Do not include "minmax.h"; it wasn't used.
97968         (snprintf): Don't assume size_t promotes to an unsigned type.
97969         Fix bug when generated string was too long for the buffer: the
97970         buffer's contents are supposed to be the initial prefix of the
97971         output.  Don't assume vasnprintf returns EOVERFLOW if the size
97972         exceeds INT_MAX; do the check ourselves.
97974         Import the following changes from libc:
97976         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
97978         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
97979         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
97980         set wc to the byte which couldn't be converted.
97981         (re_string_reconstruct): Don't clear valid_raw_len before calling
97982         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
97983         tip_context using re_string_context_at.
97985         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
97987         * lib/posix/regex.h: g++ still cannot handled [restrict].
97989         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
97991         * lib/posix/regex.h: Remove special handling for VMS.
97993 2006-08-10  Jim Meyering  <jim@meyering.net>
97995         * modules/same-inode: New module.
97996         * modules/dev-ino: New module.
97997         * modules/cycle-check: Depend on these modules, rather than simply
97998         including their .h files.
97999         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
98000         required via m4/cycle-check.m4.
98001         * modules/same: Depend on new same-inode module, rather than
98002         including same-inode.h.
98003         * modules/chdir-safer: New file.
98005         * modules/chown (Depends-on): Add stat-macros.
98007 2006-08-10  Jim Meyering  <jim@meyering.net>
98009         * m4/cycle-check.m4: New file.
98010         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
98011         * m4/dev-ino.m4, m4/same-inode.m4: New files.
98013 2006-08-10  Eric Blake  <ebb9@byu.net>
98015         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
98016         in from original proposal.
98018 2006-08-10  Eric Blake  <ebb9@byu.net>
98019         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
98021         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
98022         namespace.
98024 2006-08-10  Bruno Haible  <bruno@clisp.org>
98026         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
98027         as well.
98029 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98031         Sync from coreutils.
98033         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
98035         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
98036         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
98038 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98040         * modules/restrict: Remove; no longer needed now that we assume
98041         Autoconf 2.59 or later.
98042         * MODULES.html.sh: Remove 'restrict'.
98043         * modules/argp (Depends-on): Remove 'restrict'.
98044         * modules/base64 (Depends-on): Likewise.
98045         * modules/gc (Depends-on): Likewise.
98046         * modules/getaddrinfo (Depends-on): Likewise.
98047         * modules/glob (Depends-on): Likewise.
98048         * modules/inet_ntop (Depends-on): Likewise.
98049         * modules/inet_pton (Depends-on): Likewise.
98050         * modules/memxor (Depends-on): Likewise.
98051         * modules/regex (Depends-on): Likewise.
98052         * modules/strtok_r (Depends-on): Likewise.
98053         * modules/time_r (Depends-on): Likewise.
98055 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98057         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
98058         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
98059         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98060         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
98061         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
98062         * m4/memxor.m4 (gl_MEMXOR): Likewise.
98063         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
98064         gl_C_RESTRICT replaced by AC_C_RESTRICT.
98066         Merge from coreutils.
98067         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
98068         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
98069         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
98070         * m4/time_r.m4 (gl_TIME_R): Likewise.
98072 2006-08-09  Karl Berry  <karl@gnu.org>
98074         * config/srclist.txt: no more gettext-tools, per Bruno.
98076 2006-08-08  Eric Blake  <ebb9@byu.net>
98078         * modules/verror: New module.
98079         * MODULES.html.sh: Document it.
98081 2006-08-08  Eric Blake  <ebb9@byu.net>
98083         * lib/verror.h, lib/verror.c: New files.
98085 2006-08-08  Eric Blake  <ebb9@byu.net>
98087         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
98088         verror_at_line output complies with GNU Coding Standards even when
98089         file is NULL.
98091 2006-08-07  Bruno Haible  <bruno@clisp.org>
98093         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
98094         versions of AIX.
98095         Reported by Ralf Wildenhues.
98097 2006-08-07  Bruno Haible  <bruno@clisp.org>
98099         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
98100         in an AC_DEFUN. Needed so that the autoconf snippets can use
98101         AC_REQUIRE.
98103 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98105         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98106         Initialize pkgdata_DATA.
98107         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
98108         overriding it.
98110 2006-08-06  Eric Blake  <ebb9@byu.net>
98112         * lib/error.h: Fold in some upstream changes from glibc.
98113         * lib/error.c: Likewise.
98115 2006-08-04  Bruno Haible  <bruno@clisp.org>
98117         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98118         Make the mostlyclean-local rule depend on mostlyclean-generic.
98119         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
98121 2006-07-31  Bruno Haible  <bruno@clisp.org>
98123         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
98124         <stdlib.h>, <string.h>.
98126 2006-07-30  Bruno Haible  <bruno@clisp.org>
98128         * modules/readlink (License): Change to LGPL.
98130 2006-07-30  Bruno Haible  <bruno@clisp.org>
98132         * modules/javaversion (Makefile.am): Distribute javaversion.java and
98133         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
98134         set PKGDATADIR to point to it.
98136 2006-07-30  Bruno Haible  <bruno@clisp.org>
98138         * modules/csharpexec (configure.ac): Comment out macro invocation.
98139         * modules/javaexec (configure.ac): Likewise.
98140         * modules/javacomp-script (configure.ac): Likewise.
98142         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
98144 2006-07-30  Bruno Haible  <bruno@clisp.org>
98146         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
98147         linked-list.
98149 2006-07-30  Bruno Haible  <bruno@clisp.org>
98151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
98153 2006-07-30  Bruno Haible  <bruno@clisp.org>
98155         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98156         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
98157         get removed.
98159 2006-07-29  Bruno Haible  <bruno@clisp.org>
98161         Make it possible for gnulib-tool to work with locally modified or
98162         augmented gnulib repositories.
98163         * gnulib-tool (func_usage): Document --local-dir option.
98164         (local_gnulib_dir): New variable.
98165         Handle --local-dir option.
98166         (func_lookup_file): New function.
98167         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
98168         (func_get_description, func_get_filelist, func_get_description,
98169         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
98170         func_get_automake_snippet, func_get_include_directive,
98171         func_get_license, func_get_maintainer): Use func_lookup_file.
98172         (func_import, func_create_testdir): Use func_lookup_file.
98174 2006-07-29  Bruno Haible  <bruno@clisp.org>
98176         * modules/setenv (Depends-on): Add unistd.
98178 2006-07-29  Bruno Haible  <bruno@clisp.org>
98180         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
98182 2006-07-29  Bruno Haible  <bruno@clisp.org>
98184         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
98186 2006-07-29  Bruno Haible  <bruno@clisp.org>
98188         * gnulib-tool (import, update): If there is no Makefile.am, look at
98189         aclocal.m4, instead of bailing out.
98191 2006-07-29  Bruno Haible  <bruno@clisp.org>
98193         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
98194         Categorize the options by when they are useful.
98196 2006-07-29  Bruno Haible  <bruno@clisp.org>
98198         * gnulib-tool (func_usage): Document option --no-libtool.
98199         Handle option --no-libtool.
98200         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
98201         for changed semantics of $libtool variable.
98202         (func_import): Likewise. If libtool is not used, show this through
98203         an option --no-libtool.
98204         (func_create_testdir): Update.
98206 2006-07-29  Bruno Haible  <bruno@clisp.org>
98208         * gnulib-tool (func_import): Extend error message about missing
98209         --doc-base.
98211 2006-07-29  Bruno Haible  <bruno@clisp.org>
98213         * gnulib-tool (func_import): Don't create the $docbase directory if
98214         there is no file to store there.
98216 2006-07-29  Bruno Haible  <bruno@clisp.org>
98218         * gnulib-tool (autoconf_minversion): If a --dir option is given and
98219         relevant, look for configure.ac there, not in the current directory.
98220         Also use a simple search for AC_PREREQ, not "autoconf --trace".
98222 2006-07-29  Bruno Haible  <bruno@clisp.org>
98224         * gnulib-tool (SORT): New variable.
98225         (func_usage): Undocument --assume-autoconf option.
98226         Remove --assume-autoconf option handling.
98227         (autoconf_minversion): Determine from the contents of configure.ac.
98228         (func_import): Remove autoconf_minversion handling.
98229         Suggested by Eric Blake.
98231 2006-07-29  Bruno Haible  <bruno@clisp.org>
98233         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
98235 2006-07-29  Bruno Haible  <bruno@clisp.org>
98237         * config/srclist.txt (*setenv.[ch]): Remove rules.
98239 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98241         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
98243 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98245         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
98246         arpa/inet.h.
98248 2006-07-28  Simon Josefsson  <jas@extundo.com>
98250         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
98251         * modules/inet_pton (Depends-on): Likewise.
98253 2006-07-28  Simon Josefsson  <jas@extundo.com>
98255         * m4/netinet_in_h.m4: New file.
98257 2006-07-28  Simon Josefsson  <jas@extundo.com>
98259         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
98260         #include's.
98262 2006-07-28  Simon Josefsson  <jas@extundo.com>
98264         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
98265         #include's.
98267 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
98269         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
98270         setgid on directories only if they set these bits.
98271         * lib/modechange.h: Remove obsolete comment about masks.
98273 2006-07-28  Eric Blake  <ebb9@byu.net>
98275         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
98276         macro expansion.
98278 2006-07-28  Bruno Haible  <bruno@clisp.org>
98280         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
98282 2006-07-28  Bruno Haible  <bruno@clisp.org>
98284         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
98286 2006-07-28  Bruno Haible  <bruno@clisp.org>
98288         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
98289         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
98290         Define fallbacks.
98291         Avoids link error on FreeBSD 4.x.
98292         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98294         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
98295         encoding.
98296         * lib/mbswidth.c (iswcntrl): Likewise.
98298 2006-07-27  Bruno Haible  <bruno@clisp.org>
98300         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
98301         test.
98303 2006-07-27  Bruno Haible  <bruno@clisp.org>
98305         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
98306         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
98307         defined.
98309 2006-07-26  Eric Blake  <ebb9@byu.net>
98311         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
98313 2006-07-26  Eric Blake  <ebb9@byu.net>
98315         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
98316         like mingw that lack mkstemp.
98317         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
98318         avoid compilation warning on mingw.
98320 2006-07-26  Bruno Haible  <bruno@clisp.org>
98322         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
98323         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
98324         INT_FAST*_MIN, INTPTR_MIN.
98326 2006-07-25  Bruno Haible  <bruno@clisp.org>
98328         * modules/version-etc (Depends-on): Add stdarg.
98330 2006-07-25  Bruno Haible  <bruno@clisp.org>
98332         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
98333         complex commands.
98335 2006-07-25  Bruno Haible  <bruno@clisp.org>
98337         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
98338         defined in <stdarg.h> or config.h.
98340 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98342         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
98343         (gl_STDIO_SAFER): Remove.
98345 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98347         * MODULES.html.sh (File stream based Input/Output):
98348         Add fopen-safer, tmpfile-safer; remove stdio-safer.
98349         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
98350         * modules/fopen-safer, modules/tmpfile-safer: New files.
98351         * modules/stdio-safer: Remove.
98353 2006-07-24  Bruno Haible  <bruno@clisp.org>
98355         * modules/tmpdir: New file.
98356         * MODULES.html.sh (File system functions): Add it.
98358 2006-07-24  Bruno Haible  <bruno@clisp.org>
98360         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
98361         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
98363 2006-07-24  Bruno Haible  <bruno@clisp.org>
98365         * modules/clean-temp: New file.
98367 2006-07-24  Bruno Haible  <bruno@clisp.org>
98369         * m4/tmpdir.m4: New file, from GNU gettext.
98371 2006-07-24  Bruno Haible  <bruno@clisp.org>
98373         * lib/tmpdir.h: New file, from GNU gettext.
98374         * lib/tmpdir.c: New file, from GNU gettext.
98376 2006-07-24  Bruno Haible  <bruno@clisp.org>
98378         * lib/clean-temp.h: New file, from GNU gettext.
98379         * lib/clean-temp.c: New file, from GNU gettext.
98381 2006-07-23  Eric Blake  <ebb9@byu.net>
98383         * modules/stdio-safer (Files): Add tmpfile-safer.c.
98384         (Depends-on): Add binary-io.
98386 2006-07-23  Eric Blake  <ebb9@byu.net>
98388         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
98390 2006-07-23  Eric Blake  <ebb9@byu.net>
98392         * lib/tmpfile-safer.c: New file.
98393         * lib/stdio-safer.h (fopen_safer): Add prototype.
98394         * lib/stdio--.h (tmpfile): Make safer.
98396 2006-07-23  Bruno Haible  <bruno@clisp.org>
98398         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
98399         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
98400         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
98401         gl_linked_remove_at): Use it.
98403 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98404         and Simon Josefsson <jas@extundo.com>
98406         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
98408         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
98410 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98412         * modules/close-stream: New file.
98413         * modules/closeout (Description): Make it clear that it exits
98414         with a diagnostic on error.
98415         (Depends-on): Add close-stream.  Remove fpending, stdbool.
98416         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
98418 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98420         * m4/close-stream.m4: New file.
98422 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98424         * lib/close-stream.c, lib/close-stream.h: New files.
98426 2006-07-22  Bruno Haible  <bruno@clisp.org>
98428         Merge from GNU gettext 0.15.
98430         2006-05-01  Bruno Haible  <bruno@clisp.org>
98432                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
98434         2006-07-22  Bruno Haible  <bruno@clisp.org>
98436                 * modules/javaversion: New file.
98437                 * MODULES.html.sh (Java): Add javaversion.
98439         2006-03-12  Bruno Haible  <bruno@clisp.org>
98441                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
98443         2005-12-04  Bruno Haible  <bruno@clisp.org>
98445                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
98446                 (untested).
98448         2006-06-21  Bruno Haible  <bruno@clisp.org>
98450                 Avoid warnings from recent versions of mcs.
98451                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
98452                 -o, -L, -r any more. Use options documented since mcs-1.0
98453                 instead. Similarly for -g.
98455         2005-12-04  Bruno Haible  <bruno@clisp.org>
98457                 * build-aux/csharpcomp.sh.in: Suffix for resources is
98458                 .resources, not .resource.
98460         2005-07-09  Bruno Haible  <bruno@clisp.org>
98462                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
98463                 add a .dll suffix.
98464                 Reported by Mark Junker <mjscod@gmx.de>.
98466         2006-07-22  Bruno Haible  <bruno@clisp.org>
98468                 * modules/gettext: Upgrade to gettext-0.15.
98469                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
98470                 m4/visibility.m4.
98471                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
98473 2006-07-22  Bruno Haible  <bruno@clisp.org>
98475         Merge from GNU gettext 0.15.
98477         2006-03-25  Bruno Haible  <bruno@clisp.org>
98479                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
98481         2006-07-21  Bruno Haible  <bruno@clisp.org>
98483                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
98484                 "1.1".
98486         2006-05-09  Bruno Haible  <bruno@clisp.org>
98488                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
98489                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
98490                 for the conftestver execution.
98492         2006-05-01  Bruno Haible  <bruno@clisp.org>
98494                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
98495                 optional target-version argument. Verify that the compiler
98496                 groks source of the specified source-version, or add -source
98497                 option as necessary. Verify that the compiler produces
98498                 bytecode in the specified target-version, or add -target and
98499                 -source options as necessary. Make the result of the test
98500                 available as variable CONF_JAVAC. Also log error output in
98501                 config.log.
98503         2006-03-11  Bruno Haible  <bruno@clisp.org>
98505                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
98507         2006-05-09  Bruno Haible  <bruno@clisp.org>
98509                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
98510                 CLASSPATH_SEPARATOR to a semicolon.
98512         2006-03-12  Bruno Haible  <bruno@clisp.org>
98514                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
98515                 available as variable CONF_JAVA, for subsequent autoconf
98516                 tests. Also log error output in config.log.
98518         2006-07-19  Bruno Haible  <bruno@clisp.org>
98520                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
98521                 that getline works on glibc2 systems. Needed to avoid trouble
98522                 in relocatable.c.
98523                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
98525         2005-12-04  Bruno Haible  <bruno@clisp.org>
98527                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
98528                 launcher (untested).
98530         2005-12-04  Bruno Haible  <bruno@clisp.org>
98532                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
98534         2006-07-22  Bruno Haible  <bruno@clisp.org>
98536                 * gettext.m4: Update from GNU gettext-0.15.
98537                 * nls.m4: Likewise.
98538                 * po.m4: Likewise.
98539                 * inttypes-pri.m4: Likewise.
98540                 * inttypes-h.m4: Renamed from inttypes.m4.
98541                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
98543 2006-07-22  Bruno Haible  <bruno@clisp.org>
98545         Merge from GNU gettext 0.15.
98547         2005-07-05  Bruno Haible  <bruno@clisp.org>
98549                 * printf-args.c (printf_fetchargs): Work around broken
98550                 definition of wint_t on mingw.
98552         2005-02-12  Bruno Haible  <bruno@clisp.org>
98554                 * xallocsa.h: Add extern "C" for C++.
98556         2006-05-17  Bruno Haible  <bruno@clisp.org>
98558                 Cygwin portability.
98559                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
98561         2006-04-30  Bruno Haible  <bruno@clisp.org>
98563                 * progreloc.c: Include <mach-o/dyld.h> if available.
98564                 (find_executable): Use _NSGetExecutablePath when possible.
98566         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
98568                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
98569                 function.
98571         2005-12-29  Bruno Haible  <bruno@clisp.org>
98573                 * progreloc.c (set_program_name_and_installdir): Fix
98574                 compilation error.
98576         2005-12-04  Bruno Haible  <bruno@clisp.org>
98578                 Cygwin portability.
98579                 * progreloc.c: Include <windows.h> also on Cygwin.
98580                 (find_executable): Add support for Cygwin.
98581                 (set_program_name_and_installdir): Handle also platforms with
98582                 nonempty EXEEXT.
98584         2006-07-11  Bruno Haible  <bruno@clisp.org>
98586                 * javacomp.c: Fix a comment.
98587                 Reported by Jim Meyering.
98589         2006-04-30  Bruno Haible  <bruno@clisp.org>
98591                 * javacomp.h (compile_java_class): Add source_version,
98592                 target_version arguments.
98593                 * javacomp.c: Rewritten to choose only a compiler that
98594                 respects the specified source_version and target_version.
98596         2006-06-27  Bruno Haible  <bruno@clisp.org>
98598                 Assume correct S_ISDIR macro.
98599                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
98601         2006-07-22  Bruno Haible  <bruno@clisp.org>
98603                 * javaversion.h: New file, from GNU gettext.
98604                 * javaversion.c: New file, from GNU gettext.
98605                 * javaversion.java: New file, from GNU gettext.
98606                 * javaversion.class: New file, from GNU gettext.
98608         2006-05-17  Bruno Haible  <bruno@clisp.org>
98610                 Cygwin portability.
98611                 * javaexec.c (execute_java_class): Test for jview program
98612                 also on Cygwin.
98614         2006-04-09  Bruno Haible  <bruno@clisp.org>
98616                 * fatal-signal.c: Don't include string.h.
98617                 (at_fatal_signal): Use a copying loop instead of memcpy.
98619         2005-12-04  Bruno Haible  <bruno@clisp.org>
98621                 * csharpexec.c: Add support for 'clix' launcher (untested).
98622                 (execute_csharp_using_sscli): New function.
98623                 (execute_csharp_program): Call it.
98625         2006-06-21  Bruno Haible  <bruno@clisp.org>
98627                 Avoid warnings from recent versions of mcs.
98628                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
98629                 -o, -L, -r any more. Use options documented since mcs-1.0
98630                 instead. Similarly for -g.
98632         2005-07-09  Bruno Haible  <bruno@clisp.org>
98634                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
98635                 add a .dll suffix.
98636                 Reported by Mark Junker <mjscod@gmx.de>.
98638         2006-06-17  Bruno Haible  <bruno@clisp.org>
98640                 * config.charset: Update for NetBSD 3.0.
98642         2006-05-17  Bruno Haible  <bruno@clisp.org>
98644                 Cygwin portability.
98645                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
98647         2006-05-16  Bruno Haible  <bruno@clisp.org>
98649                 * localcharset.c [CYGWIN]: Include <windows.h>.
98650                 (get_charset_aliases): For Cygwin, return the same CPxxx
98651                 aliases list as under WIN32.
98652                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
98653                 the environment variables. Fall back to GetACP().
98655         2006-04-05  Bruno Haible  <bruno@clisp.org>
98657                 * config.charset: Update Juan Manuel Guerrero's address.
98659         2005-02-12  Bruno Haible  <bruno@clisp.org>
98661                 * allocsa.h: Add extern "C" for C++.
98663         2005-02-10  Bruno Haible  <bruno@clisp.org>
98665                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
98666                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
98668         2006-07-22  Bruno Haible  <bruno@clisp.org>
98670                 * gettext.h: Update to GNU gettext-0.15.
98672 2006-07-22  Bruno Haible  <bruno@clisp.org>
98674         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
98675         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
98676         lib-prefix.m4, longdouble.m4, ssize_t.m4.
98678 2006-07-21  Eric Blake  <ebb9@byu.net>
98680         * modules/stdlib-safer: New file.
98681         * MODULES.html.sh (File stream based Input/Output): Add
98682         stdlib-safer.
98684 2006-07-21  Eric Blake  <ebb9@byu.net>
98686         * lib/stdlib-safer.h: New file from coreutils, required by
98687         stdlib--.h.
98689 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
98691         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
98693 2006-07-20  Bruno Haible  <bruno@clisp.org>
98695         * gnulib-tool: Recognize new option --assume-autoconf.
98696         (autoconf_minversion): New variable.
98697         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
98699 2006-07-20  Bruno Haible  <bruno@clisp.org>
98701         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
98703 2006-07-19  Derek R. Price  <derek@ximbiot.com>
98705         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
98706         Reindent and repaginate.
98708 2006-07-19  Derek Price  <derek@ximbiot.com>
98710         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
98711         Correct grammar.
98713 2006-07-17  Bruno Haible  <bruno@clisp.org>
98715         * modules/list: New file.
98716         * modules/array-list: New file.
98717         * modules/carray-list, modules/carray-list-tests: New files.
98718         * modules/linked-list, modules/linked-list-tests: New files.
98719         * modules/avltree-list, modules/avltree-list-tests: New files.
98720         * modules/rbtree-list, modules/rbtree-list-tests: New files.
98721         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
98722         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
98723         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
98724         * modules/oset: New file.
98725         * modules/array-oset: New file.
98726         * modules/avltree-oset, modules/avltree-oset-tests: New files.
98727         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
98728         * tests/test-carray_list.c: New file.
98729         * tests/test-linked_list.c: New file.
98730         * tests/test-avltree_list.c: New file.
98731         * tests/test-rbtree_list.c: New file.
98732         * tests/test-linkedhash_list.c: New file.
98733         * tests/test-avltreehash_list.c: New file.
98734         * tests/test-rbtreehash_list.c: New file.
98735         * tests/test-avltree_oset.c: New file.
98736         * tests/test-rbtree_oset.c: New file.
98737         * MODULES.html.sh (Container data structures): New section.
98739 2006-07-17  Bruno Haible  <bruno@clisp.org>
98741         * m4/gl_list.m4: New file.
98743 2006-07-17  Bruno Haible  <bruno@clisp.org>
98745         * lib/gl_list.h: New file.
98746         * lib/gl_list.c: New file.
98747         * lib/gl_array_list.h: New file.
98748         * lib/gl_array_list.c: New file.
98749         * lib/gl_carray_list.h: New file.
98750         * lib/gl_carray_list.c: New file.
98751         * lib/gl_linked_list.h: New file.
98752         * lib/gl_linked_list.c: New file.
98753         * lib/gl_anylinked_list1.h: New file.
98754         * lib/gl_anylinked_list2.h: New file.
98755         * lib/gl_avltree_list.h: New file.
98756         * lib/gl_avltree_list.c: New file.
98757         * lib/gl_anyavltree_list1.h: New file.
98758         * lib/gl_anyavltree_list2.h: New file.
98759         * lib/gl_rbtree_list.h: New file.
98760         * lib/gl_rbtree_list.c: New file.
98761         * lib/gl_anyrbtree_list1.h: New file.
98762         * lib/gl_anyrbtree_list2.h: New file.
98763         * lib/gl_anytree_list1.h: New file.
98764         * lib/gl_anytree_list2.h: New file.
98765         * lib/gl_linkedhash_list.h: New file.
98766         * lib/gl_linkedhash_list.c: New file.
98767         * lib/gl_anyhash_list1.h: New file.
98768         * lib/gl_anyhash_list2.h: New file.
98769         * lib/gl_avltreehash_list.h: New file.
98770         * lib/gl_avltreehash_list.c: New file.
98771         * lib/gl_rbtreehash_list.h: New file.
98772         * lib/gl_rbtreehash_list.c: New file.
98773         * lib/gl_anytreehash_list1.h: New file.
98774         * lib/gl_anytreehash_list2.h: New file.
98776         * lib/gl_oset.h: New file.
98777         * lib/gl_oset.c: New file.
98778         * lib/gl_array_oset.h: New file.
98779         * lib/gl_array_oset.c: New file.
98780         * lib/gl_avltree_oset.h: New file.
98781         * lib/gl_avltree_oset.c: New file.
98782         * lib/gl_rbtree_oset.h: New file.
98783         * lib/gl_rbtree_oset.c: New file.
98784         * lib/gl_anytree_oset.h: New file.
98786 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98788         * m4/mkancesdirs.m4: New file.
98789         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98790         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98791         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98792         it.
98794 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98796         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98797         * lib/mkancesdirs.h: New files.
98798         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98799         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98800         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98801         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98802         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98803         callers changed.  Revamp internals significantly, by not
98804         attempting to create directories that are temporarily more
98805         permissive than the final results.  Do not attempt to use
98806         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98807         This removes some race conditions, fixes some bugs, and simplifies
98808         things.  Use new dirchownmod function to do owner and mode changes.
98809         * lib/mkdir-p.h: Likewise.
98810         * lib/modechange.c (octal_to_mode): New function.
98811         (struct mode_change): New member mentioned.
98812         (make_node_op_equals): New arg mentioned.  All callers changed.
98813         (mode_compile): Keep track of which mode bits the user has explicitly
98814         mentioned.
98815         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98816         New arg PMODE_BITS, to keep track of which mode bits the user
98817         mentioned; it treats S_ISUID and S_ISGID speciall.
98818         All callers changed.
98819         * lib/modechange.h: Likewise.
98821 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98823         * MODULES.html.sh: Add mkancestors.
98824         * modules/mkancesdirs: New module.
98825         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98826         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98827         The chdir-safer and afs files are now orphans; I'll remove them
98828         unless someone speaks up.
98829         Add lib/dirchownmod.c, lib/dirchownmod.h.
98830         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98831         Add lchown, mkancesdirs.
98832         (Maintainer): Add self.
98834 2006-07-15  Karl Berry  <karl@gnu.org>
98836         * gnulib-tool: help message wording/arrangement.
98838 2006-07-14  Simon Josefsson  <jas@extundo.com>
98840         * doc/gnulib.texi (Libtool and Windows): New section.
98842 2006-07-12  Simon Josefsson  <jas@extundo.com>
98844         * modules/gendocs (License): Fix license, approved by Karl.
98846 2006-07-12  Eric Blake  <ebb9@byu.net>
98848         * MODULES.html.sh: Add gendocs.
98850 2006-07-11  Eric Blake  <ebb9@byu.net>
98852         * modules/fdl: New module, to install doc/fdl.texi.
98853         * MODULES.html.sh: Add new section for documentation modules.
98854         * gnulib-tool: Avoid space-tab.
98855         (--doc-base): New option, to manage files from doc.
98857 2006-07-11  Eric Blake  <ebb9@byu.net>
98859         * m4/absolute-header.m4: Fix comments to match recent change.
98861 2006-07-11  Eric Blake  <ebb9@byu.net>
98863         * gnulib-tool: List --doc-base before --tests-base.
98865 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98867         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98869 2006-07-11  Bruno Haible  <bruno@clisp.org>
98871         * README: Mention where to put documentation.
98873 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98875         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98877 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98879         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98880         to stdint.m4.
98882 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98884         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98885         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98886         "no/such/file/stdint.h" when there is no such file, so that
98887         the resulting C code can be parsed by dodgy compilers.
98888         Problems reported by Bob Proulx.
98890 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98892         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98893         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98894         macros into the GNU _D_EXACT_NAMLEN.
98895         * lib/savedir.c:  Likewise.
98896         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98898 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98899         and Paul Eggert  <eggert@cs.ucla.edu>
98901         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98902         * m4/savedir.m4:
98903         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98904         macros into the GNU _D_EXACT_NAMLEN.
98906 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98908         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98909         around the absolute name, to work around a problem with the HP-UX
98910         11.23 native C compiler, reported by Bob Proulx.
98912 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98914         * doc/maintain.texi, make-stds.texi: Sync from
98915         <http://savannah.gnu.org/projects/gnustandards>.
98917 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98919         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98921 2006-07-09  Jim Meyering  <jim@meyering.net>
98923         * m4/glob.m4: Remove a doubled word in a comment.
98925 2006-07-09  Jim Meyering  <jim@meyering.net>
98927         * lib/argp-pv.c: Remove a doubled word in a comment.
98928         * lib/check-version.c (check_version): Likewise.
98929         * lib/javacomp.c (compile_java_class): Likewise.
98931 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98933         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98934         for the benefit of people using Autoconf 2.60.  If you want to
98935         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98936         (or m4/onceonly.m4, if pre-2.57) manually.
98938 2006-07-08  Jim Meyering  <jim@meyering.net>
98940         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98941         comment.
98942         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98943         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98944         comment.
98946 2006-07-08  Jim Meyering  <jim@meyering.net>
98948         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98950 2006-07-07  Simon Josefsson  <jas@extundo.com>
98952         * tests/test-crc.c: Change expected crc value, the test vector
98953         were probably computed using the old broken crc.c?
98955 2006-07-06  Simon Josefsson  <jas@extundo.com>
98957         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98958         now the canonical place for the M4 file).
98960         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98961         from the sys_socket dependency now.
98963         * modules/inet_pton (Files): Ditto.
98965         * modules/inet_ntop (Files): Ditto.
98967 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98969         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
98970         not gl_PREREQ_GETUSERSHELL.
98972 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98974         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
98975         with only one argument, for Autoconf 2.60.
98976         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
98977         expand to nothing, so add a shell command to avoid syntax error.
98978         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
98980 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98982         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
98984 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98986         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
98987         no longer needed.  Check for isblank decl.
98988         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
98989         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
98990         of existence.
98992 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98994         * lib/getloadavg.c: Use __VMS, not VMS.
98995         * lib/getopt.c: Likewise.
98996         * lib/getpagesize.h: Likewise.
98997         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
98998         and probably does not work.
99000 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99002         * lib/.cppi-disable: Add wcwidth.
99003         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
99004         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
99005         (ISGRAPH): Remove.  All uses changed to isgraph.
99006         (FOLD) [!defined _LIBC]: Remove special case.
99007         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
99008         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
99009         HAVE_ISBLANK.
99010         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
99011         case.
99013 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99015         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
99016         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
99017         brackets.  Other minor changes to suppress some compiler
99018         warnings.
99020 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99021         and Paul Eggert  <eggert@cs.ucla.edu>
99023         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
99024         of invoking obsolescent AC_HEADER_DIRENT macro.
99025         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
99026         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
99027         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
99028         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
99029         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
99030         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
99031         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
99032         * m4/readdir.m4: Remove; no longer needed.
99034 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99035         and Paul Eggert  <eggert@cs.ucla.edu>
99037         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
99038         Don't worry about this obsolete case any more.
99039         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
99040         directories.
99041         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
99042         worry about this obsolete case any more.
99043         * lib/fts.c: Likewise.
99044         * lib/getcwd.c: Likewise.
99045         * lib/glob.h: Likewise.
99046         * lib/savedir.c: Likewise.
99048 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99050         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
99051         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
99052         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
99053         needed.
99054         All uses removed.
99055         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99056         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99057         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
99058         needed.
99059         * m4/getdate.m4 (gl_GETDATE): Likewise.
99060         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99061         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99062         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99063         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99064         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99065         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99066         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
99067         needed.
99069 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99071         * lib/memcasecmp.c: Include <limits.h>.
99072         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
99073         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
99074         Don't assume isdigit succeeds only on '0' through '9'.
99076 2006-07-05  Eric Blake  <ebb9@byu.net>
99078         * modules/getaddrinfo (Depends-on): Add snprintf.
99080 2006-07-05  Eric Blake  <ebb9@byu.net>
99082         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
99083         to avoid 'header present but could not be compiled' on cygwin.
99085 2006-07-05  Eric Blake  <ebb9@byu.net>
99087         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
99088         missing from netdb.h.
99089         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
99091 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99093         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
99094         no longer needed.
99095         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
99096         * m4/getdate.m4 (gl_GETDATE): Likewise.
99097         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99098         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99099         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99100         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99101         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99103 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99105         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
99106         All uses of is_space replaced by isspace.
99107         * lib/exit.h: Don't talk about STDC_HEADERS.
99108         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
99109         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
99110         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
99111         replaced by isprint etc.
99112         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
99113         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99114         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
99115         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
99116         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
99117         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99119 2006-07-05  Bruno Haible  <bruno@clisp.org>
99121         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
99122         the function exists, before testing against AIX.
99123         Reported by Martin Lambers <marlam@marlam.de>.
99125 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99127         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
99128         From Mark D. Baushke.
99130 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99132         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
99133         to the absolute name, not just one, to bypass Sun C 5.8's
99134         "warning: #include of /usr/include/... may be non-portable".
99136 2006-07-04  Eric Blake  <ebb9@byu.net>
99138         * modules/dirname-tests: New test module.
99139         * tests/test-dirname.c: New file, replacing dirname.c
99140         TEST_DIRNAME section that was recently deleted.
99142 2006-07-04  Bruno Haible  <bruno@clisp.org>
99144         Assume ANSI C header files and <ctype.h> functions.
99145         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
99146         (mbsnwidth): Use isprint, iscntrl instead.
99148 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99150         Merge from coreutils.
99151         * MODULES.html.sh: Add xstrtold.
99152         * modules/xstrtold: New file.
99153         * modules/cycle-check (Files): Add lib/same-inode.h.
99154         * modules/dirname (Files): Add m4/double-slash-root.m4.
99155         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
99156         * modules/mkdir-p (Files): Add lib/same-inode.h.
99157         * modules/same (Files): Add lib/same-inode.h.
99159 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99161         * m4/absolute-header.m4: Renamed from full-header-path.m4.
99162         This is to keep the terminology clean; POSIX talks about
99163         "absolute pathnames", not "full pathnames", but the GNU
99164         Coding Standards say to use "path" for something else;
99165         so use "absolute" to keep both sides happy.
99166         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
99167         Set gl_absolute_header, not gl_full_header_path.
99168         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
99169         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
99170         All uses changed.
99172         Merge from coreutils.
99174         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99176         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
99177         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
99178         want to require the building of c-strtod.o.
99179         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
99180         needs -lm directly.
99181         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
99183         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99185         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
99186         --as-needed option if available.  Problem reported by Albert Chin in
99187         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
99188         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
99189         cc merely issues a bunch of annoying warnings for --as-needed
99190         (this problem was reported by Bob Proulx).  Also, try linking with
99191         -lm to detect a bug in binutils 2.16 (this problem was reported
99192         by Ralf Wildenhues).
99194         2006-06-18  Jim Meyering  <jim@meyering.net>
99196         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
99197         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
99198         macro.
99199         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
99200         also check for glibc-2.4's abort-inducing bug.
99202         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
99203         Low-probability clean-up should be to use rmdir to get rid of
99204         the just-created directory, not unlink.
99206         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
99207         configure fail, and request a bug report to inform us about it.
99208         Add a comment that, barring reports to the contrary, in 2007 we'll
99209         assume ftruncate is universally available.
99211         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99213         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
99215         2006-03-12  Jim Meyering  <jim@meyering.net>
99217         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
99218         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
99219         * m4/same.m4 (gl_SAME): Likewise.
99220         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
99222         2006-03-11  Eric Blake  <ebb9@byu.net>
99224         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
99225         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
99226         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
99227         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
99229 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99231         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
99232         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
99233         reported by Mark D. Baushke, one in
99234         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
99236         Merge from coreutils.
99238         * lib/.cppi-disable: Add stdint_.h.
99239         * lib/.cvsignore: Add stdint.h.
99241         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99243         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
99244         both double and long double versions.
99245         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
99246         * lib/xstrtold.c: New file.
99247         * lib/xstrtod.h (xstrtold): New decl.
99249         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
99251         * lib/filemode.c (setst): Remove.
99252         (strmode): Rewrite to avoid setst.  This makes the code shorter,
99253         (arguably) clearer, and the generated code is a bit smaller on my
99254         Debian GNU/Linux stable x86 host.
99256         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99258         * lib/filemode.c: Include "filemode.h" first, to test the interface.
99259         Assume that filemode.h includes sys/types.h and sys/stat.h.
99260         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
99261         (ftypelet): Reorder to put common cases first, for efficiency.
99262         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
99263         to do 'M'.
99264         (strmode): Renamed from mode_string, and now stores 12 bytes instead
99265         of 10, for compatibility with FreeBSD.  All callers changed.
99266         (filemodestring): Now stores 12 bytes instead of 10, and sets file
99267         types that can't be deduced solely from st_mode.  First arg is now a
99268         const pointer.
99269         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
99270         (strmode): Renamed from mode_string.
99271         (filemodestring): New decl.
99272         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
99273         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
99274         needed.
99275         (S_ISPORT, S_ISWHT): New macros, if not already defined.
99277         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
99279         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
99280         fsusage.h now does that.  Include fsusage.h first, to test interface.
99281         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
99282         at most one method (the old code could have generated decls that
99283         didn't conform to C89, not that this was ever exercised).
99284         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
99286         2006-03-19  Jim Meyering  <jim@meyering.net>
99288         Work even in a chroot where d_ino values for entries in "/"
99289         don't match the stat.st_ino values for the same names.
99290         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
99291         number, iterate through all entries again, using lstat instead.
99292         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
99293         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
99295         * lib/getcwd.c (__getcwd): Clarify a comment.
99296         Use memcpy in place of a call to strcpy.
99298         2006-03-12  Jim Meyering  <jim@meyering.net>
99300         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
99301         matches that of the current directory (which we're about to chdir ".."
99302         out of), then save the dev-ino of the parent, instead.
99304         * lib/same-inode.h (SAME_INODE): New file/macro.
99305         * lib/chdir-safer.c (SAME_INODE): Remove definition.
99306         Include "same-inode.h", instead.
99307         * lib/same.c: Likewise.
99308         * lib/cycle-check.h: Include "same-inode.h".
99309         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
99310         * lib/cycle-check.c (SAME_INODE): Remove definition.
99311         * lib/root-dev-ino.h: Include "same-inode.h".
99313         2006-03-11  Eric Blake  <ebb9@byu.net>
99315         * lib/same.c (same_name): s/base_name/last_component/
99316         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
99317         * lib/filenamecat.c (file_name_concat): Likewise.
99319         2006-03-11  Eric Blake  <ebb9@byu.net>,
99320                     Paul Eggert  <eggert@cs.ucla.edu>
99322         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
99323         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
99324         drive prefix.
99325         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
99326         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
99327         (last_component): New method.
99328         * lib/dirname.c (dir_len): Determine when drive letters need a
99329         subsequent slash.  Preserve // when it is special.
99330         (dir_name): Don't append dot when drive letter is absolute.
99331         [TEST_DIRNAME]: Move into a full-blown gnulib test.
99332         * lib/basename.c (base_name): New semantics - malloc the result.
99333         Preserve // when it is special.  Preserve relative files that look
99334         like drive letters.
99335         (base_len): Preserve // when it is special.
99336         (last_component): New method, similar to old base_name semantics.
99337         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
99338         base_name.  Strip redundant slashes from ///.
99340 2006-07-03  Jim Meyering  <jim@meyering.net>
99342         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
99343         macro is used before the first cycle_check call.
99345 2006-07-03  Eric Blake  <ebb9@byu.net>
99347         * modules/dirname (Depends-on): Add xstrndup.
99349 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99351         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
99352         test cases, so that config.log is a bit easier to follow.
99354 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99356         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
99357         both are 64 bits, since this seems to be the tradition, and this
99358         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
99359         we ever run into a host that prefers long long to long in this
99360         case, we'll need another configure-time test.  Problem reported by
99361         Jim Meyering.
99363 2006-07-02  Eric Blake  <ebb9@byu.net>
99365         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
99367 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99369         * modules/inttypes (Depends-on): No longer depends on stdint.
99370         * modules/stdint (Description): Say more about assumptions.
99371         Say that the fast types might differ.  Say macros are used.
99372         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
99373         (Makefile.am): Revise list of substituted symbols to match
99374         new stdint.m4.
99375         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
99376         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
99377         * tests/test-stdint.c (verify_same_types)
99378         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
99379         the code conforms to C99/C89.
99380         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
99381         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
99383 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99385         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
99386         but fix a bug, by requiring at least 64 bits.
99387         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99388         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
99389         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
99390         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
99392         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
99393         changes.  Make 2.59 a prerequisite.  Check and substitute for
99394         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
99395         inttypes.h.  Do not use special include files; just use the
99396         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
99397         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
99398         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
99399         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
99400         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
99401         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
99402         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
99403         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
99404         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
99405         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
99406         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
99407         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
99408         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
99409         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
99410         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
99411         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
99412         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
99413         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
99414         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
99415         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
99416         WINT_MAX.  Check for C99 conformance more strictly, by detecting
99417         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
99418         not check for things that C99 does not require, e.g., int8_t.  If
99419         a test isn't needed unless <stdint.h> isn't working, and is
99420         unlikely to be needed for any other reason, then don't do it
99421         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
99422         size_t, since we assume C89 freestanding at least.  Do not check
99423         for sig_atomic_t, wchar_t, or wint_t, since the code now does
99424         the right thing even if the types are not defined.  Instead use:
99425         (gl_STDINT_TYPE_PROPERTIES): New macro.
99426         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
99427         testing whether <sys/types.h> clashes, as Autoconf does this for
99428         us now.  All uses removed.
99429         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
99430         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
99431         (gl_CHECK_TYPE_SAME):
99432         Remove; no longer needed.
99433         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
99434         exists, since we'll return 0 anyway in that case.
99435         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
99437 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99439         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
99440         possible collision with system files.
99441         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
99442         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
99443         WCHAR_MIN and WCHAR_MAX in this case.
99444         (<stddef.h>): Do not include; no longer needed.
99445         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
99446         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
99447         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
99448         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
99449         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
99450         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
99451         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
99452         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
99453         !defined(__c99))]: Include in this case too, since it's harmless
99454         now.
99455         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
99456         dangerous to do so.
99457         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
99458         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
99459         (_STDINT_MIN, _STDINT_MAX): New macros.
99460         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
99461         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
99462         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
99463         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
99464         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
99465         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
99466         macros, not typedefs; this simplifies things quite a bit.
99467         Use long int for all types narrower than int64_t.
99468         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
99469         Define in terms of long long int or int64_t or long int,
99470         not int64_t or int32_t.  This saves some compile-time testing.
99471         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
99472         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
99473         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
99474         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
99475         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
99476         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
99477         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
99478         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
99479         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
99480         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
99481         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99482         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99483         undef any previous version and define our own version, for
99484         simplicity and consistency with the new macros for types.
99485         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99486         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99487         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
99488         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
99489         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
99490         @WINT_T_SUFFIX@ to keep things simple here.
99491         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
99492         Simplify by assuming typical 8/16/32/64 host, since we're
99493         already doing that elsewhere anyway.
99494         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
99495         and assume long long int is 64 bits if available.  This
99496         speeds up 'configure'.
99498 2006-07-01  Eric Blake  <ebb9@byu.net>
99500         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
99501         Reported by Andreas Buening.
99503 2006-07-01  Eric Blake  <ebb9@byu.net>
99505         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
99507 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99509         * lib/getaddrinfo.c: fixed typo
99511 2006-06-29  Jim Meyering  <jim@meyering.net>
99513         * modules/strftime (Maintainer): Add my name, since with the
99514         FPRINTFTIME changes strftime.c has forked from glibc.
99516 2006-06-29  Eric Blake  <ebb9@byu.net>
99518         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
99520 2006-06-29  Eric Blake  <ebb9@byu.net>
99522         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
99524 2006-06-29  Eric Blake  <ebb9@byu.net>
99526         * lib/stat_.h: New file.
99528 2006-06-29  Eric Blake  <ebb9@byu.net>
99530         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
99531         unused static function.
99533 2006-06-29  Eric Blake  <ebb9@byu.net>
99535         * doc/functions.texi (Function Portability): Document missing lstat
99536         on mingw.
99538 2006-06-29  Eric Blake  <ebb9@byu.net>
99540         * MODULES.html.sh: Add sys_stat.
99541         * modules/sys_stat: New module.
99542         * modules/mkstemp (Depends-on): Add sys_stat.
99544 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99546         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
99548 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99550         * m4/c-bs-a.m4: Removed.
99552 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99554         * lib/strftime.c: Assume strftime() exists.
99556 2006-06-29  Derek Price  <derek@ximbiot.com>
99558         * modules/c-bs-a: Removed - \a is C89.
99559         * MODULES.html.sh: Remove c-bs-a.
99561 2006-06-29  Bruno Haible  <bruno@clisp.org>
99563         * modules/wcwidth (License): Change to LGPL.
99565 2006-06-28  Simon Josefsson  <jas@extundo.com>
99567         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
99568         on _WIN32.
99570         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
99571         getnameinfo.
99573 2006-06-28  Simon Josefsson  <jas@extundo.com>
99575         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
99577 2006-06-28  Simon Josefsson  <jas@extundo.com>
99579         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
99580         functions there.  It will succeed on Windows XP, but on Windows
99581         2000 and (presumably) earlier, it will fail, and use the internal
99582         re-implementation.
99583         (use_win32_p): New function.
99584         (getaddrinfo): Use strtoul on servname, to support numeric ports.
99585         Support AI_NUMERICSERV to disable getservbyname.
99586         (getnameinfo): New function, only supports
99587         NI_NUMERICHOST|NI_NUMERICSERV for now.
99589         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
99590         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
99591         getnameinfo.
99593 2006-06-28  Eric Blake  <ebb9@byu.net>
99595         * modules/wcwidth: New file.
99596         * modules/mbchar (Depends-on): Add wcwidth.
99597         * modules/mbswidth (Depends-on): Add wcwidth.
99598         * MODULES.html.sh: Add wcwidth.
99600 2006-06-28  Eric Blake  <ebb9@byu.net>
99602         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
99603         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
99605 2006-06-28  Eric Blake  <ebb9@byu.net>
99607         * lib/xvasprintf.h: Fix comments.
99609 2006-06-28  Eric Blake  <ebb9@byu.net>
99611         * lib/mbchar.h (wcwidth): Include wcwidth.h.
99612         * lib/mbswidth.c (wcwidth): Move from here...
99613         * lib/wcwidth.h: ...to this new file.
99615 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99617         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
99619         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
99620         it's obsolete.
99621         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
99623 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99625         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
99626         Autoconf 2.60 says this stuff was obsolete.
99628 2006-06-28  Bruno Haible  <bruno@clisp.org>
99630         * modules/wcwidth (Files): Add m4/wchar_t.m4.
99632 2006-06-28  Bruno Haible  <bruno@clisp.org>
99634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
99635         gt_TYPE_WCHAR_T.
99637 2006-06-28  Bruno Haible  <bruno@clisp.org>
99639         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
99640         declaration for wcwidth.
99641         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
99643 2006-06-28  Bruno Haible  <bruno@clisp.org>
99645         * lib/mkdtemp.c [MINGW]: Include <io.h>.
99646         (mkdir): Define using _mkdir.
99648 2006-06-28  Bruno Haible  <bruno@clisp.org>
99650         * lib/getaddrinfo.h: Fix POSIX URL.
99651         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
99652         _WIN32.
99653         (use_win32_p): Make static.
99654         (getaddrinfo): Reject service name if it is empty or does not consist
99655         solely of decimal digits, or if its value is > 65535.
99656         (getnameinfo): Remove useless casts.
99658 2006-06-27  Simon Josefsson  <jas@extundo.com>
99660         * modules/sys_select: New file, suggested by Bruno Haible, Paul
99661         Eggert and Martin Lambers.
99663 2006-06-27  Simon Josefsson  <jas@extundo.com>
99665         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
99666         Eggert and Martin Lambers.
99668 2006-06-27  Bruno Haible  <bruno@clisp.org>
99670         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
99671         result to 0, not to empty.
99672         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
99674 2006-06-27  Bruno Haible  <bruno@clisp.org>
99676         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
99678 2006-06-26  Simon Josefsson  <jas@extundo.com>
99680         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
99681         present.
99683 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
99685         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
99686         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
99687         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
99689 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
99691         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
99693 2006-06-26  Bruno Haible  <bruno@clisp.org>
99695         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
99697 2006-06-26  Bruno Haible  <bruno@clisp.org>
99699         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
99701 2006-06-26  Bruno Haible  <bruno@clisp.org>
99703         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
99704         SGI C compiler in pre-C99 mode.
99705         Suggested by Mark D. Baushke and Larry Jones.
99707 2006-06-26  Bruno Haible  <bruno@clisp.org>
99709         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
99710         WCHAR_MAX.
99711         Reported by Mark D. Baushke and Larry Jones.
99713 2006-06-26  Bruno Haible  <bruno@clisp.org>
99715         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
99716         in pre-C99 mode.
99717         Suggested by Mark D. Baushke and Larry Jones.
99719 2006-06-23  Simon Josefsson  <jas@extundo.com>
99720             Bruno Haible  <bruno@clisp.org>
99722         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
99723         Emit mostlyclean-local rule.
99724         (func_emit_tests_Makefile_am): Likewise.
99725         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
99727 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
99729         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
99731 2006-06-23  Bruno Haible  <bruno@clisp.org>
99733         * tests/test-stdint.c: Update to match ISO C 99 Technical
99734         Corrigendum 1.
99736 2006-06-23  Bruno Haible  <bruno@clisp.org>
99738         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99740 2006-06-23  Bruno Haible  <bruno@clisp.org>
99742         * lib/stdint_.h: Treat IRIX like OpenBSD.
99744 2006-06-23  Bruno Haible  <bruno@clisp.org>
99746         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99747         ISO C 99 Technical Corrigendum 1.
99749 2006-06-22  Simon Josefsson  <jas@extundo.com>
99751         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99752         MinGW.
99754 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99756         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99757         needed.  Some compiler complained about some of them.  Problem reported
99758         by Larry Jones in
99759         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99761 2006-06-21  Simon Josefsson  <jas@extundo.com>
99763         * tests/test-getaddrinfo.c: New file.
99765         * modules/getaddrinfo-tests: New file.
99767         * MODULES.html.sh: Add inet_pton.
99769         * modules/inet_pton: New file.
99771 2006-06-21  Simon Josefsson  <jas@extundo.com>
99773         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99774         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99775         of using the (limited) gnulib implementation on Windows XP.
99777         * m4/inet_pton.m4: New file.
99779 2006-06-21  Simon Josefsson  <jas@extundo.com>
99781         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99782         variable.
99784         * lib/socket_.h: Don't define WINVER.
99786         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99787         slightly modified to work in gnulib.
99789 2006-06-21  Simon Josefsson  <jas@extundo.com>
99791         * doc/gnulib.texi (Windows sockets): Add.
99793 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99795         * lib/read-file.c (fread_file): Start with buffer allocation of
99796         0 bytes rather than 1 byte; this simplifies the code.
99797         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99798         code to free buffer and save/restore errno.
99799         (internal_read_file): Remove unused local.
99801 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99803         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99804         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99805         Problem reported by Denis Excoffier in
99806         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99808 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99810         * modules/sys_socket, modules/socklen: Include sys/types since
99811         FreeBSD 4.x's sys/socket.h needs it.
99813 2006-06-19  Simon Josefsson  <jas@extundo.com>
99815         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99817 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99819         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99821 2006-06-19  Bruno Haible  <bruno@clisp.org>
99823         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99824         and FULL_PATH_INTTYPES_H in angle brackets.
99825         Reported by Mark D. Baushke <mdb@gnu.org>.
99827 2006-06-17  Eric Blake  <ebb9@byu.net>
99829         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99830         errno.
99832 2006-06-17  Bruno Haible  <bruno@clisp.org>
99834         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99835         <sys/inttypes.h>.
99837 2006-06-17  Bruno Haible  <bruno@clisp.org>
99839         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99840         whether errno is declared. Assume <errno.h> declares errno.
99842 2006-06-17  Bruno Haible  <bruno@clisp.org>
99844         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99846 2006-06-17  Bruno Haible  <bruno@clisp.org>
99848         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99849         problem on Solaris 2.5.1.
99851 2006-06-16  Eric Blake  <ebb9@byu.net>
99853         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99854         * lib/unicodeio.c [!defined errno]: Likewise.
99855         * lib/strtol.c [!defined errno]: Likewise.
99856         * lib/strtod.c [!defined errno]: Likewise.
99858 2006-06-15  Eric Blake  <ebb9@byu.net>
99860         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99862 2006-06-15  Eric Blake  <ebb9@byu.net>
99864         * config/srclist.txt (ssize_t.m4): Lose sync.
99866 2006-06-15  Bruno Haible  <bruno@clisp.org>
99868         * modules/stdint (Files): Include m4/full-header-path.m4,
99869         m4/size_max.m4, m4/wchar_t.m4.
99870         (Makefile.am): Many more substitutions.
99871         * modules/stdint-tests: New file.
99872         * tests/test-stdint.c: New file.
99874 2006-06-15  Bruno Haible  <bruno@clisp.org>
99876         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99877         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99878         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99879         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99880         gl_CHECK_TYPE_SAME): New macros.
99882 2006-06-15  Bruno Haible  <bruno@clisp.org>
99884         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99886 2006-06-15  Bruno Haible  <bruno@clisp.org>
99888         * lib/stdint_.h: Rewritten to be fully auto-configured.
99889         Fixes bug on HP-UX/IA64.
99891 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99893         * lib/getdate.y (__attribute__): Don't define if already defined.
99894         Problem reported by Larry Jones.
99895         * lib/utimens.c (__attribute__): Likewise.
99897 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99899         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99900         reported by Andreas Schwab.
99902 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99903             Bruno Haible  <bruno@clisp.org>
99905         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99906         check for the declaration of strnlen and a run test that exposes the
99907         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99908         rpl_strndup.
99910 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99911             Bruno Haible  <bruno@clisp.org>
99913         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99915 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99917         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99918         compile test, for Tru64 4.0D.
99920 2006-05-28  Karl Berry  <karl@gnu.org>
99922         * config/srclist.txt (printf-args.c): lose sync.
99924 2006-05-26  Martin Lambers  <marlam@marlam.de>
99926         * lib/getpass.c: Updates the test for the native W32 API, and adds
99927         missing includes, thus fixing compilation warnings.
99929 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99931         * lib/exclude.c (exclude_fnmatch): New function.
99932         (excluded_file_name): Call exclude_fnmatch.
99933         * lib/exclude.h (excluded_file_name): New prototype
99935 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99937         * lib/tempname.c (small_open, large_open): New macros.
99938         (__open, __open64) [!_LIBC]: Remove.
99939         (__gen_tempname): Use small_open and large_open instead of __open
99940         and __open64.  This fixes a portability bug on HP-UX 11.11i
99941         reported by Simon Wing-Tang in
99942         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99944 2006-05-24  Bruno Haible  <bruno@clisp.org>
99946         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99947         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99948         Reported by Thorsten Maerz <torte@netztorte.de> via
99949         Aaron Stone <aaron@serendipity.cx>.
99951 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99954         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99955         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99956         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99957         not really conditional on the cache.
99958         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99960 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99962         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99963         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99964         (my_usleep): Don't mishandle maximum value.
99966 2006-05-19  Jim Meyering  <jim@meyering.net>
99968         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
99970 2006-05-17  Bruno Haible  <bruno@clisp.org>
99972         Cygwin portability.
99973         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
99975 2006-05-17  Bruno Haible  <bruno@clisp.org>
99977         * lib/stdint_.h: Fix recognition of Cygwin.
99979 2006-05-15  Bruno Haible  <bruno@clisp.org>
99981         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
99982         on libtool patch by Ralf Wildenhues.
99984 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
99986         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
99987         test for C99 conformance; (bool) 0.5 is an integer constant
99988         expression, but (bool) -0.5 is not.  Problem reported by Fedor
99989         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
99991 2006-05-11  Simon Josefsson  <jas@extundo.com>
99993         * m4/xvasprintf.m4: Fix obvious typo.
99995 2006-05-11  Jim Meyering  <jim@meyering.net>
99997         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
99998         James Lemley.
100000 2006-05-10  Simon Josefsson  <jas@extundo.com>
100002         * lib/md4.c: Typo fix, update copyright years.
100003         (K1, K2): Don't use L because it turn computations into 64-bit on
100004         64-bit platforms.
100006 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
100008         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
100009         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
100010         unwanted sign propagation, e.g., on hosts with 64-bit int.
100011         There still are some problems with reeelly weird theoretical hosts
100012         (e.g., 33-bit int) but it's not worth worrying about now.
100013         * lib/sha1.c (rol): Likewise.
100014         (K1, K2, K3, K4): Remove unnecessary L suffix.
100016 2006-05-10  Bruno Haible  <bruno@clisp.org>
100018         * lib/des.c: Cast to avoid warnings.
100020 2006-05-09  Bruno Haible  <bruno@clisp.org>
100022         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
100023         (Depends-on): Depend also on xsize, stdarg.
100024         (configure.ac): Add gl_XVASPRINTF.
100026 2006-05-09  Bruno Haible  <bruno@clisp.org>
100028         * m4/xvasprintf.m4: New file.
100030 2006-05-09  Bruno Haible  <bruno@clisp.org>
100032         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
100033         (EOVERFLOW): Define fallback value.
100034         (xstrcat): New function.
100035         (xvasprintf): Recognize the special case of a string concatenation.
100037 2006-05-08  Eric Blake  <ebb9@byu.net>
100039         * gnulib-tool (func_version): Base copyright year on CVS date.
100040         (func_emit_copyright_notice): New function.
100041         (func_emit_lib_Makefile_am): Use it.
100042         (func_emit_tests_Makefile_am): Likewise.
100043         (func_import): Likewise.
100045 2006-05-08  Bruno Haible  <bruno@clisp.org>
100047         * modules/stdarg: New file.
100048         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
100050 2006-05-08  Bruno Haible  <bruno@clisp.org>
100052         * m4/stdarg.m4: New file, from GNU gettext.
100054 2006-05-08  Bruno Haible  <bruno@clisp.org>
100056         * config/srclist.txt (build-aux/config.rpath): different from latest
100057         release.
100059 2006-05-08  Bruno Haible  <bruno@clisp.org>
100061         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
100063 2006-05-05  Jim Meyering  <jim@meyering.net>
100065         * m4/warning.m4: New file, derived from bison's file by the same name.
100067 2006-05-03  Bruno Haible  <bruno@clisp.org>
100069         * lib/stdint_.h: Shorter URL.
100070         * lib/inttypes.h: Likewise.
100072 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100074         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
100076 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100078         * lib/verify.h: Document the internals better.  Most of this change
100079         was written by Bruno Haible.
100081 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100083         * doc/verify.texi: New file, partly based on a proposal by
100084         Bruno Haible.
100086 2006-05-02  Bruno Haible  <bruno@clisp.org>
100088         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
100089         test from here...
100090         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
100092 2006-04-29  Bruno Haible  <bruno@clisp.org>
100094         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
100095         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
100097 2006-04-29  Bruno Haible  <bruno@clisp.org>
100099         * gnulib-tool: Make --update option actually work.
100101 2006-04-29  Bruno Haible  <bruno@clisp.org>
100103         * doc/gcd.texi: New file.
100104         * doc/gnulib.texi: Include it.
100106 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
100108         * lib/getdate.y (get_date): When adding relative date, start with the
100109         initial time, not with the result of the first mktime call.
100111 2006-04-25  Bruno Haible  <bruno@clisp.org>
100113         * gnulib-tool (func_import): Output the include directives in three
100114         blocks, sorted separately.
100115         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100117 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100119         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
100120         to define main with arguments, for C++.  Reported by Eric Blake.
100121         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
100122         Prefer 'int main ()' to 'int main (void)', for C++.
100123         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
100124         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
100125         for 'main', for C99 and C++.
100127 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100129         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
100130         Don't assume that exit status -1 is valid.
100131         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100132         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
100133         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
100134         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
100135         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
100136         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
100137         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
100138         functions can be used without declaring them, or that you can
100139         exit with status -1.
100140         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
100142 2006-04-24  Karl Berry  <karl@gnu.org>
100144         * config/srclist.txt (longdouble.m4): sync lost.
100146 2006-04-24  Eric Blake  <ebb9@byu.net>
100148         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
100150 2006-04-24  Bruno Haible  <bruno@clisp.org>
100152         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
100153         poll() implementation in AIX.
100154         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100156 2006-04-24  Bruno Haible  <bruno@clisp.org>
100158         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
100159         assigned exactly once.
100161 2006-04-23  Claudio Fontana  <claudio@gnu.org>
100162             Bruno Haible  <bruno@clisp.org>
100164         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
100165         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
100166         for AM_CPPFLAGS.
100168 2006-04-23  Bruno Haible  <bruno@clisp.org>
100170         * modules/copy-file: Depend on unistd.
100171         * modules/execute: Likewise.
100172         * modules/fatal-signal: Likewise.
100173         * modules/findprog: Likewise.
100174         * modules/mkdtemp : Likewise.
100175         * modules/pipe: Likewise.
100176         * modules/wait-process: Likewise.
100178 2006-04-23  Bruno Haible  <bruno@clisp.org>
100180         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
100181         condition was already detected.
100182         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100184 2006-04-23  Bruno Haible  <bruno@clisp.org>
100186         * lib/copy-file.c: Include <unistd.h> unconditionally.
100187         * lib/execute.c: Likewise.
100188         * lib/fatal-signal.c: Likewise.
100189         * lib/findprog.c: Likewise.
100190         * lib/mkdtemp.c: Likewise.
100191         * lib/pipe.h: Likewise.
100192         * lib/pipe.c: Likewise.
100193         * lib/wait-process.h: Likewise.
100195 2006-04-23  Bruno Haible  <bruno@clisp.org>
100197         * gnulib-tool (func_usage): Fix --import description. Document
100198         --update.
100199         (func_import): Create temporary file in a temporary directory, if
100200         --dry-run is specified. Silence errors from 'grep' when there are no
100201         m4 files in $m4dir.
100202         (func_create_testdir): Silence errors from 'grep' when there are no
100203         m4 files in $m4dir.
100204         Reported by Karl Berry <karl@freefriends.org>.
100206 2006-04-20  Bruno Haible  <bruno@clisp.org>
100208         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
100209         one argument, so that the code will be portable to Autoconf 2.60.
100210         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
100211         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
100212         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
100214 2006-04-19  Derek Price  <derek@ximbiot.com>
100215             Eric Blake  <ebb9@byu.net>
100217         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
100218         rather than "/full/path.h".  Update comment to match.  Shorten &
100219         generalize m4_translit call via AS_TR_CPP.
100221 2006-04-19  Derek Price  <derek@ximbiot.com>
100222             Eric Blake  <ebb9@byu.net>
100224         * lib/inttypes.h: Correct grammar in comment.
100226 2006-04-18  Derek Price  <derek@ximbiot.com>
100227             Paul Eggert  <eggert@cs.ucla.edu>
100229         * modules/inttypes: New file.
100230         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
100232 2006-04-18  Derek Price  <derek@ximbiot.com>
100233             Paul Eggert  <eggert@cs.ucla.edu>
100235         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
100236         New files.
100238 2006-04-18  Derek Price  <derek@ximbiot.com>
100239             Paul Eggert  <eggert@cs.ucla.edu>
100241         * lib/inttypes.h: New file.
100242         * lib/strtoimax.c: Assume <inttypes.h>.
100244 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
100246         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
100247         isn't mounted.  Problem reported by Kir Kolyshkin.
100249 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
100251         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
100252         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
100253         Derek R. Price.
100254         * lib/regex.h (RE_DUP_MAX): Update comment to match current
100255         implementation.
100257 2006-04-12  Eric Blake  <ebb9@byu.net>
100259         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
100260         is now done automatically by the corresponding Autoconf macro.
100262 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
100264         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
100265         time_r.h.
100267 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100269         Merge regex changes from libc, removing some of our
100270         POSIX-conformance changes that were rejected and redoing them in a
100271         less-intrusive way.
100273         * lib/regcomp.c (re_compile_internal, init_dfa):
100274         Length arg is now size_t, not Idx.  All uses changed.
100275         (peek_token): Forward decl now says internal_function.
100276         (__re_error_msgid, __re_error_msgid_idx):
100277         Now static rather than extern with attribute_hidden.
100278         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
100279         For some reason libc prefers K&R style defns for external functions.
100280         (regerror) [!defined _LIBC]: Likewise.
100281         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
100282         (seek_collating_symbol_entry, lookup_collation_sequence_value):
100283         (build_range_exp, build_collating_symbol):
100284         Use K&R-style defn.
100285         (re_compile_fastmap): Use '\0' to memset, not 0.
100286         (utf8_sb_map): Make the calculations more obvious.
100287         (init_dfa, parse_bracket_exp, build_charclass_op):
100288         Call calloc and cast result, as glibc does.
100289         (init_word_char, fetch_token, peek_token, peek_token_bracket):
100290         (build_range_exp, build_collating_symbol):
100291         Now internal functions.
100293         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
100295         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
100296         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
100297         Don't depend on VMS; depend on __VMS instead, for POSIX
100298         namespace cleanness.
100299         (regoff_t): Define to ssize_t, not long int.
100301         Remove the REG_ macros named below.  Instead, make the old names
100302         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
100303         __USE_GNU_REGEX.
100304         (REG_BACKSLASH_ESCAPE_IN_LISTS):
100305         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
100306         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
100307         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
100308         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
100309         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
100310         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
100311         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
100312         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
100313         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
100314         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
100315         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
100316         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
100317         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
100318         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
100319         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
100320         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
100321         (REG_NREGS):
100322         Remove.  All uses replaced by the old RE_* names.
100323         (RE_BACKSLASH_ESCAPE_IN_LISTS):
100324         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
100325         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
100326         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
100327         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
100328         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
100329         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
100330         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
100331         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
100332         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
100333         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
100334         Don't bother having these macros be independent of each others'
100335         values, since they no longer exist in the POSIX name space.
100337         Rename the following member names back to their old names,
100338         unless !__USE_GNU_REGEX.  All uses changed back.
100339         (buffer): Renamed from re_buffer.
100340         (allocated): Renamed from re_allocated.
100341         (used): Renamed from re_used.
100342         (syntax): Renamed from re_syntax.
100343         (fastmap): Renamed from re_fastmap.
100344         (translate): Renamed from re_translate.
100345         (can_be_null): Renamed from re_can_be_null.
100346         (regs_allocated): Renamed from re_regs_allocated.
100347         (fastmap_accurate): Renamed from re_fastmap_accurate.
100348         (no_sub): Renamed from re_no_sub.
100349         (not_bol): Renamed from re_not_bol.
100350         (not_eol): Renamed from re_not_eol.
100351         (newline_anchor): Renamed from re_newline_anchor.
100352         (num_regs): Renamed from rm_num_regs.
100353         (start): Renamed from rm_start.
100354         (end): Renamed from rm_end.
100356         (free_state): Move up a bit.
100358         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
100359         #define to be empty.
100360         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
100361         when that is what is intended.
100362         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
100363         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
100364         (MAX): New macro.
100365         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
100366         All uses changed back to re_malloc, etc.  It's now the caller's
100367         responsibility to check for overflow; all callers changed.
100368         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
100369         (re_x2nrealloc): Remove.
100370         (free_state): Remove decl.
100372         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
100373         (re_set_registers, re_exec):
100374         Use K&R-style defn.
100376         2006-01-31  Roland McGrath  <roland@redhat.com>
100378         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
100379         Reported by Mike Frysinger <vapier@gentoo.org>.
100381         2006-01-15  Andreas Jaeger  <aj@suse.de>
100383         [BZ #1950]
100384         * lib/regex_internal.c (re_string_reconstruct): Adjust for
100385         build_wcs_upper_buffer change.
100386         (build_wcs_upper_buffer): Change return type.
100388         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
100390         * lib/regex_internal.h: Include <stdint.h> if available.
100392         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
100394         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
100396         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
100398         * lib/regcomp.c: Adjust for changed secondary hash function.
100400         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
100402         * lib/regex.h: Pretty printing.
100403         Clean up namespace a bit.
100405         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
100407         * lib/regexec.c (update_cur_sifted_state, check_arrival,
100408         check_arrival_add_next_nodes): Avoid using uninitialized variable.
100410         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
100411                     Ulrich Drepper  <drepper@redhat.com>
100413         [BZ #1302]
100414         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
100415         changed.
100416         (bitset_word_t): Renamed from bitset_word.  All uses changed.
100418         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
100420         [BZ #281]
100421         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
100422         * lib/regcomp.c: Remove unnecessary uses of
100423         unsigned RE_TRANSLATE_TYPE.
100424         * lib/regex_internal.h: Likewise.
100425         * lib/regex_internal.c: Likewise.
100426         * lib/regexec.c: Likewise.
100427         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
100429         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
100431         * lib/regexec.c (find_recover_state): Remove unnecessary
100432         initialization.
100433         (transit_state_bkref): Make DFA a const pointer.
100434         (get_subexp): Likewise.
100435         (check_arrival): Likewise.
100436         (update_cur_sifted_state): Likewise.
100437         (re_search_internal): Likewise.
100438         (prune_impossible_nodes): Likewise.
100439         (acquire_init_state_context): Likewise.
100440         (proceed_next_node): Likewise.
100441         (set_regs): Likewise.
100442         (free_fail_stack_return): Likewise.
100443         (check_arrival_expand_ecl): Mark DFA parameter as const.
100444         (check_arrival_expand_ecl_sub): Likewise.
100445         (check_subexp_limits): Likewise.
100446         (sub_epsilon_src_nodes):  Likewise.
100447         (add_epsilon_src_nodes):  Likewise.
100448         (merge_state_array): Likewise.
100449         (update_regs): Likewise.
100450         (build_trtable): Likewise.
100451         (sift_states_backward): Mark MCTX parameter as const.
100452         (build_sifted_states): Likewise.
100453         (update_cur_sifted_state): Likewise.
100454         (sift_states_mkref): Likewise.
100455         (check_arrival_expand_ecl): Mark eclosure as const.
100456         (check_dst_limits_calc_pos_1): Likewise.
100457         * lib/regex_internal.h (re_match_context_t): Make dfa a const
100458         pointer.
100460         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
100462         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
100463         (transit_state_sb): Likewise.
100464         (transit_state_mb): Likewise.
100465         (sift_states_iter_mb): Likewise.
100466         (check_arrival_add_next_nodes): Likewise.
100467         (check_node_accept_bytes): Change first parameter to pointer-to-const.
100468         [_LIBC] (re_search_2_stub): Use mempcpy.
100470         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
100471         mbrtowc for very simple UTF-8 case.
100473         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
100474         a pointer-to-const.
100475         (re_acquire_state_context): Likewise.
100476         * lib/regex_internal.h: Adjust prototypes.
100478         * lib/regex.c: Prevent using C++ compilers.
100480         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
100481         (re_acquire_state_context): Likewise.
100483 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100485         * modules/regex (Depends-on): Add ssize_t.
100487 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100489         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
100490         translation table.
100492 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100494         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
100496 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
100497             Bruno Haible  <bruno@clisp.org>
100499         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
100500         <sys/types.h> and <inttypes.h>.
100502 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100504         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
100505         `__error_t_defined', so argp.h will not typedef the former.
100507 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
100509         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
100510         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
100511         glibc names.  Even if glibc is changed to conform to POSIX, the
100512         traditional names will be available anyway, since regex depends on
100513         the extensions module.  Also, fix a longstanding typo in the
100514         implementation of Spencer ERE test #75 from grep 2.3.  Problems
100515         reported by Emanuele Giaquinta.  Also, change sense of cached
100516         variable, so that the message makes sense.
100518 2006-03-24  Simon Josefsson  <jas@extundo.com>
100520         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
100521         including some doc fixes.
100522         (base64_encode_alloc): Fix +1 bug on allocation failures.
100524 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100526         * lib/base64.c (base64_encode): Do not read past end of array with
100527         unsanitized input on systems with CHAR_BIT > 8.
100529 2006-03-24  Eric Blake  <ebb9@byu.net>
100531         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
100533 2006-03-22  Karl Berry  <karl@gnu.org>
100535         * config/srclist.txt (*setenv.[ch]): get from coreutils.
100536         * config/srclistvars.sh (COREUTILS): new var.
100538 2006-03-17  Jim Meyering  <jim@meyering.net>
100540         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
100541         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
100543 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100545         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
100546         no longer needs it.  Instead, check that regoff_t is as least
100547         as wide as ptrdiff_t.
100549         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
100550         so that our regex.h stays compatible with the installed regex.
100551         This is helpful for installers who configure --without-included-regex.
100552         Problem reported by Emanuele Giaquinta.
100554 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100556         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
100557         Typedef to long int, not to off_, as POSIX will likely change
100558         in that direction.
100560 2006-03-15  Eric Blake  <ebb9@byu.net>
100562         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
100564 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100566         * lib/argp-help.c (validate_uparams): Fix typo
100567         * lib/argp-parse.c (argp_default_options): Consistently begin help
100568         messages with a lowercase letter.
100570 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
100572         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
100573         overrun buffers and shouldn't be used (much as gets shouldn't be
100574         used).
100575         * lib/time_r.c (asctime_r, ctime_r): Likewise.
100577 2006-03-08  Simon Josefsson  <jas@extundo.com>
100579         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
100580         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100582 2006-03-08  Simon Josefsson  <jas@extundo.com>
100584         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
100585         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100587 2006-03-08  Simon Josefsson  <jas@extundo.com>
100589         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
100590         signal that configure disabled the device.
100592 2006-03-08  Simon Josefsson  <jas@extundo.com>
100594         * build-aux/maint.mk: Fix refresh-po, to handle no translated
100595         languages.
100597 2006-03-07  Simon Josefsson  <jas@extundo.com>
100599         * modules/getopt (Depends-on): Add unistd.
100601         * modules/unistd: New file.
100603 2006-03-07  Simon Josefsson  <jas@extundo.com>
100605         * modules/gc-random: New file.
100607 2006-03-07  Simon Josefsson  <jas@extundo.com>
100609         * m4/unistd_h.m4: New file.
100611 2006-03-07  Simon Josefsson  <jas@extundo.com>
100613         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
100614         test to be side-effect free by storing the result in the cache
100615         variable gl_cv_lib_readline, and moving the assignment of
100616         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
100617         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100619 2006-03-07  Simon Josefsson  <jas@extundo.com>
100621         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
100622         error on missing devices (the functions will return an error).
100624         * m4/gc.m4: Move random stuff to gc-random.m4
100626 2006-03-07  Simon Josefsson  <jas@extundo.com>
100628         * lib/unistd_.h: New file.
100630 2006-03-07  Simon Josefsson  <jas@extundo.com>
100632         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
100634 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100636         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
100637         Problem reported by Juan Manuel Guerrero.
100639 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100641         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
100642         the unistd module.
100643         * lib/getlogin_r.c: Likewise.
100644         * lib/getlogin_r.h: Likewise.
100645         * lib/glob.c: Likewise.
100646         * lib/pagealign_alloc.c: Likewise.
100647         * lib/unistd_.h: Remove; no longer needed.
100649 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100651         * MODULES.html.sh (Support for systems lacking POSIX:2001):
100652         Add unistd.
100653         * modules/c-stack (Depends-on): Add unistd.
100654         * modules/getlogin_r: Likewise.
100655         * modules/glob: Likewise.
100656         * modules/pagealign_alloc: Likewise.
100657         * modules/unistd (Files): Remove lib/unistd_.h.
100658         (EXTRA_DIST): Remove.
100659         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
100660         need unistd_.h.
100661         (MOSTLYCLEANFILES): Remove unistd.h-t.
100663 2006-03-03  Simon Josefsson  <jas@extundo.com>
100665         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
100667 2006-03-03  Simon Josefsson  <jas@extundo.com>
100669         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
100670         libidn and bison.
100672 2006-03-03  Simon Josefsson  <jas@extundo.com>
100674         * build-aux/maint.mk: Add indent target.
100676 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
100678         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
100679         our replacement poll.h in any case, to avoid a differing
100680         declaration from a system header.  Seen on AIX.
100682 2006-03-01  Simon Josefsson  <jas@extundo.com>
100684         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
100685         <kasal@ucw.cz>.
100687 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100689         * modules/gettime (Depends-on): Add extensions module.
100690         * modules/nanosleep (Depends-on): Likewise.
100691         * modules/settime (Depends-on): Likewise.
100693 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100695         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
100696         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
100697         pedantically.
100698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100699         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
100701         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
100702         not "==".  Reported by Ralf Wildenhues.
100704 2006-03-01  Karl Berry  <karl@gnu.org>
100706         * doc/Copyright/request-*: new files, synced from gnuorg.
100708 2006-03-01  Karl Berry  <karl@gnu.org>
100710         * config/srclist.txt (Copyright/*): new entries.
100712 2006-02-28  Simon Josefsson  <jas@extundo.com>
100714         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
100716 2006-02-27  Simon Josefsson  <jas@extundo.com>
100718         * lib/base64.h: Indent #define's.  From Jim Meyering
100719         <jim@meyering.net>.
100721 2006-02-27  Jim Meyering  <jim@meyering.net>
100723         Revert the change of 2006-02-24, so these files can continue
100724         to be sync'd from gettext.
100725         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
100726         of `config.h'.
100728 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
100730         * modules/intprops: New file.
100731         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
100732         Add intprops.
100733         * modules/getloadavg (Files): Remove lib/intprops.h.
100734         (Depends-on): Add intprops.
100735         * modules/human: Likewise.
100736         * modules/inttostr: Likewise.
100737         * modules/openat: Likewise.
100738         * modules/sig2str: Likewise.
100739         * modules/userspec: Likewise.
100740         * modules/utimecmp: Likewise.
100741         * modules/xnanosleep: Likewise.
100742         * modules/xstrtol: Likewise.
100744 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100746         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100747         * modules/lock-tests (TESTS): Use $(EXEEXT).
100748         * modules/tls-tests: Likewise.
100749         * modules/argp-tests: Likewise.
100750         (check_PROGRAMS): New var, replacing...
100751         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100753 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100755         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100756         `config.h'.
100758 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100760         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100762 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100764         Sync from coreutils.
100765         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100766         gl_CHDIR_SAFER.
100768 2006-02-22  Jim Meyering  <jim@meyering.net>
100770         Sync from coreutils.
100771         * m4/chdir-safer.m4: New file.
100773 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100775         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100776         AT_FDCWD exceeds INT_MAX.
100777         * lib/openat.h (AT_FDCWD): Likewise.
100779 2006-02-17  Eric Blake  <address@hidden>
100781         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100783 2006-02-16  Simon Josefsson  <jas@extundo.com>
100785         * modules/getaddrinfo (Depends-on): Add sys_socket.
100787 2006-02-15  Simon Josefsson  <jas@extundo.com>
100789         * build-aux/maint.mk: Add dsyntax-check rule.
100791 2006-02-15  Eric Blake  <ebb9@byu.net>
100793         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100794         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100795         'present but cannot compile' warnings on cygwin.
100796         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100797         use ws2tcpip.h if sys/socket.h works.
100798         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100799         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100801 2006-02-14  Simon Josefsson  <jas@extundo.com>
100803         * modules/maintainer-makefile (Files): Rename.
100805         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100806         and (the local) Makefile.cfg to maint-cfg.mk.
100808         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100809         to the latter.
100811         * modules/maintainer-makefile: New module.
100813         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100814         severaly stripped to make it possible to build it up from scratch
100815         with reliable tests.
100817         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100818         fixes to permit overriding the default actions when configure and
100819         makefile are not available.
100821 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100823         Sync from coreutils.
100824         * modules/lstat (Depends-on): Don't depend on xalloc.
100825         (License): Change from GPL to LGPL, since this is now simply a
100826         replacement for a libc function.
100828 2006-02-14  Jim Meyering  <jim@meyering.net>
100830         Sync from coreutils.
100832         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100833         failure on deficient systems, and simplify gnulib lgpl dependencies.
100834         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100835         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100837         * lib/xalloc-die.c: Remove unused definition of N_.
100839 2006-02-14  Jim Meyering  <jim@meyering.net>
100841         Sync from coreutils.
100842         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100843         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100844         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100845         double-quote uses of that variable, to accommodate the rare case in
100846         which getmntent is available in none of the libraries checked.  This
100847         happens at least on FreeBSD 5.0.
100849 2006-02-13  Simon Josefsson  <jas@extundo.com>
100851         * gnulib-tool (Usage): Fix --import, from
100852         karl@freefriends.org (Karl Berry).
100854 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100856         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100858 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100860         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100861         "autoupdate" on 2005-12-12.
100863 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100865         * modules/closeout (Depends-on): Remove atexit.
100867 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100869         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100870         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100872 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100874         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100875         __EXTENSIONS__ if this causes compilation to fail.  Problem
100876         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100877         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100879 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100881         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100882         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100883         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100884         All uses changed.
100886 2006-01-26  Simon Josefsson  <jas@extundo.com>
100888         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100889         prototype is visible on mingw32.
100891         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100892         for mingw32.
100894         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100895         mingw32).
100897 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100899         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100900         attempt to open for write; this always fails, at least on POSIX
100901         hosts.  This reinstates the 2006-01-09 change, which was
100902         inadvertently removed.
100904 2006-01-26  Bruno Haible  <bruno@clisp.org>
100906         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100907         Reported by Paul Eggert.
100909 2006-01-26  Bruno Haible  <bruno@clisp.org>
100910             Paul Eggert  <eggert@cs.ucla.edu>
100912         * lib/stdbool_.h (_Bool)
100913         [(! (defined __cplusplus || defined __BEOS__)
100914           && !defined __GNUC__
100915           && !(defined __HP_cc || defined __xlc__
100916                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100917                || defined __sgi))]:
100918         #define to signed char in these cases too; this simplifies
100919         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100920         etc., separately) and makes it more conservative.
100922 2006-01-25  Simon Josefsson  <jas@extundo.com>
100924         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100925         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100926         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100928 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100930         * lib/argp-namefrob.h: Bugfix. Remove stray #
100932 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100934         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100935         so that we test the test.
100936         Check for yet another HP-UX cc bug involving *bool |= bool.
100938 2006-01-25  Karl Berry  <karl@gnu.org>
100940         * config/srclist.txt (vasnprintf.c): sync lost.
100942 2006-01-25  Jim Meyering  <jim@meyering.net>
100944         Sync from the stable (b5) branch of coreutils:
100946         * lib/fts.c (fts_children): Don't let close() clobber errno from
100947         failed fchdir().
100949         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100950         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100951         a dangling symlink.  That can also happen at least for ELOOP.
100952         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100953         FYI, this bug predates the inclusion of fts.c in coreutils.
100955         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100956         in their own block, so pre-c99 compilers don't object.
100958         Avoid the double-free (first in fts_read, second in fts_close) that
100959         would occur when an `active' directory is made inaccessible (e.g.,
100960         via chmod a-x) during a traversal.
100961         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100962         before returning.  Reproduce this failure by
100963         mkdir -p a/b; cd a; chmod a-x . b
100964         Reported by Stavros Passas.
100966 2006-01-25  Jim Meyering  <jim@meyering.net>
100968         * lib/fileblocks.c: Remove more useless parentheses.
100969         * lib/readutmp.h: Likewise.
100971 2006-01-25  Bruno Haible  <bruno@clisp.org>
100973         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
100974         warnings.
100975         Reported by Paul Eggert.
100977 2006-01-25  Bruno Haible  <bruno@clisp.org>
100979         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
100980         rid of a trap command. For Solaris sh.
100981         Reported by Mark D. Baushke <mdb@gnu.org>.
100983 2006-01-24  Simon Josefsson  <jas@extundo.com>
100985         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
100986         Bruno.
100988 2006-01-24  Karl Berry  <karl@gnu.org>
100990         * config/srclist.txt (argp-namefrob.h): sync lost.
100992 2006-01-24  Jim Meyering  <jim@meyering.net>
100994         * modules/openat (Files): Add lib/intprops.h.
100995         From Mark D. Baushke.
100997 2006-01-24  Jim Meyering  <jim@meyering.net>
100999         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
101000         Reported by Mark D. Baushke.
101002 2006-01-24  Jim Meyering  <jim@meyering.net>
101004         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
101006 2006-01-24  Bruno Haible  <bruno@clisp.org>
101008         * modules/strnlen (Maintainer): Change from glibc to all.
101010 2006-01-24  Bruno Haible  <bruno@clisp.org>
101012         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
101013         Patch by Paul Eggert.
101015 2006-01-24  Bruno Haible  <bruno@clisp.org>
101017         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
101018         already has it.
101019         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
101020         2005-11-26.
101022         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
101023         'signed char' to avoid problems with the built-in _Bool type.
101024         Reported by Paul Eggert on 2005-11-26.
101026 2006-01-24  Bruno Haible  <bruno@clisp.org>
101028         * gnulib-tool (func_import): Avoid constructing complicated sed
101029         expressions inside backquote.
101030         Report and solution by Mark D. Baushke <mdb@gnu.org>.
101032 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
101034         These changes imported from libc.
101035         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
101036         test and two separate function calls.
101037         * lib/strndup.c (__strndup): Add libc_hidden_def.
101039 2006-01-23  Simon Josefsson  <jas@extundo.com>
101041         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
101042         Remove the test_*_SOURCES variable: automake infers it by default.
101043         * modules/tls-tests: Likewise.
101045 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101047         Work around porting bugs reported by Dieter in
101048         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
101049         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
101050         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
101051         Include "getopt.h" first, to check interface.
101052         (getenv): Declare only if defined HAVE_DECL_GETENV &&
101053         !HAVE_DECL_GETENV.
101054         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
101055         (__strndup): Revert to K&R-style function dfns, the glibc style.
101056         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
101057         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
101058         Include strnlen.h first, to get prototype properly.
101059         (strnlen): Renamed from __strnlen.
101060         Remove weak alias.
101062 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101064         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
101066 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101068         * config/srclist.txt: Adjust to reflect glibc reorganization.
101069         This affects only comments.
101071 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
101073          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
101074          Reported by Bruce Korb <bkorb@gnu.org>.
101076 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
101078         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
101079         to pacify gcc -Wswitch-default.
101081 2006-01-22  Bruno Haible  <bruno@clisp.org>
101083         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
101084         temporary buffer for sprintf, take into account the precision also
101085         for 'd', 'i', 'u', 'o', 'x', 'X'.
101087 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101089         * modules/argp-tests: New module
101090         * tests/test-argp.c: New file
101091         * tests/test-argp-2.sh: New file
101093 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101095         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
101096         (__argp_base_name): Removed
101097         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
101098         typo.
101099         (__argp_base_name): Provide macro definition or extern declaration
101100         depending on the configuration
101102 2006-01-20  Simon Josefsson  <jas@extundo.com>
101104         * modules/inet_ntop (Depends-on): Depend on sys_socket.
101106 2006-01-20  Simon Josefsson  <jas@extundo.com>
101108         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
101110 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101112         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
101113         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
101114         Suggested by Bruno Haible.
101116 2006-01-20  Karl Berry  <karl@gnu.org>
101118         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
101119         until changes propagate, I guess.
101121 2006-01-19  Simon Josefsson  <jas@extundo.com>
101123         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
101125 2006-01-19  Simon Josefsson  <jas@extundo.com>
101127         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
101129 2006-01-19  Simon Josefsson  <jas@extundo.com>
101131         * gnulib-tool: Set check_PROGRAMS.
101133         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101134         modules/des-tests, modules/gc-arcfour-tests,
101135         modules/gc-arctwo-tests, modules/gc-des-tests,
101136         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101137         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101138         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101139         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101140         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101141         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
101142         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
101143         test_*_SOURCES.
101145 2006-01-18  Simon Josefsson  <jas@extundo.com>
101147         * modules/socklen (Depends-on): Depend on sys_socket.
101149 2006-01-18  Simon Josefsson  <jas@extundo.com>
101151         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101152         modules/des-tests, modules/gc-arcfour-tests,
101153         modules/gc-arctwo-tests, modules/gc-des-tests,
101154         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101155         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101156         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101157         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101158         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101159         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
101160         $(EXEEXT) to automake TESTS variable, for mingw32.
101162 2006-01-17  Simon Josefsson  <jas@extundo.com>
101164         * modules/socklen (Include): Need sys/socket.h.
101166 2006-01-17  Bruno Haible  <bruno@clisp.org>
101168         * modules/ssize_t (Include): Add <sys/types.h>.
101170 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
101172         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
101173         it's not portable and it doesn't work with cross-compiles.
101174         Problem reported by Bruno Haible.  Fix missing-$ typo in
101175         'test "gl_cv_ignore_unused_libraries" ...' that prevented
101176         -zignore from being used with Sun's C compiler.
101178 2006-01-12  Simon Josefsson  <jas@extundo.com>
101180         * lib/base64.c: Fix warning, reported by Bruno Haible
101181         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
101183 2006-01-12  Bruno Haible  <bruno@clisp.org>
101185         * modules/ldd: New file.
101186         * build-aux/ldd.sh.in: New file.
101187         * MODULES.html.sh (Support for building libraries and executables): Add
101188         ldd.
101190 2006-01-12  Bruno Haible  <bruno@clisp.org>
101192         * m4/ldd.m4: New file.
101194 2006-01-12  Bruno Haible  <bruno@clisp.org>
101196         * gnulib-tool (func_import, func_create_testdir): Don't go into an
101197         endless loop while replacing $auxdir with build-aux.
101199 2006-01-11  Simon Josefsson  <jas@extundo.com>
101201         * lib/stdint_.h (SIZE_MAX): Add missing (.
101203 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
101205         Sync from coreutils.
101206         * lib/md5.c: Fix commentary typos.
101207         (alignof, UNALIGNED_P): No need for a GCC-specific version.
101208         * lib/md5.h (__attribute__): Remove; unused.
101209         * lib/sha1.c: Fix commentary to match md5 better.
101210         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
101211         so that we don't need to worry about alignment.  All uses changed.
101212         This merges the 2005-10-28 md5 change into sha1.
101214 2006-01-11  Jim Meyering  <jim@meyering.net>
101216         Sync from coreutils.
101217         * lib/md5.c (OP): Fix spacing.
101219 2006-01-11  Bruno Haible  <bruno@clisp.org>
101221         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101222         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
101223         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
101225 2006-01-11  Bruno Haible  <bruno@clisp.org>
101227         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101228         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
101229         the "early" section as well.
101231 2006-01-11  Bruno Haible  <bruno@clisp.org>
101233         Avoid "ar: no archive members specified" error on MacOS X.
101234         * gnulib-tool (func_modules_add_dummy): New function.
101235         (func_import, func_create_testdir): Invoke it.
101237 2006-01-11  Bruno Haible  <bruno@clisp.org>
101239         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
101240         with $auxdir in AC_CONFIG_FILES statements.
101242 2006-01-11  Bruno Haible  <bruno@clisp.org>
101244         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
101245         Initialize also noinst_HEADERS to empty.
101247 2006-01-11  Bruno Haible  <bruno@clisp.org>
101249         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
101250         variables.
101251         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
101252         autoreconf.
101254 2006-01-11  Bruno Haible  <bruno@clisp.org>
101256         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
101257         overridable by the user.
101258         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101260 2006-01-10  Simon Josefsson  <jas@extundo.com>
101262         * modules/sys_socket: New file.
101264 2006-01-10  Simon Josefsson  <jas@extundo.com>
101266         * m4/sys_socket_h.m4: New file.
101268 2006-01-10  Simon Josefsson  <jas@extundo.com>
101270         * lib/socket_.h: New file.
101272 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101274         * modules/readutmp (Maintainer): Add myself.
101276 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101278         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
101279         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
101280         People who are still concerned with buggy memcmp implementations
101281         can invoke gl_FUNC_MEMCMP themselves.
101283 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101285         * lib/regex_internal.h (BITSET_WORD_BITS):
101286         Work around a bug in 64-bit PGC (before version 6.1-2), where the
101287         preprocessor mishandles large unsigned values as if they were signed.
101288         Problem reported by Claudio Fontana in
101289         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
101291 2006-01-10  Jim Meyering  <jim@meyering.net>
101293         Avoid the double-free (first in fts_read, second in fts_close) that
101294         would occur when an `active' directory is made inaccessible (e.g.,
101295         via chmod a-x) during a traversal.
101296         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
101297         before returning.  Reproduce this failure by
101298         mkdir -p a/b; cd a; chmod a-x . b
101299         Reported by Stavros Passas.
101301         Sync from coreutils.
101302         * lib/sha1.c: Tweak grammar in a comment.
101304 2006-01-10  Jim Meyering  <jim@meyering.net>
101306         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
101307         Patch by Joerg Sonnenberger.
101309 2006-01-10  Bruno Haible  <bruno@clisp.org>
101311         * modules/readutmp: Depend on module free.
101312         * modules/strtok_r: Depend on module restrict.
101314 2006-01-10  Bruno Haible  <bruno@clisp.org>
101316         * modules/gettext (configure.ac): Add an invocation of
101317         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
101319 2006-01-10  Bruno Haible  <bruno@clisp.org>
101321         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
101322         Reported by Werner Lemberg <wl@gnu.org>.
101324 2006-01-10  Bruno Haible  <bruno@clisp.org>
101326         * lib/localcharset.c: Update from GNU gettext.
101328 2006-01-10  Bruno Haible  <bruno@clisp.org>
101330         * lib/argp.h (__const): Remove macro. Use const instead.
101331         * lib/argp-fmtstream.h (__const): Likewise.
101332         * lib/glob_.h (__const): Remove macro.
101333         * lib/glob-libc.h: Use const instead of __const.
101335 2006-01-10  Bruno Haible  <bruno@clisp.org>
101337         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
101338         variable.
101339         Needed to avoid an automake error regarding the 'gettext' module.
101341 2006-01-09  Simon Josefsson  <jas@extundo.com>
101343         * modules/inet_ntop (Depends-on): Add restrict.
101345 2006-01-09  Simon Josefsson  <jas@extundo.com>
101347         * modules/gc-rijndael-tests (License): Put under LGPL.
101349         * modules/gc-des-tests (License): Likewise.
101351         * modules/gc-arcfour-tests (License): Likewise.
101353         * modules/gc-arctwo-tests (License): Likewise.
101355         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
101357         * modules/gc-hmac-sha1-tests (Files): Likewise.
101359         * modules/gc-hmac-md5-tests (License): Likewise.
101361         * modules/gc-sha1-tests (License): Likewise.
101363         * modules/gc-md5-tests (License): Likewise.
101365         * modules/gc-md4-tests (License): Likewise.
101367         * modules/gc-md2-tests (License): Likewise.
101369         * modules/gc-tests (License): Likewise.
101371         * modules/des-tests (License): Likewise.
101373         * modules/md4-tests (License): Likewise.
101375         * modules/md2-tests (License): Likewise.
101377 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101379         Sync from coreutils:
101381         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
101382         * modules/lib-ignore: New file.
101383         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
101384         chdir-safer.m4, lchmod.m4.
101385         * modules/openat: Add mkdirat.c, openat-priv.h.
101387 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101389         Sync from coreutils.
101390         * m4/lib-ignore.m4: New file.
101391         * m4/lchmod.m4: New file.
101393 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101395         Sync from coreutils.
101396         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
101397         for write access: POSIX says that must fail.
101398         * lib/fts.c (diropen): Likewise.
101399         * lib/save-cwd.c (save_cwd): Likewise.
101400         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
101401         well, for minor improvements on hosts that lack O_DIRECTORY.
101402         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
101403         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
101404         Fall back on chown if open failed with EACCES.
101406         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
101407         Report an error at compile-time if only a 1-second nominal clock
101408         resolution is found.
101410         * lib/lchmod.h: New file.
101411         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
101412         (make_dir_parents): Use lchown rather than chown, and
101413         lchmod rather than chmod.
101415         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
101416         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
101417         "proc" reported by n0dalus.
101419         * lib/mountlist.c: Include <limits.h>.
101420         (dev_from_mount_options)
101421         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
101422         New function.  It no longer assumes "dev=" has the System V meaning
101423         on Linux (since it doesn't).  It also parses "dev=" more carefully.
101424         (read_file_system_list)
101425         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
101426         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
101427         dev= in that case.
101429         * lib/posixtm.h (PDS_PRE_2000): New macro.
101430         * lib/posixtm.c (year): Arg is now syntax_bits rather than
101431         allow_century.  All usages changed.  Reject dates outside the range
101432         1969-1999 if PDS_PRE_2000 is used.
101434 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101436         Sync from coreutils.
101437         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
101438         (Time of day items): Mention the possibility of leap seconds.
101439         Problem reported by Dr. David Alan Gilbert.
101441 2006-01-09  Jim Meyering  <jim@meyering.net>
101443         Sync from coreutils.
101445         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
101447         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
101449         * lib/modechange.c (mode_compile): Reject an invalid mode string
101450         that starts with an octal digit.  From Andreas Gruenbacher.
101452         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
101453         and dup to open_safer and dup_safer, respectively.
101454         (openat_permissive): Fix typo in comment.
101456         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
101457         "gettext.h"; either no longer needed or are guaranteed by openat.h.
101458         (_): Remove; no longer needed.
101459         (openat): Renamed from rpl_openat; no need for rpl_openat
101460         since openat.h renames openat for us.
101461         Replace most of the body with a call to openat_permissive,
101462         to avoid duplicate code.
101463         Port to (probably hypothetical) environments were mode_t is
101464         wider than int.
101465         (openat_permissive): Require mode arg, so that we can check
101466         types better.  Put it just after flags.  Change cwd failure
101467         indicator from pointer-to-bool to pointer-to-errno-value.
101468         All callers changed.
101469         Invoke openat_save_fail and/or openat_restore_fail if
101470         cwd_errno is null, so that openat can call us.
101471         (openat_permissive, fdopendir, fstatat, unlinkat):
101472         Simplify errno handling to avoid some duplicate code,
101473         as it's OK to set errno on success.
101474         * lib/openat.h: Revamp code so that function macros depend on
101475         __OPENAT_PREFIX only, not also on AT_FDCWD.
101476         (openat_ro): Remove.  Caller changed to use openat_permissive.
101477         (openat_permissive): Now a macro, if not a function.
101478         (openat_restore_fail, openat_save_fail): Now always functions,
101479         since mkdirat needs them even if __OPENAT_PREFIX is defined.
101481         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
101482         and openat.c.
101483         * lib/mkdirat.c: Include openat-priv.h.
101484         Remove definitions of macros defined therein.
101485         * lib/openat.c: Likewise.
101487         * lib/mkdirat.c (mkdirat): New file and function.
101488         * lib/openat.h (mkdirat): Declare.
101490         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
101492         * lib/openat.h (openat_permissive): Declare.
101493         (openat_ro): Define.
101495         * lib/openat.c (EXPECTED_ERRNO): New macro.
101496         (openat_permissive): New function -- used in remove.c rewrite.
101497         (all functions): Set errno just before returning, only if there
101498         was an actual failure.
101499         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
101501         Emulate openat-family functions using Linux's procfs, if possible.
101502         Idea and some code based on Ulrich Drepper's glibc changes.
101504         * lib/openat.c: (BUILD_PROC_NAME): New macro.
101505         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
101506         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
101507         before falling back on save_cwd and restore_cwd.
101508         (fdopendir, fstatat, unlinkat): Likewise.
101510         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
101511         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
101513         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
101514         as second argument to va_arg.  Otherwise, some versions of gcc
101515         warn that `if this code is reached, the program will abort'.
101517 2006-01-09  Jim Meyering  <jim@meyering.net>
101519         Sync from coreutils.
101520         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
101521         Require openat-priv.h.
101523 2006-01-09  Bruno Haible  <bruno@clisp.org>
101525         * modules/strnlen (Include): Use strnlen.h.
101527 2006-01-09  Bruno Haible  <bruno@clisp.org>
101529         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
101531 2006-01-09  Bruno Haible  <bruno@clisp.org>
101533         * lib/sysexit_.h (EX_OK): New macro.
101534         Suggested by Martin Lambers <marlam@marlam.de>.
101536 2006-01-09  Bruno Haible  <bruno@clisp.org>
101538         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
101539         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
101541 2006-01-09  Bruno Haible  <bruno@clisp.org>
101543         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
101544         numbers.
101546 2006-01-09  Bruno Haible  <bruno@clisp.org>
101548         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
101549         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
101550         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
101551         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
101553 2006-01-09  Bruno Haible  <bruno@clisp.org>
101555         * build-aux/javacomp.sh.in: New file, moved from lib/.
101556         * modules/javacomp-script (Files): Update.
101557         (configure.ac): Add AC_CONFIG_FILES invocation.
101558         (EXTRA_DIST): Remove variable.
101560         * build-aux/javaexec.sh.in: New file, moved from lib/.
101561         * modules/javaexec (Files): Update.
101562         (configure.ac): Add AC_CONFIG_FILES invocation.
101563         (EXTRA_DIST): Remove javaexec.sh.in.
101565         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
101566         * modules/csharpcomp-script (Files): Update.
101567         (configure.ac): Add AC_CONFIG_FILES invocation.
101568         (EXTRA_DIST): Remove variable.
101570         * build-aux/csharpexec.sh.in: New file, moved from lib/.
101571         * modules/csharpexec (Files): Update.
101572         (configure.ac): Add AC_CONFIG_FILES invocation.
101573         (EXTRA_DIST): Remove csharpexec.sh.in.
101575 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101577         Sync from coreutils.
101579         Add POSIX ACL support
101580         * lib/acl.h (copy_acl, set_acl): Add declarations.
101581         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
101582         systems other than Linux.
101583         (chmod_or_fchmod): New function: use fchmod when possible,
101584         and chmod otherwise.
101585         (file_has_acl): Add a POSIX ACL implementation, with a
101586         Linux-specific subcase.
101587         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
101588         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
101589         acls are unsupported.
101590         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
101591         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
101592         are unsupported.
101594 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101596         Sync from coreutils.
101597         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
101599 2006-01-07  Bruno Haible  <bruno@clisp.org>
101601         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
101602         gl_EARLY.
101604 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101606         * lib/strftime.c (tzname): Don't declare if it is already #defined.
101607         Problem reported for Mingw by Mark Junker.
101609 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101611         * README: Gnulib normally doesn't generate a tarball.
101613 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
101615         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
101616         long int, not int, for nanosecond counts, so that people who are
101617         used to POSIX struct timespec won't be surprised.  Reported by Jim
101618         Meyering.
101620 2005-12-28  Bruno Haible  <bruno@clisp.org>
101622         * build-aux/config.rpath: Update from GNU gettext.
101624 2005-12-16  Jim Meyering  <jim@meyering.net>
101626         * modules/fprintftime: New module.
101627         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
101629 2005-12-16  Jim Meyering  <jim@meyering.net>
101631         * m4/fprintftime.m4: New file.
101633 2005-12-16  Jim Meyering  <jim@meyering.net>
101635         * lib/fprintftime.c, lib/fprintftime.h: New files.
101637 2005-12-15  Simon Josefsson  <jas@extundo.com>
101639         * modules/socklen (configure.ac): Fix M4 macro name, to align with
101640         new m4/socklen.m4.
101642 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101644         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
101645         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
101647 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101649         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
101650         * lib/argp-help.c (fill_in_uparams): Check if the constructed
101651         struct uparams is valid. Fall back to the default values if it is
101652         not.
101654 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101656         * modules/argp (Files): Add argp-pin.c
101657         (Depends-on): dirname
101658         (lib_SOURCES): Add argp-pin.c
101660 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101662         * m4/argp.m4:  Check if program_invocation_name and
101663         program_invocation_short_name are declared and define appropriate
101664         macros if they are not.
101666 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101668         * lib/argp-help.c (__argp_base_name): New function
101669         (__argp_short_program_name): Rewrite using __argp_base_name
101670         * lib/argp-namefrob.h: Define program_invocation_name and
101671         program_invocation_short_name if requested
101672         (__argp_base_name): Add prototype
101673         * lib/argp-parse.c (argp_def): Use gettext wrappers
101674         (argp_default_parser): Use __argp_base_name
101675         * lib/argp-pin.c: New file. Defines program_invocation_name and
101676         program_invocation_short_name on systems that lack them.
101678 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101680         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
101681         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101682         porting problem reported by Georg Schwarz in
101683         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101685 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101687         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
101688         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101689         porting problem reported by Georg Schwarz in
101690         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101692 2005-12-05  Bruno Haible  <bruno@clisp.org>
101694         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
101695         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
101696         Reported by Mark Junker <mjscod@gmx.de>.
101698 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
101700         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
101701         Use implementation from Albert Chin, with some
101702         comments/corrections by Stepan Kasal and myself.
101704 2005-12-02  Bruno Haible  <bruno@clisp.org>
101706         * gnulib-tool (func_import): Accept GPLed build tool modules when
101707         --lgpl is given.
101708         * modules/csharpcomp-script: New file.
101709         * modules/csharpcomp: Depend on it.
101710         * modules/javacomp-script: New file.
101711         * modules/javacomp: Depend on it.
101712         Suggested by Simon Josefsson.
101714 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
101716         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
101717         statement, to work around an HP-UX 10.20 compiler bug reported by
101718         Peter O'Gorman.
101720 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101722         * modules/savedir (Depends-on): Add openat.
101724 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101726         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
101727         (uintmax_t) [defined uintmax_t]: Do not declare.
101728         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
101729         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
101730         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
101731         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
101732         sake of portability to weird hosts that C allows (though we don't
101733         know of any practical examples).
101735         * lib/savedir.h (fdsavedir): New decl.
101736         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
101737         contains most of the former guts of savedir.
101738         (savedir): Use savedirstream.
101739         Include "openat.h".
101741 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101743         * modules/obstack (Files): Add m4/ulonglong.m4.
101744         Problem reported by Davide Angelocola.
101746 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101748         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101749         coreutils no longer futzes with rounding modes.
101751 2005-11-14  Jim Meyering  <jim@meyering.net>
101753         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101754         replacement of mkstemp.
101756 2005-11-10  Simon Josefsson  <jas@extundo.com>
101758         * lib/readline.c: Remove EOL.
101760 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101762         * modules/gethrxtime (Depends-on): Add gettime.
101764 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101766         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101767         or gettimeofday; no longer needed.
101769 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101771         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101772         time business.
101773         (gethrxtime) [! (HAVE_NANOUPTIME
101774         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101775         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101776         our own approximation.
101778 2005-11-08  Eric Blake  <ebb9@byu.net>
101780         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101782 2005-11-08  Eric Blake  <ebb9@byu.net>
101784         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101786 2005-11-04  Bruno Haible  <bruno@clisp.org>
101788         * gnulib-tool: Implement --update mode.
101790 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101792         Fix porting problem reported by Theodoros V. Kalamatianos.
101793         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101794         Don't assume that futimes failing means we must fail.
101796 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101798         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101799         variables to suggest the intended function of the PATH_MAX check.
101801 2005-10-30  Kean Johnston  <jkj@sco.com>
101803         Trivial changes to support SCO systems.
101804         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101805         as PATH_MAX.
101806         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101807         where __ptr is null when no I/O is pending.
101809 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101811         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101812         leave errno alone.  Problem reported by Dmitry V. Levin.
101814 2005-10-28  Simon Josefsson  <jas@extundo.com>
101816         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101817         Test more.
101819         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101821         * modules/md2, modules/md2-tests: New files.
101823 2005-10-28  Simon Josefsson  <jas@extundo.com>
101825         * m4/inet_ntop.m4: More tests.
101827         * m4/gc-md2.m4, md2.m4: New file.
101829 2005-10-28  Simon Josefsson  <jas@extundo.com>
101831         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101832         "restrict" keywords, as per POSIX.  Protect the function
101833         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101834         Don't use K&R prototypes.  Check the sprintf return values.
101835         Re-define EAFNOSUPPORT if not present.  Indent.
101837         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101838         suggested by Bruno Haible <bruno@clisp.org>.
101840         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101842         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101844         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101845         libgcrypt).
101847         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101849         * lib/md2.h, lib/md2.c: New files.
101851 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101853         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101854         errno alone.  Problem reported by Frederic Jolliton.
101856 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101858         * modules/verify (License): Change from GPL to LGPL.  This is a
101859         tiny module and there are apparently near-equivalents that are
101860         under the BSD license.
101862 2005-10-24  Simon Josefsson  <jas@extundo.com>
101864         * modules/sha1: Relicense to LGPL.
101866 2005-10-24  Simon Josefsson  <jas@extundo.com>
101868         * lib/md4.h: Shrink buffer size, now that we changed the type.
101870 2005-10-23  Simon Josefsson  <jas@extundo.com>
101872         * gnulib-tool (func_import): Fix --tests-base.
101874 2005-10-22  Simon Josefsson  <jas@extundo.com>
101876         * modules/arcfour (Depends-on): Need stdint.
101878 2005-10-22  Simon Josefsson  <jas@extundo.com>
101880         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101881         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101883 2005-10-22  Simon Josefsson  <jas@extundo.com>
101885         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101886         suggested by Bruno Haible <bruno@clisp.org>.
101888 2005-10-22  Simon Josefsson  <jas@extundo.com>
101890         * lib/crc.h: Include stddef.h, for size_t.
101892 2005-10-22  Simon Josefsson  <jas@extundo.com>
101894         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101895         arcfour_context struct (simplify test vector testing in GNU
101896         Shishi).
101898 2005-10-21  Simon Josefsson  <jas@extundo.com>
101900         * modules/des, modules/des-tests: New files.
101902         * modules/gc-des, modules/gc-des-tests: New files.
101904         * tests/test-des.c, tests/test-gc-des.c: New file.
101906 2005-10-21  Simon Josefsson  <jas@extundo.com>
101908         * modules/arctwo, modules/arctwo-tests: New files.
101910         * tests/test-arctwo.c: New file.
101912         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101914         * tests/test-gc-arctwo.c: New file.
101916 2005-10-21  Simon Josefsson  <jas@extundo.com>
101918         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101919         Bruno Haible <bruno@clisp.org>.
101921         * m4/gc-des.m4: New file.
101923 2005-10-21  Simon Josefsson  <jas@extundo.com>
101925         * m4/arctwo.m4: New file.
101927         * m4/gc-arctwo.m4: New file.
101929 2005-10-21  Simon Josefsson  <jas@extundo.com>
101931         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101932         block.
101934 2005-10-21  Simon Josefsson  <jas@extundo.com>
101936         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101937         <bruno@clisp.org>.
101939         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101941         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101942         Bruno Haible <bruno@clisp.org>.
101944         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101945         <bruno@clisp.org>.
101947 2005-10-21  Simon Josefsson  <jas@extundo.com>
101949         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101951 2005-10-21  Simon Josefsson  <jas@extundo.com>
101953         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101955 2005-10-21  Simon Josefsson  <jas@extundo.com>
101957         * lib/des.h, lib/des.c: New files.
101959         * lib/gc-gnulib.c: Support DES.c
101961 2005-10-21  Simon Josefsson  <jas@extundo.com>
101963         * lib/arctwo.h, lib/arctwo.c: New files.
101965         * lib/gc-gnulib.c: Support ARCTWO.
101967 2005-10-21  Simon Josefsson  <jas@extundo.com>
101969         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
101970         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101972 2005-10-21  Simon Josefsson  <jas@extundo.com>
101974         * gnulib-tool (func_import, func_create_testdir): Define automake
101975         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
101976         Makefile.am snippet),
101977         suggested by Bruno Haible <bruno@clisp.org>.
101979         * modules/gc (Makefile.am): Use it.
101981 2005-10-21  Bruno Haible  <bruno@clisp.org>
101983         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
101984         patch.
101986 2005-10-19  Simon Josefsson  <jas@extundo.com>
101988         * tests/test-gc-rijndael.c: New file.
101990         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
101992 2005-10-19  Simon Josefsson  <jas@extundo.com>
101994         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
101995         interface too.
101997 2005-10-19  Simon Josefsson  <jas@extundo.com>
101999         * tests/test-gc-arcfour.c: New file.
102001         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
102003 2005-10-19  Simon Josefsson  <jas@extundo.com>
102005         * modules/gc-md4, modules/gc-md4-tests: New file.
102007         * tests/test-gc-md4.c: New file.
102009 2005-10-19  Simon Josefsson  <jas@extundo.com>
102011         * m4/gc-md4.m4: New file.
102013 2005-10-19  Simon Josefsson  <jas@extundo.com>
102015         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
102016         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
102017         <kasal@ucw.cz>.
102019 2005-10-19  Simon Josefsson  <jas@extundo.com>
102021         * m4/gc-arcfour.m4: New file.
102023         * m4/gc-rijndael.m4: New file.
102025 2005-10-19  Simon Josefsson  <jas@extundo.com>
102027         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
102029 2005-10-19  Simon Josefsson  <jas@extundo.com>
102031         * lib/gc-gnulib.c: Support ARCFOUR.
102033 2005-10-19  Simon Josefsson  <jas@extundo.com>
102035         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
102036         support.
102038         * lib/gc.h: Add ECB enum type.
102040         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
102042 2005-10-18  Simon Josefsson  <jas@extundo.com>
102044         * tests/test-md5.c: New file.
102046         * modules/md5-tests: New file.
102048 2005-10-18  Simon Josefsson  <jas@extundo.com>
102050         * tests/test-md4.c: New file.
102052         * modules/md4, modules/md4-tests: New files.
102054 2005-10-18  Simon Josefsson  <jas@extundo.com>
102056         * m4/md4.m4: New file.
102058 2005-10-18  Simon Josefsson  <jas@extundo.com>
102060         * lib/md4.h, lib/md4.c: New files, based on md5.?.
102062 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
102064         * gnulib-tool (func_create_testdir): Omit the second check whether
102065         BUILT_SOURCES in nonempty.
102067 2005-10-17  Simon Josefsson  <jas@extundo.com>
102069         * tests/test-rijndael.c: New file.
102071 2005-10-17  Simon Josefsson  <jas@extundo.com>
102073         * modules/sha1: Depend on stdint instead of md5.
102075         * modules/md5: Depend on stdint, remove uint32_t.
102077 2005-10-17  Simon Josefsson  <jas@extundo.com>
102079         * modules/gc-sha1-tests: New file.
102081         * tests/test-gc-sha1.c: New file.
102083 2005-10-17  Simon Josefsson  <jas@extundo.com>
102085         * m4/md5.m4: Remove call to uint32_t.m4.
102087 2005-10-17  Simon Josefsson  <jas@extundo.com>
102089         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
102091         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
102092         md5.h.
102094         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
102096         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
102098 2005-10-17  Simon Josefsson  <jas@extundo.com>
102100         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
102102 2005-10-17  Simon Josefsson  <jas@extundo.com>
102104         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
102106 2005-10-17  Simon Josefsson  <jas@extundo.com>
102108         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
102110         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
102112 2005-10-17  Bruno Haible  <bruno@clisp.org>
102114         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
102115         that it can also be used in a test.
102117 2005-10-16  Bruno Haible  <bruno@clisp.org>
102119         * gnulib-tool (func_emit_tests_Makefile_am): Also define
102120         TESTS_ENVIRONMENT, so that individual tests can augment it.
102122         * gnulib-tool (func_create_testdir): Use an intermediate target for
102123         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
102124         macros, like $(ALLOCA_H), which cannot be passed through the command
102125         line.
102127 2005-10-15  Simon Josefsson  <jas@extundo.com>
102129         * modules/rijndael-tests: New file.
102131         * modules/rijndael: New file.
102133 2005-10-15  Simon Josefsson  <jas@extundo.com>
102135         * m4/rijndael.m4: New file.
102137 2005-10-15  Simon Josefsson  <jas@extundo.com>
102139         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
102141         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
102143 2005-10-14  Simon Josefsson  <jas@extundo.com>
102145         * tests/test-arcfour.c: New file.
102147         * modules/arcfour, modules/arcfour-tests: New files.
102149 2005-10-14  Simon Josefsson  <jas@extundo.com>
102151         * m4/arcfour.m4: New file.
102153 2005-10-14  Simon Josefsson  <jas@extundo.com>
102155         * lib/arcfour.h, lib/arcfour.c: New files.
102157 2005-10-14  Roland McGrath  <roland@redhat.com>
102159         Import from libc.  [BZ #1331]
102160         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
102161         macro argument.
102162         Reported by Matej Vela <vela@debian.org>.
102164 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102166         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
102167         include <wchar.h>; no longer needed.
102169 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102171         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
102173 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
102174         and  Ulrich Drepper  <drepper@redhat.com>
102176         Import from libc.
102177         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
102178         instead of inline stream orientation test and two separate
102179         function calls.  Pay no attention to USE_IN_LIBIO.
102181 2005-10-13  Simon Josefsson  <jas@extundo.com>
102183         * modules/gc-hmac-md5-tests: New file.
102185         * tests/test-gc-hmac-sha1.c: New file.
102187         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
102189         * modules/gc-hmac-md5-tests: New file.
102191         * tests/test-gc-md5.c: New file.
102193         * modules/gc-md5-tests: New file.
102195 2005-10-13  Simon Josefsson  <jas@extundo.com>
102197         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
102198         Move memory allocation outside of loop.
102200 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
102202         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
102203         intermediate directory is in a read-only file system.  Problem
102204         reported by Eric Blake.
102206 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
102208         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
102210 2005-10-12  Simon Josefsson  <jas@extundo.com>
102212         * tests/test-hmac-sha1.c: New file.
102214         * modules/hmac-sha1-tests: New file.
102216         * modules/hmac-sha1: New file.
102218 2005-10-12  Simon Josefsson  <jas@extundo.com>
102220         * modules/gc-sha1: New file.
102222 2005-10-12  Simon Josefsson  <jas@extundo.com>
102224         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
102226         * tests/test-gc-pbkdf2-sha1.c: New file.
102228 2005-10-12  Simon Josefsson  <jas@extundo.com>
102230         * modules/gc-md5, modules/gc-hmac-md5: New files.
102232         * modules/gc (Files): Remove md5, memxor and hmac files.
102234 2005-10-12  Simon Josefsson  <jas@extundo.com>
102236         * m4/gc-pbkdf2-sha1.m4: New file.
102238         * m4/gc-hmac-sha1.m4: New file.
102240         * m4/gc-sha1: New file.
102242         * m4/hmac-sha1.m4: New file.
102244 2005-10-12  Simon Josefsson  <jas@extundo.com>
102246         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
102248         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
102250 2005-10-12  Simon Josefsson  <jas@extundo.com>
102252         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
102253         suggested by Bruno Haible <bruno@clisp.org>.
102255 2005-10-12  Simon Josefsson  <jas@extundo.com>
102257         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
102259 2005-10-12  Simon Josefsson  <jas@extundo.com>
102261         * lib/gc-pbkdf2-sha1.c: New file.
102263         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
102265 2005-10-12  Simon Josefsson  <jas@extundo.com>
102267         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
102269         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
102271 2005-10-12  Simon Josefsson  <jas@extundo.com>
102273         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
102274         GC_USE_HMAC_MD5, respectively.
102276         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
102277         (gc_md5): Fix typo.
102279         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
102281         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
102283         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
102285 2005-10-12  Bruno Haible  <bruno@clisp.org>
102287         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
102288         Reported by Stepan Kasal <kasal@ucw.cz>.
102290 2005-10-11  Simon Josefsson  <jas@extundo.com>
102292         * tests/test-crc.c: New file.
102294         * modules/crc, modules/crc-tests: New files.
102296 2005-10-11  Simon Josefsson  <jas@extundo.com>
102298         * m4/crc.m4: New file.
102300 2005-10-11  Simon Josefsson  <jas@extundo.com>
102302         * lib/gc.h: Add gc_hash and gc_hash_buffer.
102304         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
102306         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
102308 2005-10-11  Simon Josefsson  <jas@extundo.com>
102310         * lib/crc.h, lib/crc.c: New files.
102312         * lib/gc.h (gc_hash_buffer): Add doc.
102314 2005-10-11  Bruno Haible  <bruno@clisp.org>
102316         * modules/c-strcasestr: New file.
102317         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
102319 2005-10-11  Bruno Haible  <bruno@clisp.org>
102321         * modules/c-strcase: New file.
102322         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
102324 2005-10-11  Bruno Haible  <bruno@clisp.org>
102326         * lib/strcasecmp.c: Include limits.h.
102327         (strcasecmp): Avoid integer overflow on exotic platforms.
102328         * lib/strncasecmp.c: Include limits.h.
102329         (strncasecmp): Avoid integer overflow on exotic platforms.
102330         Reported by Paul Eggert.
102332 2005-10-11  Bruno Haible  <bruno@clisp.org>
102334         * lib/c-strcasestr.h: New file, from GNU gettext.
102335         * lib/c-strcasestr.c: New file, from GNU gettext.
102337 2005-10-11  Bruno Haible  <bruno@clisp.org>
102339         * lib/c-strcase.h: New file, from GNU gettext.
102340         * lib/c-strcasecmp.c: New file, from GNU gettext.
102341         * lib/c-strncasecmp.c: New file, from GNU gettext.
102343 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
102345         * modules/mempcpy (License): GPL -> LGPL.
102346         * modules/strchrnul (License): Likewise.
102347         * modules/sysexits (License): Likewise.
102349 2005-10-08  Simon Josefsson  <jas@extundo.com>
102351         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
102353 2005-10-07  Simon Josefsson  <jas@extundo.com>
102355         * m4/memxor.m4: Remove gl_C_RESTRICT call.
102357 2005-10-06  Simon Josefsson  <jas@extundo.com>
102359         * tests/test-hmac-md5.c: New file.
102361         * modules/hmac-md5-tests: New file.
102363         * modules/hmac-md5: New file.
102365 2005-10-06  Simon Josefsson  <jas@extundo.com>
102367         * m4/hmac-md5.m4: New file.
102369         * m4/memxor.m4: Require gl_C_RESTRICT.
102371 2005-10-06  Simon Josefsson  <jas@extundo.com>
102373         * lib/memxor.c (memxor): Avoid casts and warnings.
102375 2005-10-06  Simon Josefsson  <jas@extundo.com>
102377         * lib/hmac-md5.c: New file.
102379         * lib/hmac.h: New file.
102381 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
102383         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
102384         promotes to int, not unsigned int, to catch the AIX 5.3
102385         compiler bug.
102387 2005-10-05  Simon Josefsson  <jas@extundo.com>
102389         * modules/memxor: New file.
102391         * modules/iconv (Files): Move config.rpath to havelib, it is used
102392         there.
102394         * modules/havelib (Files): Add config.rpath.
102396 2005-10-05  Simon Josefsson  <jas@extundo.com>
102398         * m4/memxor.m4: New file.
102400 2005-10-05  Simon Josefsson  <jas@extundo.com>
102402         * lib/memxor.c (memxor): Fix compiler error.
102404         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
102405         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
102407         * lib/memxor.h, lib/memxor.c: New files.
102409         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
102410         we assume all systems have it, suggested by Jim Meyering
102411         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
102412         any systems lack sys/socket.h; mingw32 is known to lack it, but we
102413         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
102414         same reasons.
102416 2005-10-05  Simon Josefsson  <jas@extundo.com>
102418         * config/srclist.txt: Add glibc bug 1423 for md5.h.
102420 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
102422         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
102423         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
102424         needed, since the source code now assumes these .h files.
102426 2005-10-05  Derek Price  <derek@ximbiot.com>
102428         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
102430 2005-10-05  Bruno Haible  <bruno@clisp.org>
102432         * modules/stdint (License): Change to LGPL.
102434 2005-10-04  Simon Josefsson  <jas@extundo.com>
102436         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
102437         D. Baushke" <mdb@gnu.org>.
102439 2005-10-04  Bruno Haible  <bruno@clisp.org>
102441         * lib/verify.h (verify_true): Provide alternative definition for C++.
102443 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
102445         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
102446         (SSIZE_MAX): New macro, if not already defined.
102447         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
102448         than 2 GiB.
102450 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102452         Sync from coreutils.
102453         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
102454         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
102455         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
102456         ULLONG_MAX doesn't work with 2.7.2.1.
102458 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102460         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
102461         From Ben Pfaff.
102463         * modules/exclude (Depends-on): Depend on verify.
102464         * modules/strtoimax (Depends-on): Likewise.
102465         * modules/utimecmp (Depends-on): Likewise.
102467 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102469         * lib/exclude.c: Include verify.h.
102470         (verify): Remove.  All callers changed to use verify.h's version.
102471         * lib/strtoimax.c: Likewise.
102472         * lib/utimecmp.c: Likewis.e
102474         Sync from coreutils.
102475         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
102476         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
102477         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
102478         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
102479         bother returning ENOSYS if settimeofday or stime fails; just let
102480         them return whatever errno they want to return.
102481         * lib/utimens.c: Include unistd.h, for dup2.
102482         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
102483         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
102485 2005-10-02  Jim Meyering  <jim@meyering.net>
102487         Sync from coreutils.
102488         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
102489         from glibc-2.2.5 that fails for read-only files.
102491 2005-10-02  Jim Meyering  <jim@meyering.net>
102493         Sync from coreutils.
102494         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
102495         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
102496         `#if HAVE_CONFIG_H'.
102497         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
102498         Remove AT_FDCWD test.
102499         Do not consume the fd unless successful.
102500         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
102501         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
102502         block, so that we don't even try to compile it if settimeofday is
102503         available.  This works around a compilation failure on OSF1 V5.1,
102504         due to stime requiring a `long int*' while tv_sec is `int'.
102506 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
102508         Sync from coreutils.
102509         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
102510         against `yes', rather than just testing for nonempty.
102512 2005-10-01  Simon Josefsson  <jas@extundo.com>
102514         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
102515         and Darwin.
102517         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
102518         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
102519         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
102520         freeaddrinfo and gai_strerror are declared by the POSIX headers.
102521         Check if struct addrinfo is declared.
102523 2005-10-01  Simon Josefsson  <jas@extundo.com>
102525         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
102526         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
102527         AI_* and EAI_* definitions.  Protect function declarations.
102529 2005-10-01  Jim Meyering  <jim@meyering.net>
102531         Sync from coreutils.
102533         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
102534         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
102535         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
102536         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102537         in the inet and nsl libraries.  Required on Solaris 5.7.
102539 2005-10-01  Jim Meyering  <jim@meyering.net>
102541         Sync from coreutils.
102542         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102543         in the inet and nsl libraries.  Required on Solaris 5.7.
102545 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
102547         * lib/getdelim.c (getdelim): Remove unused variables.
102549 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
102551         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
102552         so that the code works even with ancient cpp.  Portability problem
102553         with GCC 2.7.2.1 reported by Thomas M.Ott.
102555 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
102557         * modules/regex (Depends-on): Add strcase.
102559         * modules/gethostname (Licence): Change from GPL to LGPL, since
102560         gethostname.c is a trivial implementation of a standard library
102561         function.
102562         * modules/poll (License): Change from GPL to LGPL, since it's
102563         derived from LGPL code.
102565 2005-09-27  Jim Meyering  <jim@meyering.net>
102567         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
102568         HAVE_CONFIG_H.
102570         * lib/intprops.h (signed_type_or_expr__): Define.
102571         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
102572         for unsigned types.
102574 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
102576         * lib/verify.h (verify_expr): Remove, replacing with:
102577         (verify_true): New macro that returns true instead of void.
102578         (verify_type__): Remove.
102579         (verify): Use verify_true rather than verify_type__.
102581 2005-09-26  Bruno Haible  <bruno@clisp.org>
102583         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
102584         is necessary.
102585         (lib_SOURCES): Remove mbchar.c.
102586         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
102587         (Files): Add m4/mbrtowc.m4.
102588         * modules/mbiter: Likewise.
102589         * modules/mbuiter: Likewise.
102591 2005-09-26  Bruno Haible  <bruno@clisp.org>
102593         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
102594         compile mbchar.c if they are not both present.
102595         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
102596         * m4/mbiter.m4 (gl_MBITER): Likewise.
102597         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
102598         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
102599         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
102601 2005-09-25  Jim Meyering  <jim@meyering.net>
102603         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
102604         also uses socklen_t.
102606 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
102608         * lib/utimens.c (ENOSYS): Define if not already defined.
102609         (futimens): Support having a null PATH if the file descriptor
102610         is nonnegative.
102612         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
102613         Remove.
102614         (__attribute): Define to empty unless GCC 3.1 or later.
102615         This works around a core dump on OpenBSD 3.4, which has GCC
102616         2.95.3, which dumps core when given __attribute__(()).  It also
102617         simplifies other tests, since we really don't want to bother with
102618         worrying about which ancient version of GCC supported what.
102619         Original problem reported by Yoann Vandoorselaere, with part of
102620         the fix suggested by Derek Price.
102622 2005-09-24  Jim Meyering  <jim@meyering.net>
102624         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
102625         so we can once again use a positive bitfield width of 1 -- now we
102626         don't have to explain why we were using a bitfield width of 2.
102628 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102630         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
102631         and similarly for the other external symbols.  Problem reported
102632         by James Gallager.
102634         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
102635         bug reported by Jim Meyering.
102637         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
102638         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
102639         not needed, since socklen is a prerequisite module.
102641 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102643         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
102644         Problem reported by Eric Blake.
102645         (getaddrinfo): Initialize se so that it's not garbage.
102646         Redo internal storage allocation so that it doesn't make unportable
102647         assumptions about alignment.
102648         Fix a memory leak.
102650         * lib/utimens.c (futimens): Use futimesat if available.
102651         Prefer it to futimes since it doesn't have the futimes bug.
102653         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
102654         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
102655         Instead, declare a function that returns a pointer to an array,
102656         and use verify_type__ to declare the size of the array.
102657         Problem and germ of a solution reported by Bruno Haible.
102658         (verify_type__): Use 2, not 1, for bitfield size, to avoid
102659         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
102661 2005-09-23  Jim Meyering  <jim@meyering.net>
102663         Sync from coreutils.
102664         Correct build failure (socklen_t not defined) on at least
102665         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
102666         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
102668 2005-09-23  Jim Meyering  <jim@meyering.net>
102670         * modules/getaddrinfo (Depends-on): Add socklen.
102672 2005-09-23  Bruno Haible  <bruno@clisp.org>
102674         * tests/test-verify.c: New file.
102676 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102678         Sync from coreutils.
102680         * modules/argmatch (Depends-on): Add verify.
102681         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
102682         unistd-safer.
102683         * modules/save-cwd (Depends-on): Likewise.
102685         * modules/openat (Files): Add lib/openat-die.c.
102686         (Depends-on): Remove error, exitfail.
102687         Add dirname.
102689         * modules/verify: New file.
102690         * MODULES.html.sh (Diagnostics <assert.h>): New section,
102691         with "verify" module.
102693 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102695         Sync from coreutils.
102697         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
102698         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
102699         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
102700         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
102701         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
102702         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
102703         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
102704         Don't bother checking for string.h, stdlib.h, unistd.h.
102705         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
102706         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
102707         module's job.
102708         * m4/jm-macros.m4 (gl_MACROS): Likewise.
102709         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
102711         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
102712         (gl_GETDATE): Use it.
102714         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
102716 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102718         Sync from coreutils.
102720         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
102721         stat-time.h.
102722         * lib/argmatch.h: Include verify.h
102723         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
102724         (ARGMATCH_ASSERT): Remove; unused.
102725         * lib/canonicalize.c: Assume STDC_HEADERS.
102726         * lib/exclude.c: Include "strcase.h".
102727         * lib/regex_internal.h [!defined _LIBC]: Likewise.
102728         * lib/getusershell.c: Include stdio--.h rather than stdio.h
102729         and stdio-safer.h.
102730         (getusershell): Call fopen, not fopen_safer.
102731         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
102732         Do not include unistd-safer.h.
102733         (save_cwd): Don't call fd_safer; no longer needed
102734         now that we include fcntl--.h.
102736         * lib/getdate.y (relative_time): New type.
102737         (RELATIVE_TIME_0): New constant.
102738         (parser_control): Use relative_time instead of doing it ourselves.
102739         (%union): Add new relative_time rel member.
102740         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102741         Now typeless.
102742         (relunit, relunit_snumber): Now of type rel.
102743         (zone, rel, relunit, get_date): Adjust to above changes.
102745         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102746         Do not include unistd-safer.h.
102747         (getloadavg): Don't call fd_safer; no longer needed
102748         now that we include fcntl--.h.
102750         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102751         (make_dir_parents): Treat ENOSYS like EEXIST.
102753         Improve quality of diagnostics on restore_cwd failure.
102754         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102755         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102756         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102757         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102758         each time through the loop.  Do not diagnose restore_cwd failure;
102759         that is the caller's job (and perhaps the caller does not care).
102761         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102762         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102763         If the file already exists but is not a directory, don't bother
102764         to try to make its parents.
102765         Close potential file descriptor leak if we can't chdir("/") (!).
102766         Don't always return true if chdir($PWD) fails; return true only
102767         if the requested action was done successfully (except for the
102768         chdir($PWD)).
102769         Don't log final directory unless we actually made it.
102770         Refactor to avoid duplicate code to fix up permissions.
102771         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102773         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102774         to make it a bit faster and (I hope) clearer.
102775         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102776         Fix bug in formats like %2N.
102778         * lib/verify.h: New file.
102780 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102782         Sync from coreutils.
102783         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102785 2005-09-22  Jim Meyering  <jim@meyering.net>
102787         Sync from coreutils.
102789         * m4/lstat.m4 (gl_FUNC_LSTAT):
102790         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102791         Remove obsolete comment.
102792         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102793         * m4/xstrtod.m4: Likewise.
102795         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102797 2005-09-22  Jim Meyering  <jim@meyering.net>
102799         Sync from coreutils.
102801         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102803         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102804         the .tm_year member, since otherwise gcc-4.0 would now warn about
102805         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102807         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102808         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102810         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102811         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102812         when run in a time zone for which daylight savings time is in effect
102813         for the starting date.
102815         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102816         stop us from restricting permissions of just-created absolute-named
102817         directories.
102818         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102819         to restore initial working directory.
102820         * lib/mkdir-p.c (make_dir_parents): New parameter:
102821         different_working_dir, to tell caller if/when we change the working
102822         directory and are unable to return to the initial one.
102823         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102824         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102825         `return false'.  This fixes a bug introduced on 2004-07-30.
102827         * lib/openat.c (fdopendir): Be sure to close the supplied
102828         file descriptor before returning.  This makes our replacement
102829         implementation a little closer to Solaris's, where fdopendir
102830         ties the file descriptor to the returned DIR* pointer.
102831         * lib/openat.c (unlinkat): New function.
102832         * lib/openat.h (unlinkat): Add prototype.
102833         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102834         (openat_restore_fail): Rename from openat_restore_die.
102835         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102837         Provide an alternative to exiting immediately upon save_cwd or
102838         restore_cwd failure.  Now, an application can arrange e.g.,
102839         to perform a longjump in that case.
102840         * lib/openat.c: Include dirname.h.
102841         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102842         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102843         and openat_restore_die rather than calling error directly.
102844         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102846         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102847         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102848         define.
102850         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102851         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102852                             int utc, int nanoseconds);
102853         Background:
102854         date should not have to allocate a megabyte of virtual memory to
102855         handle a format argument like +%1048575T.  When implemented with
102856         strftime, it must allocate such a buffer, use strftime to fill it
102857         in, print it, then free it.
102858         With fprintftime, it simply prints everything and exits.
102859         With no need for memory allocation, that's one fewer way to fail.
102860         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102861         optional field width, not before, so we accept %9:z, not %:9z.
102862         (my_strftime): Be sure to use L_('x') for literals.
102864         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102865         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102866         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102867         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102868         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102869         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102870         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102871         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102872         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102873         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102874         * lib/xgethostname.c, lib/xreadlink.c:
102875         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102877         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102878         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102879         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102880         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102881         and don't include <sys/file.h>).
102883 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102885         Sync from coreutils.
102887         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102888         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102889         [!LDAV_DONE]: Avoid unused variable warning.
102891 2005-09-21  Bruno Haible  <bruno@clisp.org>
102893         * lib/unicodeio.h (unicode_to_mb): New declaration.
102895 2005-09-20  Derek Price  <derek@ximbiot.com>
102897         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102898         getaddrinfo.h.
102900 2005-09-20  Bruno Haible  <bruno@clisp.org>
102902         * gnulib-tool: Remove trailing slashes from the values specified for
102903         --source-base, --m4-base, --tests-base, --aux-dir.
102904         Suggested by Simon Josefsson <jas@extundo.com>.
102906 2005-09-20  Bruno Haible  <bruno@clisp.org>
102908         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102909         func_modules_to_filelist, func_import, func_create_testdir): Make all
102910         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102911         change when gnulib-tool is invoked in a different locale.
102913 2005-09-19  Simon Josefsson  <jas@extundo.com>
102915         * m4/socklen.m4: Fix typo.
102917 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102919         Use a consistent style for including <config.h>.
102920         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102921         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102922         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102923         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102924         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102925         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102926         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102927         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102928         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102929         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102930         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102931         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102932         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102933         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102934         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102935         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102936         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102937         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102938         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102939         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102940         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102941         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102942         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102943         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102944         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102945         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102946         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102947         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102948         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102949         lib/xstrtoumax.c, lib/yesno.c:
102950         Standardize inclusion of config.h.
102951         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102952         lib/inttostr.h:  Removed inclusion of config.h from header files.
102953         * lib/inttostr.c:  Adjusted in-tree users.
102954         * lib/timespec.h: Remove superfluous warning to include config.h.
102955         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102956         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102957         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102958         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102959         config.h with HAVE_CONFIG_H.
102961 2005-09-19  Jim Meyering  <jim@meyering.net>
102963         * modules/pathmax (License): Change to LGPL.
102965 2005-09-19  Derek Price  <derek@ximbiot.com>
102967         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
102969 2005-09-19  Bruno Haible  <bruno@clisp.org>
102971         * gnulib-tool (import): Provide default for --tests-base.
102973 2005-09-19  Bruno Haible  <bruno@clisp.org>
102975         * doc/quote.texi: New file, extracted from gnulib.texi.
102976         * doc/ctime.texi: New file, extracted from gnulib.texi.
102977         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
102978         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
102979         * doc/gnulib.texi: Include them.
102981 2005-09-18  Bruno Haible  <bruno@clisp.org>
102983         Portability fix.
102984         * gnulib-tool (func_readlink): New function.
102985         (func_ln_if_changed): Use it.
102987 2005-09-18  Bruno Haible  <bruno@clisp.org>
102989         * gnulib-tool: Support --with-tests also with --import.
102990         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
102991         (func_import): Use variables $testsbase and $inctests. Emit a
102992         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
102993         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
102994         SUBDIRS += $testsdir.
102995         (func_create_testdir): Update.
102997 2005-09-18  Bruno Haible  <bruno@clisp.org>
102999         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
103000         instead of $dry_run.
103001         (func_cp_if_changed, func_mv_if_changed): Remove functions.
103002         (func_ln_if_changed): Don't handle dry-run here.
103003         (func_import): In dry-run mode, detect more precisely which actions
103004         would be performed, and don't use "...ing" verbs.
103006 2005-09-18  Bruno Haible  <bruno@clisp.org>
103008         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
103009         (func_import): Use join on two temporary files instead of three nested
103010         loops, in order to determine which files are new or old.
103012 2005-09-18  Bruno Haible  <bruno@clisp.org>
103014         * gnulib-tool (func_import): Comment out code that spits out the
103015         new files with --dry-run.
103017 2005-09-18  Bruno Haible  <bruno@clisp.org>
103019         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
103021 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103023         * lib/stat-time.h: New file.
103024         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
103025         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
103026         in a different way.
103027         (timespec_cmp): New function.
103028         * lib/utimecmp.c: Include stat-time.h.
103029         (SYSCALL_RESOLUTION): Depend on whether various struct stat
103030         members exist, not on the obsolescent ST_MTIM_NSEC.
103031         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
103033 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103035         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
103037 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103039         * MODULES.html.sh (File system functions): Add stat-time.
103040         * modules/stat-time: New file.
103041         * modules/timespec (Files): Remove m4/st_mtim.m4; this
103042         is now done in a different way, by the stat-time module.
103043         * modules/utimecmp (Depends-on): Add stat-time.
103045 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103047         * m4/st_mtim.m4: Remove.  Superseded by...
103048         * m4/stat-time.m4: New file.
103049         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
103050         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
103052 2005-09-15  Derek Price  <derek@ximbiot.com>
103054         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
103056 2005-09-15  Derek Price  <derek@ximbiot.com>
103058         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
103059         * lib/regex_internal.c: Ditto, using this...
103060         (__GNUC_PREREQ): ...new macro.
103061         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
103062         using...
103063         (__GNUC_PREREQ): ...this new macro.
103065         * lib/strstr.h: Include string.h. Define strstr as a macro here.
103067 2005-09-15  Derek Price  <derek@ximbiot.com>
103068             Paul Eggert  <eggert@cs.ucla.edu>
103070         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
103071         changes, consolidating in...
103072         * lib/regex_internal.h: ...this file.
103074 2005-09-13  Jim Meyering  <jim@meyering.net>
103076         * lib/canon-host.c: Filter through gnu indent and reword comments
103077         slightly.
103078         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
103080 2005-09-13  Derek Price  <derek@ximbiot.com>
103082         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
103083         failure.
103084         Reported by Jim Meyering  <jim@meyering.net>.
103086 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
103088         * lib/base64.c: Typo.
103089         (base64_encode): Put b64str in initialized data section.
103091 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
103093         Merge glibc and coreutils changes into gnulib, plus a few
103094         extra fixes.
103095         * lib/md5.c: Use #error rather than a string.
103096         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
103097         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
103098         (__attribute__): Define to empty for non recent-GCC.
103099         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
103100         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
103101         Renamed from their non-__ counterparts, with new macros replacing
103102         them if not _LIBC.  Add __THROW attribute.
103103         (rol): Remove.
103104         (struct md5_ctx): Align buffer if using GCC.
103105         * lib/sha1.h (struct sha1_ctx): Likewise.
103106         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
103107         The old name was backwards.
103108         (NOTSWAP): Remove; not used.
103109         (rol): New macro, moved here from md5.h.
103110         (sha1_process_block): Remove a FIXME that doesn't make sense.
103112 2005-09-12  Derek Price  <derek@ximbiot.com>
103114         Return usable errors from canon-host.
103115         * lib/canon-host.h: New file.
103116         * lib/canon-host.c (canon_host): Wrap...
103117         (canon_host_r): ...this new function, which now relies exclusively on
103118         getaddrinfo.
103119         (ch_strerror): New function.
103120         (last_cherror): New global.
103121         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
103122         interface.
103123         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
103124         void *.
103125         (freeaddrinfo): Free ai->ai_canonname when set.
103127 2005-09-12  Derek Price  <derek@ximbiot.com>
103129         Make canon-host require getaddrinfo.
103130         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
103131         AC_LIBSOURCE canon-host.h.  Call...
103132         (gl_PREREQ_CANON_HOST): ...this new function, which requires
103133         gl_GETADDRINFO.
103134         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
103136 2005-09-12  Derek Price  <derek@ximbiot.com>
103138         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
103139         LGPL.
103140         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
103142 2005-09-12  Derek Price  <derek@ximbiot.com>
103144         * lib/gai_strerror.c: Include config.h when available.  Include
103145         getaddrinfo.h before other headers to test interface.
103146         Reported by Larry Jones <lawrence.jones@ugs.com>.
103148 2005-09-12  Derek Price  <derek@ximbiot.com>
103149             Paul Eggert  <eggert@cs.ucla.edu>
103151         * modules/glob (Files): Add glob-libc.h.
103153 2005-09-12  Derek Price  <derek@ximbiot.com>
103154             Paul Eggert  <eggert@cs.ucla.edu>
103156         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
103157         glob_.h, glob-libc.h.
103158         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
103160 2005-09-12  Derek Price  <derek@ximbiot.com>
103161             Paul Eggert  <eggert@cs.ucla.edu>
103163         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
103164         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
103165         protecting things that should be done only in gnulib contexts.
103166         * lib/glob_.h: New file, containing only the glob things needed for
103167         gnulib.
103168         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
103169         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
103170         (glob, globfree, glob_pattern_p): Now defined simply in terms of
103171         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
103172         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
103173         and to respect the namespace rules better.
103175 2005-09-08  Simon Josefsson  <jas@extundo.com>
103177         * modules/socklen: New file.
103179 2005-09-08  Simon Josefsson  <jas@extundo.com>
103181         * m4/socklen.m4: New file.
103183 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103185         * modules/utimens (Files): Add m4/utimbuf.m4, since
103186         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
103187         Reported by Sergey Poznyakoff.
103189 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103191         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
103192         definitions, since that's the preferred style in glibc.
103193         Fix a minor spacing issue, and update copyright notice to match
103194         glibc's.
103196 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103198         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
103200 2005-09-06  Simon Josefsson  <jas@extundo.com>
103202         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
103203         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
103205 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103207         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
103208         warning.
103210 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103212         * config/srclist.txt: Add glibc bug 1302.
103214 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
103216         Change bitset word type from unsigned int to unsigned long int,
103217         as this has better performance on typical 64-bit hosts.
103218         Port bitset code to hosts with unusual word sizes.
103219         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
103220         (build_collating_symbol):
103221         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
103222         argument is a bitset.  This is merely a style issue, but it makes
103223         it clearer that an entire array is expected.
103224         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
103225         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
103226         Port to the case where bitset_word is not the same as unsigned int.
103227         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103228         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
103229         Likewise.
103230         * lib/regexec.c (check_dst_limits_calc_pos_1,
103231         check_subexp_matching_top):
103232         (build_trtable, group_nodes_into_DFAstates):
103233         Likewise.
103234         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
103235         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
103236         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
103237         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
103238         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
103239         * lib/regcomp.c (optimize_subexps, lower_subexp):
103240         Work even if bitset_word has holes in its bitwise representation.
103241         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
103242         * lib/regexec.c (check_dst_limits_calc_pos_1,
103243         check_subexp_matching_top):
103244         Likewise.
103245         * lib/regex_internal.c (re_string_reconstruct):
103246         Don't assume UCHAR_MAX == 255.
103247         * lib/regex_internal.h (bitset_set_all): Likewise.
103248         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
103249         All uses changed.
103250         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
103251         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
103252         All uses changed.
103253         (BITSET_WORD_MAX): New macro.
103254         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
103255         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
103256         (bitset_empty, bitset_copy):
103257         Prefer sizeof (bitset) to multiplying it out ourselves.
103258         (bitset_not_merge): Remove; unused.
103259         (bitset_contain): Return bool, not unsigned int with one bit on.
103260         All callers changed.
103261         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
103262         alignment than re_node_set; do this by defining a new internal
103263         type struct dests_alloc and using it to allocate memory.
103265 2005-09-05  Bruno Haible  <bruno@clisp.org>
103267         * gnulib-tool (func_import): Fix comparison in handling of symbolic
103268         links.
103270 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
103272         * modules/size_max (Makefile.am): Add size_max.h
103274 2005-09-04  Derek Price  <derek@ximbiot.com>
103276         * gnulib-tool (func_import): Fix reversed $symbolic logic.
103278 2005-09-03  Simon Josefsson  <jas@extundo.com>
103280         * gnulib-tool: Fix typo.
103282 2005-09-03  Simon Josefsson  <jas@extundo.com>
103284         * config/srclist.txt: Add glibc bug 1293.
103286 2005-09-03  Derek Price  <derek@ximbiot.com>
103288         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
103289         From Larry Jones <lawrence.jones@ugs.com>.
103291 2005-09-02  Simon Josefsson  <jas@extundo.com>
103293         * modules/socklen: New file.
103295 2005-09-02  Simon Josefsson  <jas@extundo.com>
103297         * modules/havelib: New module.
103299         * modules/gettext, modules/iconv, modules/lock, modules/readline:
103300         Use havelib.
103302 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103304         Check for arithmetic overflow when calculating sizes, to prevent
103305         some buffer-overflow issues.  These patches are conservative, in the
103306         sense that when I couldn't determine whether an overflow was possible,
103307         I inserted a run-time check.
103308         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
103309         macros.
103310         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
103311         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
103312         (re_xnrealloc, re_x2nrealloc): New inline functions.
103313         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
103314         parse_bracket_exp):
103315         (build_equiv_class, build_charclass): Check for arithmetic overflow
103316         in size expression calculations.
103317         * lib/regex_internal.c (re_string_realloc_buffers):
103318         (build_wcs_upper_buffer, re_node_set_add_intersect):
103319         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
103320         (re_dfa_add_node, register_state): Likewise.
103321         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
103322         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
103323         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
103324         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
103326 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103328         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
103329         m4/ulonglong.m4.  Problem reported by Martin Lambers.
103331 2005-09-02  Bruno Haible  <bruno@clisp.org>
103333         Support for lib vs. lib64 distinction on biarch platforms.
103334         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
103335         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
103336         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
103338 2005-09-02  Bruno Haible  <bruno@clisp.org>
103340         * gnulib-tool (import): In the other first-use case, provide defaults
103341         as well.
103343 2005-09-02  Bruno Haible  <bruno@clisp.org>
103345         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
103346         patches not yet found in the latest gettext release.
103348 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103350         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
103351         to avoid a collision with bits/local_lim.h in glibc.
103352         All uses changed.  Problem reported by Dmitry V. Levin in
103353         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
103355         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
103356         bugs in int versus size_t comparisons.
103357         (re_string_context_at): Fix bug where the code assumed that
103358         Idx is signed.
103360         Use bool where appropriate.
103361         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
103362         All callers changed.
103363         (calc_eclosure_iter): Likewise, for ROOT arg.
103364         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
103365         (build_charclass_op): Likewise, for NON_MATCH arg.
103366         * lib/regex_internal.c (re_string_allocate, re_string_construct):
103367         (re_string_construct_common): Likewise, for ICASE arg.
103368         * lib/regexec.c (re_search_2_stub, re_search_stub):
103369         Likewise, for RET_LEN arg.
103370         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
103371         (set_regs): Likewise, for FL_BACKTRACK arg.
103372         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
103373         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
103374         (calc_eclosure_iter, parse_bracket_exp):
103375         Use bool for internal variables that are booleans.
103376         * lib/regexec.c (re_search_internal, check_matching,
103377         proceed_next_node):
103378         (set_regs, build_sifted_states, sift_states_bkref):
103379         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
103380         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103381         (find_collation_sequence_value):
103382         Likewise.
103383         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
103384         (re_node_set_compare):
103385         Return bool, not int. All callers changed.
103386         * lib/regexec.c (check_halt_node_context, check_dst_limits):
103387         (build_trtable, check_node_accept): Likewise.
103388         * lib/regex_internal.h: Include stdbool.h.
103390         Fix bugs uncovered when converting to bool.
103391         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
103392         failure instead of charging ahead blindly.
103393         * lib/regex_internal.c (register_state): Likewise.
103394         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
103395         for freeing internal storage.
103396         (group_nodes_into_DFA_states): Use unsigned int, not int, for
103397         bitset pieces used as boolean, to avoid undefined behavior
103398         on hosts that do int overflow checking.
103400 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103402         * config/srclist.txt: Add glibc bugs 1285-1287.
103404 2005-09-01  Jim Meyering  <jim@meyering.net>
103406         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
103407         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
103408         Require gl_STAT_MACROS, too.
103410 2005-09-01  Bruno Haible  <bruno@clisp.org>
103412         * gnulib-tool (import): In the first-use case, provide defaults.
103414 2005-09-01  Bruno Haible  <bruno@clisp.org>
103416         * gnulib-tool (func_import): Remove the .tmp files.
103418 2005-09-01  Bruno Haible  <bruno@clisp.org>
103420         * gnulib-tool (func_import): Fix handling of symbolic links.
103422 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103424         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
103425         old glibc regex code mishandles strings longer than 2**31 bytes.
103426         This patch fixes this when the regex code is used in gnulib
103427         (i.e., outside glibc).
103429         This patch should not affect the use of the regex code inside
103430         glibc.  No doubt this problem also needs to be handled for glibc
103431         as well, but the result will be an incompatible change to the
103432         glibc ABI, and the old ABI will have to be supported too.  That
103433         can be the subject for another patch.
103435         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
103436         governing whether the rest of this patch is active.  By default,
103437         the macro is disabled and the patch has no effect.
103438         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
103439         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
103440         (struct re_pattern_buffer, re_search, re_search_2, re_match):
103441         (re_match_2, re_set_registers): Use the new types.
103442         * lib/regex_internal.h (Idx, re_hashval_t): New types.
103443         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
103444         New macros.
103445         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
103446         (re_string_context_at, bin_tree_t, re_dfastate_t):
103447         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
103448         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
103449         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
103450         (re_string_char_size_at, re_string_wchar_at):
103451         (re_string_elem_size_at):
103452         Use the new types and macros to port to 64-bit hosts.
103453         Use unsigned types for internal values, so that the code
103454         mostly works even for arrays larger than SSIZE_MAX.
103455         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
103456         (search_duplicated_node, calc_eclosure_iter, fetch_number):
103457         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
103458         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
103459         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
103460         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
103461         (calc_inveclosure, parse_dup_op, build_range_exp):
103462         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
103463         (fetch_number, create_token_tree, mark_opt_subexp):
103464         Likewise.
103465         * lib/regex_internal.c (re_string_construct_common,
103466         create_ci_newstate):
103467         (create_cd_newstate, re_string_allocate, re_string_construct):
103468         (re_string_realloc_buffers, build_wcs_upper_buffer):
103469         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103470         (re_string_reconstruct, re_string_peek_byte_case):
103471         (re_string_fetch_byte_case, re_string_context_at):
103472         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103473         (re_node_set_init_copy, re_node_set_add_intersect):
103474         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103475         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103476         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103477         (re_acquire_state, re_acquire_state_context, register_state):
103478         Likewise.
103479         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
103480         search_cur_bkref_entry):
103481         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
103482         (re_search_internal, re_search_2_stub, re_search_stub)
103483         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
103484         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
103485         (update_cur_sifted_state, check_dst_limits):
103486         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103487         (check_subexp_limits, sift_states_bkref, merge_state_array):
103488         (check_subexp_matching_top, get_subexp, get_subexp_sub):
103489         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
103490         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103491         (expand_bkref_cache, check_node_accept_bytes):
103492         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
103493         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
103494         (acquire_init_state_context, check_halt_node_context):
103495         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
103496         (sift_states_backward, clean_state_log_if_needed):
103497         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
103498         (find_recover_state, transit_state_sb, transit_state_mb):
103499         (transit_state_bkref, build_trtable, match_ctx_clean):
103500         Likewise.
103501         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
103502         to work around an assumption that REG_MISSING is negative.
103504         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
103505         (seek_collating_symbol_entry) [defined _LIBC]:
103506         (lookup_collation_sequence_value) [defined _LIBC]:
103507         (build_range_exp, build_collating_symbol) [defined _LIBC]:
103508         Use prototypes rather than old-style function definitions.
103509         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
103510         (transit_state_sb) [0]:
103511         (find_collation_sequence_value) [defined _LIBC]: Likewise.
103513         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
103514         rm_eo.
103516         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
103517         (optimize_subexps, lower_subexp):
103518         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
103519         since the signed shift might overflow.  Use 1u<<31 instead.
103520         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103521         Likewise.
103522         * lib/regexec.c (check_dst_limits_calc_pos_1,
103523         check_subexp_matching_top): Likewise.
103525         * lib/regcomp.c (optimize_subexps, lower_subexp):
103526         Use CHAR_BIT rather than 8, for clarity.
103527         * lib/regexec.c (check_dst_limits_calc_pos_1):
103528         (check_subexp_matching_top): Likewise.
103529         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
103530         have to worry about portability issues when shifting it left.
103531         Remove no-longer-needed test for table_size > 0.
103532         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
103533         in a word, as the resulting behavior is undefined.
103534         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
103535         in one case, a <= should have been an <, and in another case the
103536         whole test was missing.
103537         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
103538         the standard name CHAR_BIT.
103539         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
103540         this is not true on one's complement and signed-magnitude hosts.
103542         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
103543         next_last_offset.
103544         (struct re_dfa_t): Remove unused member states_alloc.
103545         * lib/regcomp.c (init_dfa): Don't initialize unused members.
103547 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103549         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
103550         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
103551         and large-file glibc and in 32-bit large-file Solaris.
103553 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103555         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
103556         lengths fit in regoff_t; this isn't true if regoff_t is the same
103557         width as size_t.
103558         * lib/regex.c (re_search_internal): 5th arg is LAST_START
103559         (= START + RANGE) instead of RANGE.  This avoids overflow
103560         problems when regoff_t is the same width as size_t.
103561         All callers changed.
103562         (re_search_2_stub): Check for overflow when adding the
103563         sizes of the two strings.
103564         (re_search_stub): Check for overflow when adding START
103565         to RANGE; if it occurs, substitute the extreme value.
103567 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103569         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
103571 2005-08-31  Jim Meyering  <jim@meyering.net>
103573         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
103574         a pointer-to-const.
103575         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
103576         (register_state): Likewise.
103577         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
103578         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103579         (group_nodes_into_DFAstates): Likewise.
103581 2005-08-31  Jim Meyering  <jim@meyering.net>
103583         * check-module: Add a FIXME comment.
103585 2005-08-31  Eric Blake  <ebb9@byu.net>
103587         * modules/unistd-safer (Files): Add unistd--.h.
103588         * modules/stdio-safer (Files): Add stdio--.h.
103590 2005-08-31  Derek Price  <derek@ximbiot.com>
103592         * lib/getdelim.c (getdelim): Return EOF on EOF.
103593         Reported by Larry Jones <lawrence.jones@ugs.com>.
103595 2005-08-31  Bruno Haible  <bruno@clisp.org>
103597         Avoid unnecessary diffs in the generated lib/Makefile.am.
103598         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
103599         the generated files.
103600         (func_import): Don't set cmd.
103602 2005-08-31  Bruno Haible  <bruno@clisp.org>
103604         * lib/strstr.c: Include <stddef.h>, for NULL.
103605         * lib/strcasestr.c: Likewise.
103606         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103608 2005-08-31  Bruno Haible  <bruno@clisp.org>
103610         * gnulib-tool: New option --macro-prefix.
103611         (func_import): Use macro_prefix.
103612         (import): Handle option --macro-prefix.
103614 2005-08-31  Bruno Haible  <bruno@clisp.org>
103616         * gnulib-tool (import): Rename most ac_* variables to cached_*.
103617         Also use new variables cached_lgpl, cached_libtool.
103619 2005-08-31  Bruno Haible  <bruno@clisp.org>
103621         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
103622         always instantiating them.
103624 2005-08-31  Bruno Haible  <bruno@clisp.org>
103626         * gnulib-tool (func_import): Read the previous cached settings
103627         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
103628         earlier added by gnulib but are now dropped. Warn when a gnulib file
103629         overwrites a non-gnulib file.
103631 2005-08-31  Bruno Haible  <bruno@clisp.org>
103633         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
103634         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
103635         projects that don't keep autogenerated files in CVS. Put into
103636         actioncmd only the specified modules, not the transitive closure.
103638 2005-08-31  Bruno Haible  <bruno@clisp.org>
103640         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
103641         Create directories that shall be filled.
103642         (import): Don't look for gl_* macros in configure.ac. Recurse across
103643         all directories containing a gnulib-cache.m4 files, if meaningful.
103645 2005-08-31  Bruno Haible  <bruno@clisp.org>
103647         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
103648         (import): Set seen_libtool when we see gl_LIBTOOL.
103650 2005-08-31  Bruno Haible  <bruno@clisp.org>
103652         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
103653         declaration macro definitions from generated gnulib.m4.
103655 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
103657         * lib/iconvme.h: Add prototype for iconv_alloc.
103659 2005-08-29  Simon Josefsson  <jas@extundo.com>
103661         * lib/iconvme.c: Fix errno.
103663 2005-08-29  Bruno Haible  <bruno@clisp.org>
103665         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
103666         that it works when the directory contains spaces.
103668 2005-08-29  Bruno Haible  <bruno@clisp.org>
103670         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
103672 2005-08-29  Bruno Haible  <bruno@clisp.org>
103674         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
103675         Emit more advice.
103677 2005-08-29  Bruno Haible  <bruno@clisp.org>
103678         and Stepan Kasal  <kasal@ucw.cz>
103680         * check-module: If more parameters are given, check each of them
103681         separately; add more exceptions, as noted by Jim Meyering.
103682         (check_module): New procedure.
103683         (%exempt_header): Now contains all exceptions.
103685 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
103687         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
103689 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103691         * lib/iconvme.c: Split iconv_string into iconv_alloc.
103693 2005-08-28  Bruno Haible  <bruno@clisp.org>
103695         * m4/gnulib-tool.m4: New file.
103697 2005-08-27  Jim Meyering  <jim@meyering.net>
103699         * modules/unistd-safer (Files): Add pipe-safer.c.
103700         * modules/fcntl-safer (Files): Add creat-safer.c.
103702 2005-08-27  Jim Meyering  <jim@meyering.net>
103704         * m4/stdlib-safer.m4: New file.  From coreutils.
103705         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
103706         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
103707         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
103708         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
103709         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
103711 2005-08-27  Jim Meyering  <jim@meyering.net>
103713         * lib/fopen-safer.c: Merge minor changes from coreutils.
103714         * lib/dup-safer.c: Likewise.
103715         * lib/fd-safer.c: Likewise.
103717         Merge from coreutils.
103718         * lib/stdio--.h: New file.
103719         * lib/stdlib--.h: New file.
103720         * lib/mkstemp-safer.c: New file.
103722         GNU tar needs these.
103723         * lib/pipe-safer.c: New file.
103724         * lib/creat-safer.c: New file.
103725         * lib/fcntl--.h (creat): Define to creat_safer.
103726         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
103727         * lib/unistd--.h (pipe): Define to pipe_safer.
103728         * lib/unistd-safer.h: Declare pipe_safer.
103730 2005-08-26  Simon Josefsson  <jas@extundo.com>
103732         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
103733         Haible <bruno@clisp.org>.
103735 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
103737         * lib/regex_internal.h: Remove all references to
103738         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
103739         or better.
103740         (bitset_not, bitset_merge, bitset_not_merge):
103741         (bitset_mask, re_string_allocate, re_string_construct):
103742         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103743         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103744         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103745         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103746         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103747         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103748         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103749         (re_acquire_state_context):
103750         Remove unnecessary forward decls.
103751         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103752         Put __attribute at function definition,
103753         now that the function decl has been removed.
103754         * lib/regex_internal.c (re_string_peek_byte_case):
103755         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103756         Likewise.
103758 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103760         * m4/regex.m4: Add AC_PREREQ(2.50).
103761         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103763 2005-08-25  Simon Josefsson  <jas@extundo.com>
103765         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103766         __fsetlocking.
103768 2005-08-25  Simon Josefsson  <jas@extundo.com>
103770         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103771         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103772         GLIBC specific code.
103774 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103776         Make regex safe for g++.  This fixes one real bug (an "err"
103777         that should have been "*err").  g++ problem reported by
103778         Sam Steingold.
103779         * lib/regex_internal.h (re_calloc): New macro, consistent with
103780         re_malloc etc.  All callers of calloc changed to use re_calloc.
103781         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103782         not int.  All callers changed.
103783         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103784         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103785         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103786         (find_recover_state): Change "err" to "*err"; this fixes what
103787         appears to be a real bug.
103788         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103789         versus int.
103791 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103793         * modules/regex (Depends-on): Add malloc, since the code
103794         assumes that !malloc(0) means failure.
103796 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103798         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103800         alloca modernization/simplification for regex.
103801         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103802         needs to be at the start of the file, and can be moved into
103803         regex_internal.h and simplified.
103804         * lib/regex_internal.h: Include <alloca.h>.
103805         (__libc_use_alloca) [!defined _LIBC]: New macro.
103806         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103807         now works outside glibc.
103809 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103811         * config/srclist.txt: Add glibc bugs 1241, 1245.
103813 2005-08-25  Jim Meyering  <jim@meyering.net>
103815         * lib/open-safer.c: Include <config.h>.
103816         Otherwise, we'd lose LARGEFILE support in any file using
103817         e.g. "fcntl--.h"
103819 2005-08-25  Bruno Haible  <bruno@clisp.org>
103821         * m4/minmax.m4: Require autoconf 2.52.
103822         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103823         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103824         alternatives of translit over the alphabet.
103825         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103827 2005-08-24  Simon Josefsson  <jas@extundo.com>
103829         * tests/test-getpass.c: New file.
103831 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103833         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103834         for GNU regex features.
103836 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103838         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103839         * lib/regex.h (regerror): Likewise.
103841         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103842         requires this.  (The code never needed it.)
103844         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103845         All uses of recently-renamed identifiers changed to use the new,
103846         POSIX-compliant names.  The code will build and run just fine
103847         without these changes, but it's better to eat our own dog food
103848         and use the standard-conforming names.
103850         * lib/regex.h: Fix a multitude of POSIX name space violations.
103851         These changes have an effect only for programs that define
103852         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103853         do not change anything for programs compiled in the normal way.
103854         Also, there is no effect on the ABI.
103856         (_REGEX_SOURCE): New macro.
103857         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103858         defined and _GNU_SOURCE is not; this fixes a name space violation.
103860         Rename the following macros to obey POSIX requirements.
103861         The old names are still visible as macros if _REGEX_SOURCE is defined.
103862         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103863         RE_BACKSLASH_ESCAPE_IN_LISTS.
103864         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103865         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103866         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103867         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103868         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103869         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103870         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103871         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103872         (REG_INTERVALS): renamed from RE_INTERVALS.
103873         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103874         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103875         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103876         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103877         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103878         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103879         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103880         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103881         RE_UNMATCHED_RIGHT_PAREN_ORD.
103882         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103883         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103884         (REG_DEBUG): renamed from RE_DEBUG.
103885         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103886         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103887         unusual, since we can't clash with the POSIX REG_ICASE.
103888         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103889         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103890         (REG_NO_SUB): renamed from RE_NO_SUB.
103891         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103892         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103893         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103894         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103895         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103896         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103897         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103898         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103899         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103900         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103901         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103902         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103903         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103904         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103905         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103906         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103907         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103908         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103909         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103910         (REG_FIXED): Renamed from REGS_FIXED.
103911         (REG_NREGS): Renamed from RE_NREGS.
103913         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103914         of other REG_* macros, since POSIX says the user is allowed to
103915         #undef these macros selectively.
103917         (reg_errcode_t): Update comment stating what other tables need
103918         to be consistent.
103920         Rename the following enum values to obey POSIX requirements.
103921         The old names are still visible as macros.
103922         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103923         is not defined, since GNU is supposed to be a superset of POSIX as
103924         much as possible, and since we want reg_errcode_t to be a signed
103925         type for implementation consistency.
103926         (_REG_NOERROR): Renamed from REG_NOERROR.
103927         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103928         (_REG_BADPAT): Renamed from REG_BADPAT.
103929         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103930         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103931         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103932         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103933         (_REG_EBRACK): Renamed from REG_EBRACK.
103934         (_REG_EPAREN): Renamed from REG_EPAREN.
103935         (_REG_EBRACE): Renamed from REG_EBRACE.
103936         (_REG_BADBR): Renamed from REG_BADBR.
103937         (_REG_ERANGE): Renamed from REG_ERANGE.
103938         (_REG_ESPACE): Renamed from REG_ESPACE.
103939         (_REG_BADRPT): Renamed from REG_BADRPT.
103940         (_REG_EEND): Renamed from REG_EEND.
103941         (_REG_ESIZE): Renamed from REG_ESIZE.
103942         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103943         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103944         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103945         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103946         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103948         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103949         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103950         changed.  But support the old name if the new one is not defined
103951         and if _REGEX_SOURCE.
103953         Change the following member names in struct re_pattern_buffer.
103954         The old names are still supported if !_REGEX_SOURCE.
103955         The new names are always supported, regardless of _REGEX_SOURCE.
103956         (re_buffer): Renamed from buffer.
103957         (re_allocated): Renamed from allocated.
103958         (re_used): Renamed from used.
103959         (re_syntax): Renamed from syntax.
103960         (re_fastmap): Renamed from fastmap.
103961         (re_translate): Renamed from translate.
103962         (re_can_be_null): Renamed from can_be_null.
103963         (re_regs_allocated): Renamed from regs_allocated.
103964         (re_fastmap_accurate): Renamed from fastmap_accurate.
103965         (re_no_sub): Renamed from no_sub.
103966         (re_not_bol): Renamed from not_bol.
103967         (re_not_eol): Renamed from not_eol.
103968         (re_newline_anchor): Renamed from newline_anchor.
103970         Change the following member names in struct re_registers.
103971         The old names are still supported if !_REGEX_SOURCE.
103972         The new names are always supported, regardless of _REGEX_SOURCE.
103973         (rm_num_regs): Renamed from num_regs.
103974         (rm_start): Renamed from start.
103975         (rm_end): Renamed from end.
103977         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
103978         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
103979         Prepend __ to parameter names.
103981         Undo yesterday's changes.
103983 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103985         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
103986         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
103987         lib/regex.c.
103989 2005-08-24  Jim Meyering  <jim@meyering.net>
103991         Sync from coreutils.
103992         * m4/fcntl-safer.m4: New file.
103994         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
103995         and object files for this module.
103997 2005-08-24  Jim Meyering  <jim@meyering.net>
103999         Sync from coreutils.
104000         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
104002 2005-08-24  Jim Meyering  <jim@meyering.net>
104004         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
104005         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
104007 2005-08-24  Jim Meyering  <jim@meyering.net>
104009         * modules/fcntl-safer: New module.
104010         * modules/fts (Depends-on): Add fcntl-safer.
104011         * MODULES.html.sh (File descriptor based Input/Output):
104012         Add fcntl-safer.
104014 2005-08-24  Bruno Haible  <bruno@clisp.org>
104016         Support for unit test modules.
104017         * modules/README: Mention tests modules.
104018         * modules/TEMPLATE-TESTS: New file.
104019         * gnulib-tool: New options --extract-tests-module, --with-tests and
104020         --tests-base (unused for the moment).
104021         (testsbase, inctests): New variables.
104022         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
104023         (func_verify_module): Exclude TEMPLATE-TESTS.
104024         (func_verify_nontests_module, func_verify_tests_module): New functions.
104025         (func_get_dependencies): Add implicit dependency for tests modules.
104026         (func_get_tests_module): New function.
104027         (func_modules_transitive_closure): When --with-tests was specified,
104028         include the unit tests as well, unless explicitly avoided.
104029         (func_emit_lib_Makefile_am): Ignore the tests modules here.
104030         (func_emit_tests_Makefile_am): New function.
104031         (func_create_testdir): When --with-tests was specified, emit a
104032         tests/ directory.
104033         * MODULES.html.sh (Future developments): Update.
104035 2005-08-24  Bruno Haible  <bruno@clisp.org>
104037         * modules/tls-tests: New file.
104038         * tests/test-tls.c: New file, from GNU gettext.
104040 2005-08-24  Bruno Haible  <bruno@clisp.org>
104042         * modules/lock-tests: New file.
104043         * tests/test-lock.c: New file, from GNU gettext.
104045 2005-08-24  Bruno Haible  <bruno@clisp.org>
104047         * lib/lock.h: Add multiple inclusion guard.
104048         * lib/tls.h: Add multiple inclusion guard.
104050 2005-08-24  Bruno Haible  <bruno@clisp.org>
104052         * gnulib-tool: Add support for the --aux-dir option to
104053         --create-testdir, --create-megatestdir, --test, --megatest.
104054         (func_create_testdir, func_create_megatestdir): Optionally emit a
104055         AC_CONFIG_AUX_DIR directive.
104056         (create-testdir, create-megatestdir, test, megatest): Provide a
104057         default value for $auxdir.
104059 2005-08-24  Bruno Haible  <bruno@clisp.org>
104061         * gnulib-tool (import): Use compound statement instead of subshell
104062         where possible.
104064 2005-08-24  Bruno Haible  <bruno@clisp.org>
104066         * gnulib-tool (import): Change --aux-dir default to "build-aux".
104068 2005-08-24  Bruno Haible  <bruno@clisp.org>
104070         * gnulib-tool (func_version): Update.
104072 2005-08-24  Bruno Haible  <bruno@clisp.org>
104074         * gnulib-tool (func_import, func_create_testdir,
104075         func_create_megatestdir): Quote all autoconf macro arguments.
104077 2005-08-24  Bruno Haible  <bruno@clisp.org>
104079         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
104080         option --force, because --force causes the aclocal.m4 of each
104081         subdirectory to be newer than the corresponding config.h.in.
104083 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104085         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
104086         All contents moved to gl_REGEX.
104087         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
104088         assume that it does.
104090 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104092         * lib/regex.h (REG_NOSYS)
104093         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
104094         Define, since POSIX requires it as of 2001.
104095         (_REG_ENOSYS)
104096         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
104097         New private symbol, used to keep the enum signed in all cases.
104098         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
104099         Youngman in
104100         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
104102         * lib/regex_internal.c (re_string_skip_chars, register_state):
104103         (calc_state_hash):
104104         Remove forward decls; no longer needed now that we use prototypes.
104105         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
104106         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
104107         (clean_state_log_if_needed): Likewise.
104109 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104111         * config/srclist.txt: Add glibc bugs 1231-1233.
104113 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104115         Fix problems reported by Sam Steingold in
104116         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
104117         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
104118         assumed that reg_errcode_t is a signed type, which is not
104119         necessarily true if _XOPEN_SOURCE is not defined.
104120         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
104121         since some compilers warn about it otherwise.
104123 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104125         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
104126         (init_word_char, create_initial_state, duplicate_node_closure):
104127         (fetch_token, peek_token_bracket, build_range_exp):
104128         (build_collating_symbol): Remove forward decls; no longer needed
104129         now that we use prototypes.
104131         * lib/regcomp.c:
104132         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
104133         (re_compile_fastmap_iter, regcomp, regerror, regfree):
104134         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
104135         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
104136         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
104137         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
104138         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
104139         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
104140         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
104141         (build_range_exp, build_collating_symbol, parse_bracket_exp):
104142         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
104143         (build_charclass, build_charclass_op, fetch_number, create_tree):
104144         (create_token_tree, mark_opt_subexp, duplicate_tree):
104145         Use prototypes rather than old-style definitions.
104147         * lib/regex_internal.c:
104148         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
104149         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
104150         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
104151         (re_string_reconstruct, re_string_peek_byte_case):
104152         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
104153         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
104154         (re_node_set_init_copy, re_node_set_add_intersect):
104155         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104156         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104157         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
104158         (re_acquire_state, re_acquire_state_context, register_state):
104159         (create_ci_newstate, create_cd_newstate, free_state):
104160         Likewise.
104161         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
104162         re_search_2):
104163         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
104164         (re_search_internal, prune_impossible_nodes):
104165         (acquire_init_state_context, check_matching, static):
104166         (check_halt_node_context, check_halt_state_context, proceed_next_node):
104167         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
104168         (update_regs, sift_states_backward, build_sifted_states):
104169         (clean_state_log_if_needed, merge_state_array):
104170         (update_cur_sifted_state, add_epsilon_src_nodes):
104171         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
104172         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
104173         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
104174         (find_recover_state, check_subexp_matching_top, transit_state_mb):
104175         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
104176         (check_arrival, check_arrival_add_next_nodes):
104177         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
104178         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
104179         (check_node_accept_bytes, check_node_accept, extend_buffers):
104180         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
104181         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
104182         (sift_ctx_init):
104183         Likewise.
104185         * lib/regex_internal.h:
104186         (re_string_allocate, re_string_construct, re_string_reconstruct):
104187         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
104188         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
104189         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
104190         (re_string_context_at, re_string_peek_byte_case):
104191         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
104192         is defined, since we now use prototypes always.
104194         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
104195         C89 or better.  All uses removed.
104197 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104199         * config/srclist.txt: Add glibc bugs 1220-1227.
104201 2005-08-20  Jim Meyering  <jim@meyering.net>
104203         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
104204         of unused local, dfa.
104206 2005-08-20  Bruno Haible  <bruno@clisp.org>
104208         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
104210 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104212         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
104213         (re_node_set_insert_last, re_dfa_add_node):
104214         Rename local variables to avoid GCC shadowing warnings.
104216 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104218         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
104219         [defined lint]: Suppress bogus uninitialized-variable warnings.
104221         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
104222         and let the caller return REG_ESPACE if out of space.  This
104223         removes an uninitialied-variable warning with GCC 4.0.1, and also
104224         avoids taking the address of a local variable.  All callers
104225         changed.
104227 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104229         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
104230         $LIBCSRC/posix/regexec.c.
104231         Add glibc bug 1217 for regcomp.c.
104233 2005-08-19  Jim Meyering  <jim@meyering.net>
104235         * lib/regexec.c (proceed_next_node): Redo local variables to
104236         avoid GCC shadowing warnings.
104238 2005-08-18  Bruno Haible  <bruno@clisp.org>
104240         * lib/strstr.c (strstr): Fix return value in multibyte case.
104241         * lib/strcasestr.c (strcasestr): Likewise.
104243 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
104245         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
104247 2005-08-17  Jim Meyering  <jim@meyering.net>
104249         Make the %s format (seconds since the epoch) work for a negative
104250         number and when used with a zero-padded field width, e.g. %015s.
104252         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
104253         label so that it precedes the code to set `digits'.  Otherwise,
104254         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
104255         print `00-22'.  Now, it prints `-0022', as it should.
104257 2005-08-17  Bruno Haible  <bruno@clisp.org>
104259         * modules/strstr (Files): Add m4/mbrtowc.m4.
104260         (Depends-on): Add mbuiter.
104262 2005-08-17  Bruno Haible  <bruno@clisp.org>
104264         * modules/strcasestr: New file.
104265         * MODULES.html.sh (String handling, based on ANSI C 89): Add
104266         strcasestr.
104268 2005-08-17  Bruno Haible  <bruno@clisp.org>
104270         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
104272 2005-08-17  Bruno Haible  <bruno@clisp.org>
104274         * modules/mbuiter: New file.
104275         * MODULES.html.sh (Extended multibyte and wide character utilities):
104276         Add mbuiter.
104278 2005-08-17  Bruno Haible  <bruno@clisp.org>
104280         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
104281         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
104283 2005-08-17  Bruno Haible  <bruno@clisp.org>
104285         * m4/strcasestr.m4: New file.
104287 2005-08-17  Bruno Haible  <bruno@clisp.org>
104289         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
104290         * lib/strstr.c: Completely rewritten, with multibyte locale support.
104292 2005-08-17  Bruno Haible  <bruno@clisp.org>
104294         * lib/strcasestr.h: New file.
104295         * lib/strcasestr.c: New file.
104297 2005-08-17  Bruno Haible  <bruno@clisp.org>
104299         * lib/strcasecmp.c: Use mbuiter.h.
104301 2005-08-17  Bruno Haible  <bruno@clisp.org>
104303         * lib/mbuiter.h: New file.
104305 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
104307         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
104308         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
104309         and gl_GETOPT are both invoked via different paths (as happens
104310         with GNU tar CVS because it uses both argp and getopt), the former
104311         wins.
104313 2005-08-16  Bruno Haible  <bruno@clisp.org>
104315         * modules/tls: New file.
104316         * MODULES.html.sh (Multithreading): Add tls.
104318 2005-08-16  Bruno Haible  <bruno@clisp.org>
104320         * modules/strnlen1: New file.
104321         * MODULES.html.sh (String handling): Add strnlen1.
104323 2005-08-16  Bruno Haible  <bruno@clisp.org>
104325         * modules/strcase (Files): Add m4/mbrtowc.m4.
104326         (Depends-on): Add strnlen1, mbchar.
104328 2005-08-16  Bruno Haible  <bruno@clisp.org>
104330         * modules/mbiter: New file.
104331         * MODULES.html.sh (Extended multibyte and wide character utilities):
104332         Add mbiter.
104334 2005-08-16  Bruno Haible  <bruno@clisp.org>
104336         * modules/mbfile: New file.
104337         * MODULES.html.sh (Extended multibyte and wide character utilities):
104338         Add mbfile.
104340 2005-08-16  Bruno Haible  <bruno@clisp.org>
104342         * modules/mbchar: New file.
104343         * MODULES.html.sh (Extended multibyte and wide character utilities):
104344         New section.
104346 2005-08-16  Bruno Haible  <bruno@clisp.org>
104348         * m4/tls.m4: New file, from GNU gettext.
104350 2005-08-16  Bruno Haible  <bruno@clisp.org>
104352         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
104353         always.
104354         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
104356 2005-08-16  Bruno Haible  <bruno@clisp.org>
104358         * m4/mbiter.m4: New file.
104360 2005-08-16  Bruno Haible  <bruno@clisp.org>
104362         * m4/mbfile.m4: New file.
104364 2005-08-16  Bruno Haible  <bruno@clisp.org>
104366         * m4/mbchar.m4: New file.
104368 2005-08-16  Bruno Haible  <bruno@clisp.org>
104370         * lib/tls.h: New file, from GNU gettext.
104371         * lib/tls.c: New file, from GNU gettext.
104373 2005-08-16  Bruno Haible  <bruno@clisp.org>
104375         * lib/strnlen1.h: New file.
104376         * lib/strnlen1.c: New file.
104378 2005-08-16  Bruno Haible  <bruno@clisp.org>
104380         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
104381         (mbi_init): Update.
104382         (mbi_avail, mbi_advance): Let the iteration end before the terminating
104383         NUL byte, not after it.
104385 2005-08-16  Bruno Haible  <bruno@clisp.org>
104387         * lib/strcase.h (strcasecmp): Add note in comments.
104388         * lib/strncasecmp.c: Use code from strcasecmp.c.
104389         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
104390         (strcasecmp): Work correctly in multibyte locales.
104392 2005-08-16  Bruno Haible  <bruno@clisp.org>
104394         * lib/mbiter.h: New file.
104396 2005-08-16  Bruno Haible  <bruno@clisp.org>
104398         * lib/mbfile.h: New file.
104400 2005-08-16  Bruno Haible  <bruno@clisp.org>
104402         * lib/mbchar.h: New file.
104403         * lib/mbchar.c: New file.
104405 2005-08-16  Bruno Haible  <bruno@clisp.org>
104407         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
104408         the valid ones. Makes the comparison operations transitive:
104409         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
104410         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
104412 2005-08-15  Simon Josefsson  <jas@extundo.com>
104414         * modules/ssize_t (License): Change to 'unlimited'.
104416         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
104418 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
104420         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
104421         Add comments for each pending glibc patch.
104423 2005-08-15  Bruno Haible  <bruno@clisp.org>
104425         * lib/regex.h (__restrict_arr): Don't define to __restrict if
104426         __cplusplus is defined.
104428 2005-08-14  Jim Meyering  <jim@meyering.net>
104430         Sync from coreutils.
104432         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
104433         Use the hash-table-based cycle-detection code not just when
104434         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
104435         Reported by James Youngman in
104436         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
104437         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
104438         FTS_TIGHT_CYCLE_CHECK.
104439         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
104440         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
104441         once again.
104442         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
104443         * lib/fts.c (fd_safer): Remove decl.
104444         Include fcntl--.h rather than unistd-safer.h
104445         (fts_safe_changedir): Don't call fd_safer; no longer needed
104446         now that we include fcntl--.h.
104448 2005-08-12  Simon Josefsson  <jas@extundo.com>
104450         * modules/getndelim2: Use ssize_t module.
104451         * modules/getnline: Likewise.
104452         * modules/safe-read: Likewise.
104453         * modules/xreadlink: Likewise.
104455         * modules/ssize_t: New file.
104457 2005-08-12  Simon Josefsson  <jas@extundo.com>
104459         * m4/readline.m4: Look for termcap, curses or ncurses if required.
104461 2005-08-12  Simon Josefsson  <jas@extundo.com>
104463         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104464         ssize_t.
104466 2005-08-12  Simon Josefsson  <jas@extundo.com>
104468         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
104469         readline, getdelim and check_version.
104470         (Support for systems lacking ISO C 99: Sizes of integer types):
104471         Add size_max.
104473 2005-08-12  Bruno Haible  <bruno@clisp.org>
104475         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
104477 2005-08-11  Simon Josefsson  <jas@extundo.com>
104479         * modules/readline: New file.
104481         * modules/strnlen (Files): Add strnlen.h.
104483 2005-08-11  Simon Josefsson  <jas@extundo.com>
104485         * m4/readline.m4: New file.
104487 2005-08-11  Simon Josefsson  <jas@extundo.com>
104489         * lib/readline.h, readline.c: New file.
104491 2005-08-11  Simon Josefsson  <jas@extundo.com>
104493         * doc/gnulib.texi (Initial import, Finishing touches): Mention
104494         gl_AVOID.
104496 2005-08-11  Bruno Haible  <bruno@clisp.org>
104498         * lib/strnlen.h (strnlen): Change parameter name to match comment.
104500 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
104502         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
104504 2005-08-10  Simon Josefsson  <jas@extundo.com>
104506         * tests/test-iconvme.c: New file.
104508 2005-08-10  Simon Josefsson  <jas@extundo.com>
104510         * m4/strnlen.m4: New file.
104512         * m4/strndup.m4: Don't check for strnlen declaration, done in
104513         strnlen.m4.
104515 2005-08-10  Simon Josefsson  <jas@extundo.com>
104517         * lib/strndup.c: Use strnlen.h.
104519         * lib/strnlen.h: New file.
104521 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
104523         * README: Typos.
104525 2005-08-02  Simon Josefsson  <jas@extundo.com>
104527         * modules/readline: New file.
104529 2005-08-02  Simon Josefsson  <jas@extundo.com>
104531         * modules/getdelim: New file.
104533         * modules/getline: Rewrite, don't use getndelim2.
104535 2005-08-02  Simon Josefsson  <jas@extundo.com>
104537         * m4/getline.m4: Separate out getdelim stuff into separate module.
104539         * m4/getdelim.m4: New file.
104541 2005-08-02  Simon Josefsson  <jas@extundo.com>
104543         * lib/getline.h, getline.c: Rewrite.
104545         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
104547 2005-07-31  Bruno Haible  <bruno@clisp.org>
104549         * lib/lock.h (gl_lock_initializer): New macro.
104550         (gl_lock_define_initialized): Use it.
104551         (gl_rwlock_initializer): New macro.
104552         (gl_rwlock_define_initialized): Use it.
104553         (gl_recursive_lock_initializer): New macro.
104554         (gl_recursive_lock_define_initialized): Use it.
104556 2005-07-30  Karl Berry  <karl@gnu.org>
104558         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
104559         Report from Ben Pfaff, regarding getopt.
104561 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
104563         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
104564         normal way.
104565         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
104566         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
104567         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
104568         (gl_GETOPT): Use the new macros.  Most of the implementation
104569         is moved to the new macros.  This is for programs like Emacs
104570         that don't want all the functionality of gl_GETOPT.
104572 2005-07-26  Bruno Haible  <bruno@clisp.org>
104574         * m4/lock.m4: Update from GNU gettext.
104576 2005-07-26  Bruno Haible  <bruno@clisp.org>
104578         * lib/lock.h: Update from GNU gettext.
104579         * lib/lock.c: Update from GNU gettext.
104581 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
104583         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
104584         obsolescent AC_TRY_RUN.  Include the default includes files, for
104585         'exit'.
104587 2005-07-24  Bruno Haible  <bruno@clisp.org>
104589         * modules/visibility: New file.
104590         * MODULES.html.sh (Misc): Add visibility.
104592 2005-07-24  Bruno Haible  <bruno@clisp.org>
104594         * m4/visibility.m4: New file.
104596 2005-07-24  Bruno Haible  <bruno@clisp.org>
104598         * doc/visibility.texi: New file.
104600 2005-07-22  Bruno Haible  <bruno@clisp.org>
104602         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
104603         $(ALLOCA_H), redundant through BUILT_SOURCES.
104604         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
104605         redundant through BUILT_SOURCES.
104606         * modules/byteswap (Makefile.am): Remove explicit dependency on
104607         $(BYTESWAP_H), redundant through BUILT_SOURCES.
104608         * modules/fnmatch (Makefile.am): Remove explicit dependency on
104609         $(FNMATCH_H), redundant through BUILT_SOURCES.
104610         * modules/getopt (Makefile.am): Remove explicit dependency on
104611         $(GETOPT_H), redundant through BUILT_SOURCES.
104612         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
104613         redundant through BUILT_SOURCES.
104614         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
104615         redundant through BUILT_SOURCES.
104616         * modules/stdbool (Makefile.am): Remove explicit dependency on
104617         $(STDBOOL_H), redundant through BUILT_SOURCES.
104618         * modules/stdint (Makefile.am): Remove explicit dependency on
104619         $(STDINT_H), redundant through BUILT_SOURCES.
104620         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
104621         Remove explicit dependency on $(SYSEXITS_H).
104622         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
104624 2005-07-18  Simon Josefsson  <jas@extundo.com>
104626         * lib/check-version.c (check_version): Accept identical versions too.
104628 2005-07-18  Bruno Haible  <bruno@clisp.org>
104630         * modules/lock: New file.
104631         * MODULES.html.sh (Multithreading): New section.
104633 2005-07-18  Bruno Haible  <bruno@clisp.org>
104635         * m4/lock.m4: New file, from GNU gettext.
104637 2005-07-18  Bruno Haible  <bruno@clisp.org>
104639         * lib/lock.h: New file, from GNU gettext.
104640         * lib/lock.c: New file, from GNU gettext.
104642 2005-07-18  Bruno Haible  <bruno@clisp.org>
104644         * lib/lock.h (gl_once_t): New type.
104645         (gl_once_define, gl_once): New macros.
104646         * lib/lock.c (fresh_once): New variable.
104647         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
104648         functions.
104650 2005-07-16  Simon Josefsson  <jas@extundo.com>
104652         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
104653         workaround, suggested by Bruno.
104655 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104657         * modules/xalloc (Depends-on): Add xalloc-die.
104658         * modules/xvasprintf (Depends-on): Add xalloc-die.
104660 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104662         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
104663         with a minor change.
104665 2005-07-15  Bruno Haible  <bruno@clisp.org>
104667         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
104668         When using lib/poll.c, define poll as rpl_poll.
104670 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
104672         * modules/argp (Depends-on): Remove unlocked-io.
104674 2005-07-14  Derek Price  <derek@ximbiot.com>
104676         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
104677         for glob symlink bug.
104679 2005-07-14  Bruno Haible  <bruno@clisp.org>
104681         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
104682         Instead, test for *_unlocked function declarations directly.
104684 2005-07-11  Simon Josefsson  <jas@extundo.com>
104686         * modules/size_max: New file.
104688         * modules/xsize: Depend on size_max module for size_max.m4.
104690 2005-07-11  Simon Josefsson  <jas@extundo.com>
104692         * lib/size_max.h: New file.
104694 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
104696         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
104697         copyright symbol and the year.
104698         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
104699         (version_etc_va): Use parameterized copyright notice.
104700         Reword to conform to the current GNU coding standards.
104702 2005-07-11  Karl Berry  <karl@gnu.org>
104704         * doc/gnulib.texi (Quoting): new node.
104705         (Initial import): more info, from Patrice.
104707 2005-07-11  Bruno Haible  <bruno@clisp.org>
104709         * gnulib-tool (func_usage): Document option --avoid.
104710         (Command line options): Handle --avoid.
104711         (func_acceptable): New function.
104712         (func_modules_transitive_closure): Use it.
104714 2005-07-11  Bruno Haible  <bruno@clisp.org>
104716         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
104717         Reported by Jim Meyering.
104719 2005-07-10  Bruno Haible  <bruno@clisp.org>
104721         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
104722         Needed when size_t is smaller than 'unsigned int'.
104723         Reported by Paul Eggert.
104725 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104727         * modules/argp (Depends-on): Add unlocked-io
104729 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104731         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
104732         block of defines.
104734 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
104736         * config/srclist.txt: Comment out regcomp.c, since we have a porting
104737         fix now.
104739 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104740         and Paul Eggert  <eggert@cs.ucla.edu>
104742         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104743         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104745 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104747         * modules/regex (Files): Add lib/regex_internal.c,
104748         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104749         (Depends-on): Add extensions.
104750         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104752 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104754         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104755         pathconf.
104756         * m4/same.m4 (gl_SAME): Likewise.
104757         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104759         * m4/regex.m4: Adjust to new libc regex implementation.
104760         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104761         all the .c and .h parts of (the new) regex.
104762         Quote the m4 stuff better.
104763         Check for RE_ICASE bug of old gnulib.
104764         Check for REG_STARTEND of recent libc.
104765         Rename local variables from jm_* to gl_*.
104766         Quote operand of "test -f".
104767         Say "recent enough" version of libc, not "version 2".
104768         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104769         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104770         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104771         Remove check for btowc, isascii.
104772         Require AM_LANGINFO_CODESET.
104774 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104776         * lib/regex.c, regex.h: Sync from libc.
104777         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104778         * lib/regexec.c:
104779         New files, synced from libc, except that regex_internal.h
104780         currently has a small porting fix.
104782 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104784         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104785         regex_internal.c, regexec.c.
104786         Add regex_internal.h too, but as a comment, since the libc version
104787         is currently broken in gnulib mode.
104789 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104791         Support programs like Emacs that use gnulib but not gettext.
104792         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104793         * modules/gettext-h: New file.
104794         * modules/gettext (Files): Remove lib/gettext.h.
104795         (Depends-on): Add gettext-h.
104796         (Makefile.am): Remove lib_SOURCES.
104797         * modules/argmatch, modules/c-stack, modules/closeout:
104798         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104799         * modules/execute, modules/file-type, modules/getaddrinfo:
104800         * modules/getopt, modules/human, modules/javacomp:
104801         * modules/javaexec, modules/mkdir-p, modules/obstack:
104802         * modules/openat, modules/pagealign_alloc, modules/pipe:
104803         * modules/quotearg, modules/regex, modules/rpmatch:
104804         * modules/unicodeio, modules/userspec, modules/version-etc:
104805         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104806         * modules/xsetenv:
104807         Depend on gettext-h, not gettext.
104809 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104811         * gnulib-tool (func_import): Add support for 'public domain' license.
104812         * modules/alloca, modules/atexit, modules/memmove:
104813         Now public domain, not GPL.
104814         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104815         * modules/realloc, modules/strerror, modules/strtod:
104816         Now LGPL, not GPL.
104818 2005-07-05  Bruno Haible  <bruno@clisp.org>
104820         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104821         autoconf CVS. Needed for mingw.
104823 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104825         Remove the dependency of the strftime module on the tzset module.
104826         * modules/strftime (Depends-on): Remove dependency on tzset.
104828 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104830         Remove the dependency of the strftime module on the tzset module.
104831         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104832         gl_FUNC_TZSET_CLOBBER.
104834 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104836         Remove the dependency of the strftime module on the tzset module.
104837         * lib/strftime.c (my_strftime)
104838         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104839         Copy the input structure, to work around some of the bug with
104840         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104841         Solaris releases, you should also use the tzset module, but we won't
104842         require it as a dependency any more since we don't want LGPLed code
104843         to depend on GPLed code.
104845 2005-07-02  Jim Meyering  <jim@meyering.net>
104847         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104848         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104849         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104850         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104852 2005-07-02  Jim Meyering  <jim@meyering.net>
104854         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104856 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104858         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104859         declares only 'struct timespec;' (!).
104861 2005-07-01  Jim Meyering  <jim@meyering.net>
104863         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104864         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104865         * lib/save-cwd.c, tempname.c:
104866         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104867         and don't include <sys/file.h>).
104869 2005-06-29  Jim Meyering  <jim@meyering.net>
104871         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104872         type name.  Use the variable name instead.
104873         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104874         Likewise.
104876 2005-06-28  Simon Josefsson  <jas@extundo.com>
104878         * modules/check-version (Files): Add check-version.m4.
104880 2005-06-28  Simon Josefsson  <jas@extundo.com>
104882         * m4/check-version.m4: New file, suggested by Jim Meyering
104883         <jim@meyering.net>.
104885 2005-06-28  Simon Josefsson  <jas@extundo.com>
104887         * lib/check-version.h, lib/check-version.c: New files.
104889 2005-06-28  Simon Josefsson  <jas@extundo.com>
104891         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104892         collision with global variable.  Better indentation.  Don't
104893         increment buffer pointer beyond buffer end.  Based on comments
104894         from Paul Eggert <eggert@cs.ucla.edu>.
104896         * lib/base64.h: Indent.
104898 2005-06-28  Simon Josefsson  <jas@extundo.com>
104900         * doc/gnulib.texi (Library version handling): New section.
104902 2005-06-28  Jim Meyering  <jim@meyering.net>
104904         * check-module (find_included_lib_files): Hard-code another
104905         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104906         but modules/fts-lgpl (correctly) does not list those files.
104908         * modules/canonicalize (Files): Add lib/pathmax.h.
104910 2005-06-25  Simon Josefsson  <jas@extundo.com>
104912         * modules/check-version: New file.
104914 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104916         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104917         initializer of struct addrinfo, as an indication that we don't
104918         care how many members the structure has.
104920 2005-06-24  Derek Price  <derek@ximbiot.com>
104921         and Bruno Haible  <bruno@clisp.org>
104923         Remove stat module & update lstat.
104924         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104925         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104926         * m4/stat.m4: Remove this file.
104928 2005-06-24  Derek Price  <derek@ximbiot.com>
104929         and Bruno Haible  <bruno@clisp.org>
104931         Remove stat module & update lstat.
104932         * lib/stat.c: Remove this file...
104933         (slash_aware_lstat): ...moving this content and its support...
104934         * lib/lstat.c (rpl_lstat): ...into here.
104935         * lib/lstat.h: New file.
104937 2005-06-24  Derek Price  <derek@ximbiot.com>
104938         and Bruno Haible  <bruno@clisp.org>
104940         Remove stat module & update lstat.
104941         * config/srclist.txt (libc sources): Remove stat.
104943 2005-06-24  Derek Price  <derek@ximbiot.com>
104944         and Bruno Haible  <bruno@clisp.org>
104946         Remove stat module & update lstat.
104947         * MODULES.html.sh (stat): Remove.
104948         * MODULES.html: Regenerated.
104949         * modules/lstat (Description): Correct function name.
104950         (Files): Add "lstat.h".
104951         (Depends-on): Remove stat, add xalloc, stat-macros.
104952         * modules/stat: Remove this file.
104953         (Include): Add "lstat.h", remove <sys/stat.h>.
104955 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104957         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104958         (ranged_convert): Don't save conversion in a temporary struct.
104959         This causes a warning with GCC 4.0.0, and anyway in the typical
104960         case it's not worth the extra 100 bytes or so of code.
104961         (ranged_convert, __mktime_internal): When calling a function via a
104962         pointer P, use P () rather than (*P) (), as we now assume C89 or
104963         better.
104965 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104967         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
104968         "who -r" failed to give output.  Problem reported by Tim Waugh.
104970         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
104971         (xcalloc): Use it to avoid needless tests.
104972         Problem reported by Jim Meyering.
104974 2005-06-20  Derek Price  <derek@ximbiot.com>
104976         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
104977         unnecessary for Autoconfs > 2.59c.
104979 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104981         * lib/argp.h (__option_is_short): Check upper limit of
104982         __key. Isprint() requires its argument to have the value
104983         of an unsigned char or EOF.
104985 2005-06-16  Jim Meyering  <jim@meyering.net>
104987         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
104988         when either N or S is zero.
104990 2005-06-16  Derek Price  <derek@ximbiot.com>
104992         * m4/bison.m4: Declare YACC & YFLAGS precious.
104994 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
104996         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
104997         multibyte string or pattern, fall back on unibyte matching.
104998         Problem reported by James Youngman.
105000 2005-06-08  Bruno Haible  <bruno@clisp.org>
105002         * modules/csharpcomp: New file.
105003         * MODULES.html.sh (C#): Add csharpcomp.
105005 2005-06-08  Bruno Haible  <bruno@clisp.org>
105007         * m4/csharpcomp.m4: New file, from GNU gettext.
105009 2005-06-08  Bruno Haible  <bruno@clisp.org>
105011         * lib/csharpcomp.h: New file, from GNU gettext.
105012         * lib/csharpcomp.c: New file, from GNU gettext.
105013         * lib/csharpcomp.sh.in: New file, from GNU gettext.
105015 2005-06-08  Bruno Haible  <bruno@clisp.org>
105017         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
105018         warning on mingw.
105020 2005-06-07  Derek Price  <derek@ximbiot.com>
105022         Sync from CVS.
105023         * lib/glob_.h: Indent nested #ifdef.
105025 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105027         Sync from coreutils.
105028         Use "file name" when talking about file names, instead of "filename"
105029         or "path", as per the GNU coding standards.
105030         * lib/mkdir-p.c: Renamed from makepath.c.
105031         (make_dir_parents): Renamed from make_path.  All callers changed.
105032         * lib/mkdir-p.h: Likewise.  All includers changed.
105033         * lib/filenamecat.c: Renamed from path-concat.c.
105034         (file_name_concat): Renamed from path_concat.  All callers changed.
105035         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
105036         * lib/filenamecat.h: Likewise.  All includers changed.
105037         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
105038         in comments or local variable names.
105039         * lib/basename.c: Likewise.
105040         * lib/canonicalize.c, canonicalize.h: Likewise.
105041         * lib/dirname.c, dirname.h: Likewise.
105042         * lib/euidaccess.c: Likewise.
105043         * lib/exclude.c: Likewise
105044         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
105045         * lib/fsusage.c, fsuage.h: Likewise.
105046         * lib/fts.c, fts_.h: Likewise.
105047         * lib/getcwd.c: Likewise.
105048         * lib/getloadavg.c: Likewise.
105049         * lib/mkstemp.c: Likewise.
105050         * lib/mountlist.c, mountlist.h: Likewise.
105051         * lib/openat.c, openat.h: Likewise.
105052         * lib/readlink-stub.c: Likewise.
105053         * lib/readutmp.c, readutmp.h: Likewise.
105054         * lib/rename.c: Likewise.
105055         * lib/rmdir.c: Likewise.
105056         * lib/same.c: Likewise.
105057         * lib/savedir.c: Likewise.
105058         * lib/stripslash.c: Likewise.
105059         * lib/tempname.c: Likewise.
105060         * lib/xreadlink.c: Likewise.
105061         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
105062         All uses changed.
105063         * lib/exclude.h: Likewise.
105065         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
105066         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105067         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
105068         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105069         * lib/pathmax.h: Include <limits.h> unconditionally, since other
105070         files have been getting away with it for years (MORE/BSD 4.3
105071         is extinct now).
105072         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
105073         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105075         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
105076         Define to 256, not 255, as per modern POSIX.
105078 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105080         Sync from coreutils.
105081         Use "file name" when talking about file names, instead of "filename"
105082         or "path", as per the GNU coding standards.
105083         * MODULES.html.sh: mkdir-p renamed from makepath.
105084         filenamecat renamed from path-concat.
105085         * modules/filenamecat: Renamed from modules/path-concat.
105086         (Files): filenamecat.h and filenamecat.c renamed from
105087         path-concat.h and path-concat.c.
105088         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
105089         (Include): filenamecat.h, not path-concat.h.
105090         * modules/mkdir-p: Renamed from modules/makepath.
105091         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
105092         makepath.c.
105093         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
105094         (Include): mkdir-p.h, not makepath.h.
105096 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105098         Sync from coreutils.
105099         * m4/mkdir-p.m4: Renamed from makepath.m4.
105100         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
105101         Rename files from makepath.c to mkdir-p.c, and from
105102         makepath.h to mkdir-p.h.
105103         * m4/filenamecat.m4: Renamed from path-concat.m4.
105104         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
105105         Rename files from path-concat.c to filenamecat.c,
105106         and from path-concat.h to filenamecat.h.
105107         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
105108         "file name" in local variables or comments.
105109         * m4/rename.m4: Likewise.
105111 2005-06-01  Bruno Haible  <bruno@clisp.org>
105113         * modules/csharpexec: New file.
105114         * MODULES.html.sh (C#): New section.
105116 2005-06-01  Bruno Haible  <bruno@clisp.org>
105118         * m4/csharp.m4: New file, from GNU gettext.
105119         * m4/csharpexec.m4: New file, from GNU gettext.
105121 2005-06-01  Bruno Haible  <bruno@clisp.org>
105123         * lib/csharpexec.h: New file, from GNU gettext.
105124         * lib/csharpexec.c: New file, from GNU gettext.
105125         * lib/csharpexec.sh.in: New file, from GNU gettext.
105127 2005-05-31  Derek Price  <derek@ximbiot.com>
105128             Paul Eggert  <eggert@cs.ucla.edu>
105130         Sync from cvs.
105131         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105133 2005-05-31  Derek Price  <derek@ximbiot.com>
105134             Paul Eggert  <eggert@cs.ucla.edu>
105136         Sync from cvs.
105137         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105139 2005-05-29  Derek Price  <derek@ximbiot.com>
105141         * config/srclist.txt (glob_.h, glob.c): Add these files.
105143 2005-05-29  Derek Price  <derek@ximbiot.com>
105145         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
105146         * modules/glob: New file.
105147         * modules/getlogin_r: Add link to POSIX spec in description.
105149 2005-05-29  Derek Price  <derek@ximbiot.com>
105150             Paul Eggert  <eggert@cs.ucla.edu>
105152         * m4/glob.m4: New file.
105154 2005-05-29  Derek Price  <derek@ximbiot.com>
105155             Paul Eggert  <eggert@cs.ucla.edu>
105157         * lib/glob_.h, lib/glob.c: New files.
105159 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105161         * modules/fts (Files): Remove m4/inttypes-pri.m4.
105162         * modules/fts-lgpl (Depends-on): Remove gettext.
105164 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105166         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
105167         and don't require gt_INTTYPES_PRI.
105169 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105171         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
105173         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
105174         the configuration hassle isn't worth it.
105175         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
105176         (LONGEST_MODIFIER, PRIuMAX): Remove.
105178 2005-05-27  Bruno Haible  <bruno@clisp.org>
105180         * lib/getlogin_r.h: Remove second include of <stddef.h>.
105182 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
105184         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
105185         _POSIX_PTHREAD_SEMANTICS for Solaris.
105187 2005-05-25  Derek Price  <derek@ximbiot.com>
105189         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
105191 2005-05-25  Derek Price  <derek@ximbiot.com>
105192             Paul Eggert  <eggert@cs.ucla.edu>
105194         * modules/getlogin_r, m4/getlogin_r.m4: New files.
105195         * lib/getlogin_r.c, getlogin_r.h: New files.
105197 2005-05-25  Bruno Haible  <bruno@clisp.org>
105198             Derek Price  <derek@ximbiot.com>
105200         * lib/getlogin_r.h: Simplify API documentation.
105202 2005-05-23  Derek Price  <derek@ximbiot.com>
105204         * modules/minmax (Files): Add m4/minmax.m4.
105205         (configure.ac): Add gl_MINMAX.
105207 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
105209         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
105210         so that unistd-safer.h (GPL'ed code) need not be included.
105212 2005-05-22  Bruno Haible  <bruno@clisp.org>
105214         * m4/minmax.m4: New file.
105215         Based on a patch by Derek Price <derek@ximbiot.com>.
105217 2005-05-22  Bruno Haible  <bruno@clisp.org>
105219         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
105220         (INT64_MIN): Fix definition.
105221         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
105223         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
105224         NEED_SIGNED_INT_TYPES.
105226         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
105227         HAVE_SYSTEM_INTTYPES.
105229 2005-05-22  Bruno Haible  <bruno@clisp.org>
105231         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
105232         Also include <sys/param.h> if it defines MIN, MAX.
105233         Based on a patch by Derek Price <derek@ximbiot.com>.
105235 2005-05-21  Jim Meyering  <jim@meyering.net>
105237         * modules/fts (Files): Add m4/inttypes-pri.m4.
105238         (Depends-on): Add lstat and remove gettext.  Alphabetize.
105240 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105242         New fts module.
105243         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
105244         (setup_dir, free_dir): New functions.
105245         (enter_dir, leave_dir): Define trivial
105246         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
105247         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
105248         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
105249         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
105250         Move to fts-cycle.c.
105251         (fts_open): Use setup_dir.
105252         (fts_close): Use free_dir.
105253         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
105254         This adds a label and some gotos, but the alternatives were messier.
105255         Check for memory allocation failure when entering a dir.
105256         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
105257         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
105258         (FTS): New member fts_cycle, that is a union that contains the
105259         old active_dir_ht and cycle_state.  All uses changed to mention
105260         fts_cycle.ht and fts_cycle.state.
105261         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
105262         fts.c, with the following changes:
105263         (setup_dir, free_dir): New functions.
105264         (enter_dir): Now returns bool.  Return true if successful, false
105265         if memory exhausted.  All callers changed.
105266         Do not bother partly cleaning up on
105267         memory allocation failure; that is free_dir's job.
105268         However, free ad if hash_insert fails, to avoid memory leak.
105269         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
105270         fts->fts_options to see which union member to use.
105272 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105274         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
105275         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
105277 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105279         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
105281 2005-05-20  Jim Meyering  <jim@meyering.net>
105283         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
105284         Now a macro, to pacify GCC.
105286 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105288         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
105289         of -1.
105291 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105293         * lib/chown.c (rpl_chown): Return -1 on failure.
105295 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105297         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
105298         Don't check for stddef.h.
105299         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
105300         don't use its results.
105301         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
105302         since we include them unconditionally.  Don't require
105303         AM_STDBOOL_H, since stdbool is a prerequisite.
105304         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
105305         since we assume C89 or better.
105306         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
105307         as we don't use their results.
105308         Don't check for fchdir, memmove, memset, strrchr, as we use
105309         them unconditionally.
105310         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
105311         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
105313 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105315         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
105316         Include <stddef.h> unconditionally, since we assume C89 now.
105317         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
105318         * lib/fts.c: Include fts_.h first, to check interface.
105319         Do not include intprops.h; no longer needed.
105320         Include cycle-check.h and hash.h, since fts_.h no longer does.
105321         Remove unnecessary casts of closedir to void.
105322         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
105323         decide whether to decrement nlinks.
105324         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
105325         (FTS): Use struct hash_table * instead of Hash_table, so that
105326         we no longer need to include hash.h here.
105328 2005-05-18  Jim Meyering  <jim@meyering.net>
105330         * modules/dirfd (License): Change to LGPL.  Most of the code
105331         is already in the public domain.
105333 2005-05-18  Jim Meyering  <jim@meyering.net>
105335         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
105336         Reported by Yoann Vandoorselaere.
105338 2005-05-17  Jim Meyering  <jim@meyering.net>
105340         * m4/fts.m4: New file, from coreutils.
105342 2005-05-17  Jim Meyering  <jim@meyering.net>
105344         * lib/fts.c, lib/fts_.h: New files, from coreutils.
105346 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105348         Sync from coreutils.
105349         * m4/unlinkdir.m4: New file.
105351 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105353         Sync from coreutils.
105354         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
105355         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
105356         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
105357         White space changes only.
105358         * lib/makepath.c (make_path): Port to hosts where leading "//" is
105359         special.
105360         * lib/yesno.c: Include getline.h, not ctype.h.
105361         (yesno): Don't remove leading white space; POSIX doesn't allow it.
105362         Use getline to remove arbitrary restriction on response length.
105364 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105366         * config/srclist-update: Spell out "Street" in FSF postal
105367         mail address; this is the style the FSF seems to prefer.
105369         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
105370         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
105371         this updates FSF postal mail address.
105373         Sync from coreutils.
105374         * modules/unlinkdir: New file.
105375         * modules/yesno (Depends-on): Add getline.
105376         * MODULES.html.sh (File system functions): Add unlinkdir.
105378 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105380         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
105381         lib/strsep.h:
105382         Change the initial comment to refer to GPL, not LGPL.
105383         gnulib-tool will change it to LGPL as needed.
105385         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
105386         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
105387         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
105388         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
105389         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
105390         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
105391         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
105392         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
105393         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
105394         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
105395         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
105396         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
105397         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
105398         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
105399         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
105400         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
105401         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
105402         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
105403         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
105404         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
105405         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
105406         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
105407         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
105408         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
105409         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
105410         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
105411         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
105412         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
105413         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
105414         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
105415         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
105416         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
105417         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
105418         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
105419         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
105420         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
105421         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
105422         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
105423         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
105424         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
105425         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
105426         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
105427         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
105428         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
105429         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
105430         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
105431         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
105432         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
105433         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
105434         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
105435         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
105436         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
105437         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
105438         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
105439         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
105440         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
105441         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
105442         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
105443         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
105444         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
105445         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
105446         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
105447         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
105448         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
105449         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
105450         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
105451         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
105452         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
105453         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
105454         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
105455         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
105456         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
105457         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
105458         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
105459         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
105460         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
105461         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
105462         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
105463         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
105464         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
105465         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
105466         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
105467         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
105468         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
105469         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
105470         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
105471         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
105472         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
105473         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
105474         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
105475         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
105476         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
105477         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
105478         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
105479         lib/yesno.c, lib/yesno.h:
105480         Update FSF postal mail address.
105482 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105484         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
105485         tests/test-memmem.c, tests/test-stpncpy.c:
105486         Update FSF postal mail address.
105488 2005-05-13  Bruno Haible  <bruno@clisp.org>
105490         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
105491         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
105492         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
105493         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
105494         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
105495         Add support for 64-bit integers in the MSVC compiler.
105497 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105499         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
105501 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
105503         * gnulib-tool (func_import): Sort and uniquify recommended includes.
105505 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
105507         * doc/getdate.texi (General date syntax): Don't say that date
105508         date --iso-8601=ns generates acceptable dates; it doesn't yet.
105509         Problem reported by Nic Ferrier.
105511 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105513         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
105514         specified in ai_socktype. Fix invalid ai_protocol
105515         check. ai_protocol is usually set to 0 or depending on
105516         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
105517         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
105518         ai_socktype / ai_protocol in the returned addrinfo structure.
105520 2005-05-10  Simon Josefsson  <jas@extundo.com>
105522         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
105523         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105525 2005-05-10  Karl Berry  <karl@gnu.org>
105527         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
105528         (from http://www.gnu.org/licenses).
105529         * doc/COPYING.LIB: also rename to COPYING.LESSER.
105530         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
105531         fdl.texi suffices.
105533 2005-05-10  Karl Berry  <karl@gnu.org>
105535         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
105536         (COPYING.DOC): remove.
105538         * config/srclist-update: new FSF address.
105540 2005-05-10  Derek Price  <derek@ximbiot.com>
105542         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
105543         possible.
105545 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105546             Bruno Haible  <bruno@clisp.org>
105548         * modules/inet_ntop: New file.
105549         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105550         inet_ntop.
105552 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105553             Bruno Haible  <bruno@clisp.org>
105555         * m4/inet_ntop.m4: New file.
105557 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105558             Bruno Haible  <bruno@clisp.org>
105560         * lib/inet_ntop.h: New file.
105561         * lib/inet_ntop.c: New file, from glibc with modifications.
105563 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
105565         * modules/time_r (License): Change to LGPL.
105566         * modules/extensions (License): Change to LGPL.  Actually,
105567         the license is more permissive than that, but currently gnulib-tool
105568         doesn't know how to handle more-permissive licenses.
105570         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
105571         Problem reported by Dave Love.
105573 2005-05-08  Jim Meyering  <jim@meyering.net>
105575         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
105576         blank.
105578 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
105580         * modules/argmatch (Depends-on): Add stdbool.
105581         * modules/backupfile (Depends-on): Likewise.
105582         * modules/chdir-long (Depends-on): Likewise.
105583         * modules/closeout (Depends-on): Likewise.
105584         * modules/cycle-check (Depends-on): Likewise.
105585         * modules/dirname (Depends-on): Likewise.
105586         * modules/fnmatch (Depends-on): Likewise.
105587         * modules/fsusage (Depends-on): Likewise.
105588         * modules/fwriteerror (Depends-on): Likewise.
105589         * modules/getcwd (Depends-on): Likewise.
105590         * modules/getloadavg (Depends-on): Likewise.
105591         * modules/hard-locale (Depends-on): Likewise.
105592         * modules/makepath (Depends-on): Likewise.
105593         * modules/mountlist (Depends-on): Likewise.
105594         * modules/nanosleep (Depends-on): Likewise.
105595         * modules/posixtm (Depends-on): Likewise.
105596         * modules/quotearg (Depends-on): Likewise.
105597         * modules/readtokens (Depends-on): Likewise.
105598         * modules/readtokens0 (Depends-on): Likewise.
105599         * modules/readutmp (Depends-on): Likewise.
105600         * modules/save-cwd (Depends-on): Likewise.
105601         * modules/strftime (Depends-on): Likewise.
105602         * modules/userspec (Depends-on): Likewise.
105603         * modules/utimecmp (Depends-on): Likewise.
105604         * modules/xgetcwd (Depends-on): Likewise.
105605         * modules/xnanosleep (Depends-on): Likewise.
105606         * modules/xstrtod (Depends-on): Likewise.
105607         * modules/yesno (Depends-on): Likewise.
105609 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
105611         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
105612         needless checks.
105614 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105616         Merge from coreutils.  Among other things,
105617         add bulletproofing for cases where stdin, stdout, or stderr are closed.
105618         * lib/fd-safer.c: New file.
105619         * lib/fcntl-safer.h, open-safer.c: Remove.
105620         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
105621         * lib/dup-safer.c: Include unistd-safer.h first.
105622         Don't include errno.h.
105623         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
105624         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
105625         * lib/file-type.c: Rely on file-type.h change.
105626         * lib/getloadavg.c: Include unistd-safer.h.
105627         (getloadavg): Use safer open.
105628         * lib/getusershell.c: Include "stdio-safer.h".
105629         (getusershell): Use safer fopen.
105630         * lib/long-options.c (long_options): Use NULL rather than 0.
105631         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
105632         'free'.
105633         * lib/modechange.c: Likewise.
105634         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
105635         (MODE_DONE): New constant.
105636         (struct mode_change): Remove 'next' member.
105637         (make_node_op_equals): New function; like the old one of the
105638         same name, except it allocates an array.
105639         (mode_compile, mode_create_from_ref): Use it.
105640         (mode_compile): Allocate result as an array, not a linked list.
105641         Parse octal string ourself, so that we catch mistakes like "+0".
105642         (mode_adjust): Arg is an array, not a linked list.
105643         * lib/modechange.c: Include stat-macros.h, xalloc.h.
105644         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
105645         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
105646         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
105647         Remove.  This is now stat-macros.h's job.
105648         (talloc): Remove.  All callers replaced by xalloc, so that
105649         our invokers don't have to worry about reporting memory failures.
105650         (make_node_op_equals): Remove.
105651         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105652         New constants.
105653         (struct mode_change): Moved here from modechange.h.
105654         (mode_append_entry): Remove.
105655         (mode_compile): Remove MASKED_OPS arg, since it encouraged
105656         apps to have incorrect behavior.  Use simpler algorithm for head
105657         and tail.  Don't futz with umask; that's now the job of mode_adjust.
105658         Detect more invalid usages rather than having somewhat-random behavior.
105659         Don't insert an "a=" action, as that leads to incorrect behavior.
105660         (mode_compile, mode_create_from_ref): Return NULL on error instead
105661         of an enum, since now there's only one way to have an error.  All
105662         callers changed.
105663         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
105664         at the correct time.  Simplify calculation of "+u" and its ilk.
105665         Don't mishandle "+X".
105666         (mode_free): Remove "register" and localize decls.
105667         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105668         (struct mode_change): Move to modechange.c; callers don't
105669         need to see this stuff.
105670         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
105671         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
105672         (mode_change, mode_adjust): Reflect the new signatures noted above.
105673         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
105674         that might redefine system include files.
105675         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
105676         (my_usleep): Use NULL rather than (void *) 0.
105677         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
105678         Use siginterrupt to specify that system calls should be interrupted.
105679         (rpl_nanosleep): Move initialization of suspended closer to call of
105680         my_usleep.
105681         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
105682         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
105683         (desirable_utmp_entry): New function.
105684         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
105685         using x2nrealloc, to simplify logic.
105686         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
105687         size calculation.  Do not assume utmp file is a regular file.
105688         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
105689         (READ_UTMP_CHECK_PIDS): New constant.
105690         * lib/save-cwd.c: Include unistd-safer.h.
105691         (save_cwd): Use fd_safer.
105692         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
105693         [!_LIBC] Include "stat-macros.h" instead.
105694         * lib/unistd-safer.h (fd_safer): New decl.
105696 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105698         * modules/getloadavg (Depends-on): Add unistd-safer.
105699         * modules/getusershell (Depends-on): Add stdio-safer.
105700         * modules/lstat (Depends-on): Remove xalloc.
105701         * modules/mkstemp (Depends-on): Add stat-macros.
105702         * modules/modechange (Depends-on): Remove xstrtol.
105703         Add stat-macros, xalloc.
105704         * modules/save-cwd (Depends-on): Add unistd-safer.
105705         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
105706         * modules/unistd-safer (Files): Add lib/fd-safer.c
105707         (Makefile.am): Remove lib_SOURCES.
105709         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
105710         Remove fcntl-safer; unistd-safer supersedes it.
105712 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105714         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
105715         AC_HEADER_STAT.
105716         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
105717         (gl_PREREQ_CHOWN): Remove.
105718         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
105719         it.  Don't require AC_HEADER_STAT.
105720         (gl_PREREQ_LSTAT): Remove.
105721         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
105722         Don't require AC_HEADER_STAT.
105723         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
105724         (gl_PREREQ_RMDIR): Remove.
105725         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
105726         mention stat-macros.h or AC_HEADER_STAT, since we'll make
105727         the stat-macros module a prerequisite.
105728         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
105729         * m4/filemode.m4 (gl_FILEMODE): Likewise.
105730         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
105731         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
105732         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
105733         variable names.
105734         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
105735         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
105736         variable prefixes.
105737         * m4/fcntl-safer.m4: Remove.
105738         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
105739         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105740         Invoke gl_PREREQ_FD_SAFER.
105741         (gl_PREREQ_FD_SAFER): New macro.
105742         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105743         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105744         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105745         Remove duplicate call to AC_LIBOBJ(readutmp).
105746         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105748         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105749         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105751 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105753         * MODULES.html.sh (Misc): Add byteswap.
105755 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105757         * modules/getcwd (Depends-on): Add extensions.
105758         * modules/openat (Depends-on): Likewise.
105760 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105762         * modules/byteswap: New file.
105764 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105766         * m4/byteswap.m4: New file.
105768 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105770         * lib/byteswap_.h: New file.
105772 2005-04-25  Karl Berry  <karl@gnu.org>
105774         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105776 2005-04-25  Albert Chin  <china@thewrittenword.com>
105778         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105779         Toolkit C bug.
105781 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105783         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105784         (func_ln_if_changed): Remove forcibly for no error message
105785         in case file does not exist.
105787 2005-04-19  Simon Josefsson  <jas@extundo.com>
105789         * gnulib-tool (Options): Make --symlink mean --symbolic.
105791 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105793         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105795 2005-04-16  Simon Josefsson  <jas@extundo.com>
105797         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105799 2005-04-15  Simon Josefsson  <jas@extundo.com>
105801         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105803 2005-04-15  Simon Josefsson  <jas@extundo.com>
105805         * gnulib-tool: Rename --symlink to --symbolic.
105807 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105809         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105810         symbolic links to files instead of copying/moving.  Add --aux-dir,
105811         specifying directory relative --dir where auxiliary build tools
105812         are placed.
105814 2005-04-14  Bruno Haible  <bruno@clisp.org>
105816         * modules/allocsa (License): Change to LGPL.
105817         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105819 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105821         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105822         that "UTC +1 second" continues to work.  Problem reported
105823         by Dmitry V. Levin.
105824         (relunit_snumber): New rule.
105825         (relunit): Use it.
105827 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105829         * lib/getdate.y (universal_time_zone_table): New constant.
105830         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105831         universal_time_zone_table.
105832         (lookup_zone): Prefer universal_time_zone_table to
105833         local_time_zone_table, so that "GMT" time stamps are allowed in
105834         London during the summer.  Problem reported by Ian Abbott.
105836 2005-04-12  Jim Meyering  <jim@meyering.net>
105838         * lib/human.c (humblock): Set *options even when returning due to
105839         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105840         warning from gcc-4.
105842 2005-04-09  Jim Meyering  <jim@meyering.net>
105844         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105845         -Wuninitialized: initialize tm0.tm_year.
105847 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105849         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105850         count, since there's no maximum.  All uses changed.
105851         Add member dsts_seen.
105852         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105853         not being INT_MAX.
105854         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105855         Use pc_rels_seen to decide whether a date is absolute.
105857         * lib/getdate.y (number): Don't overwrite year.
105858         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105859         check.
105861 2005-04-02  Simon Josefsson  <jas@extundo.com>
105863         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105864         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105866 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105868         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105869         where no absolute path name can be longer than PATH_MAX.
105871 2005-03-27  Jim Meyering  <jim@meyering.net>
105873         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105875 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105877         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105878         "one's complement" -> "ones' complement" in comment, as per Knuth.
105879         "value of type" -> "type or expression" in comment.
105880         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105882 2005-03-26  Jim Meyering  <jim@meyering.net>
105884         Comment nits.
105885         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105886         Correct typos: s/or/of/.
105888 2005-03-26  Jim Meyering  <jim@meyering.net>
105890         * modules/check-include-files: Move to ../ and rename to...
105891         * check-module: ...this.
105893 2005-03-25  Jim Meyering  <jim@meyering.net>
105895         * modules/xvasprintf (Files): Add xalloc.h.
105897 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105899         * modules/gettext (Files): config/config.rpath ->
105900         build-aux/config.rpath
105901         * modules/iconv (Files): Likewise.
105902         Problem reported by Oskar Liljeblad.
105904 2005-03-23  Jim Meyering  <jim@meyering.net>
105906         * modules/check-include-files: New script to check for
105907         missing dependencies, multiple includes, etc.
105909         * modules/c-strtold (Depends-on): Add xalloc.
105910         * modules/c-strtod (Depends-on): Add xalloc.
105911         * modules/hash (Depends-on): Add xalloc.
105912         (Files): Remove lib/xalloc.h.
105914         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105915         * modules/userspec (Files): Add lib/inttostr.h.
105917 2005-03-23  Jim Meyering  <jim@meyering.net>
105919         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105921 2005-03-22  Jim Meyering  <jim@meyering.net>
105923         * modules/stat-macros: New module.
105924         * modules/canonicalize, modules/euidaccess, modules/file-type,
105925         * modules/filemode, modules/lchown, modules/makepath,
105926         * modules/rmdir, modules/stat: Depend on new stat-macros module
105927         rather than listing lib/stat-macros.h manually.
105928         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105930 2005-03-22  Jim Meyering  <jim@meyering.net>
105932         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105934 2005-03-22  Bruno Haible  <bruno@clisp.org>
105936         * config/srclist.txt: Replace target directory 'config' with
105937         'build-aux'.
105938         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105939         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105940         ../build-aux/.
105942 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105944         * modules/chdir-long (Depends-on): Add mempcpy.
105946         * modules/acl, modules/backupfile, modules/c-strtod,
105947         modules/c-strtold, modules/canon-host, modules/canonicalize,
105948         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105949         modules/exclude, modules/exitfail, modules/file-type,
105950         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105951         modules/getdate, modules/getline, modules/getpagesize,
105952         modules/getpass, modules/getugroups, modules/group-member,
105953         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105954         modules/inttostr, modules/long-options, modules/makepath,
105955         modules/md5, modules/memcasecmp, modules/memcoll,
105956         modules/modechange, modules/mountlist, modules/path-concat,
105957         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105958         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105959         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105960         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105961         modules/strftime, modules/strndup, modules/strverscmp,
105962         modules/timespec, modules/unlocked-io, modules/userspec,
105963         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105964         modules/yesno:
105965         Remove lib_SOURCES line from Makefile.am section, as this is now
105966         done automatically by the corresponding Autoconf macro.
105968 2005-03-21  Jim Meyering  <jim@meyering.net>
105970         Changes imported from coreutils.
105972         * lib/cycle-check.c: Don't include xalloc.h.
105974         * lib/path-concat.c: Don't include assert.h.
105975         (path_concat): Remove assertion that would have triggered
105976         for ABASE starting with more than one slash.
105977         Reported by Andreas Schwab.
105979         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
105980         properly when ABASE is an absolute file name.
105981         Correct the description of this function.
105982         Include <assert.h>.
105983         Add an assertion and a test driver.
105984         This fixes a bug introduced on 2004-07-02.
105985         Andreas Schwab reported the resulting failure of cp --parents:
105986         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
105988 2005-03-21  Jim Meyering  <jim@meyering.net>
105990         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
105991         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
105993 2005-03-21  Jim Meyering  <jim@meyering.net>
105994         and  Paul Eggert  <eggert@cs.ucla.edu>
105996         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
105997         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
105998         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
105999         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
106000         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
106001         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
106002         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
106003         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
106004         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
106005         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
106006         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
106007         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
106008         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
106009         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
106010         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
106011         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
106012         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
106013         for these modules.
106015 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
106017         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
106018         (which shouldn't happen), generate nothing instead of returning 0
106019         immediately, so that nstrftime (NULL, ...) doesn't return 0.
106021 2005-03-16  Bruno Haible  <bruno@clisp.org>
106023         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
106024         HAVE_LONGLONG_64BIT.
106026 2005-03-16  Bruno Haible  <bruno@clisp.org>
106028         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
106029         HAVE_LONGLONG_64BIT.
106031 2005-03-16  Bruno Haible  <bruno@clisp.org>
106033         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
106034         HAVE_LONGLONG_64BIT.
106036 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106038         * lib/strftime.c (my_strftime): Prepend space to format so that we can
106039         reliably distinguish strftime failure from empty output on POSIX
106040         hosts.
106042 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106044         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
106045         (iconv_string): Don't guess a size-zero buffer, as that might cause
106046         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
106047         result would be 'too large', where 'too large' is (heuristically)
106048         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
106049         overflow concerns.  This will prevent some unwanted malloc failures
106050         when the inputs are very large.
106052 2005-03-15  Karl Berry  <karl@gnu.org>
106054         * config/srclist.txt (config.rpath): from gettext.
106055         * config/config.rpath: update.
106057 2005-03-15  Bruno Haible  <bruno@clisp.org>
106059         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
106060         to 'negate'.
106062         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
106063         variable.
106065         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
106066         results.
106068 2005-03-14  Simon Josefsson  <jas@extundo.com>
106070         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
106071         <fx@gnu.org>.
106073 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
106075         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
106076         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
106077         intprops.h.
106078         * lib/strtol.c: Likewise.
106080 2005-03-14  Jim Meyering  <jim@meyering.net>
106082         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
106083         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
106084         to be nonzero so that we (and caller) can detect the difference
106085         between a valid zero-length expansion and an error return, even
106086         when the underlying strftime fails before writing anything into
106087         that location.
106089 2005-03-14  Bruno Haible  <bruno@clisp.org>
106091         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
106092         Update from GNU gettext 0.14.3.
106094 2005-03-10  Jim Meyering  <jim@meyering.net>
106096         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
106098 2005-03-10  Jim Meyering  <jim@meyering.net>
106100         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
106101         so that this module works on systems without fchdir.
106103 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
106105         Factor int-properties macros into a single file, except for
106106         glibc-related files.
106107         * lib/intprops.h: New file.
106108         * lib/getloadavg.c: Include it instead of limits.h.
106109         (INT_STRLEN_BOUND): Remove.
106110         * lib/human.c: Include intprops.h.
106111         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
106112         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
106113         302/1000.
106114         * lib/inttostr.h: Include intprops.h instead of limits.h.
106115         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
106116         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
106117         for consistency with intprops.h.
106118         (time_t_is_integer, twos_complement_arithmetic): Use them.
106119         * lib/sig2str.h: Include <signal.h>, intprops.h.
106120         (INT_STRLEN_BOUND): Remove.
106121         * lib/strftime.c (TYPE_SIGNED): Remove.
106122         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
106123         * lib/strtol.c: Adjust comments to match intprops.h.
106124         * lib/userspec.c: Include intprops.h.
106125         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
106126         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
106127         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
106128         instead of rolling our own expressions.
106129         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
106131         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
106132         instead of int.
106133         (my_strftime): Do not mishandle years close to INT_MAX, by doing
106134         the right thing even if adding 1900 would overflow.  Similarly
106135         for tm_mon + 1 and tm_yday + 1.
106136         Make %Y always equivalent to %C%y, and similarly for %G and %g.
106137         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
106138         (DO_SIGNED_NUMBER): New macro.
106139         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
106141 2005-03-07  Bruno Haible  <bruno@clisp.org>
106143         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
106145 2005-03-07  Bruno Haible  <bruno@clisp.org>
106147         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
106149 2005-03-04  Derek R. Price  <derek@ximbiot.com>
106151         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
106152         (func_import): Only replace files via --import when they have actually
106153         changed.
106155 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106157         * m4/mmap-anon.m4: New file.
106158         * m4/pagealign_alloc.m4: New file.
106160 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106161             Bruno Haible  <bruno@clisp.org>
106163         * modules/pagealign_alloc: New file.
106164         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
106166 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106167             Bruno Haible  <bruno@clisp.org>
106169         * lib/pagealign_alloc.h: New file.
106170         * lib/pagealign_alloc.c: New file.
106172 2005-03-03  Bruno Haible  <bruno@clisp.org>
106174         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
106175         Use an all-permissive copyright notice, recommended by RMS.
106177 2005-03-02  Bruno Haible  <bruno@clisp.org>
106179         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
106180         of AIX, the replacement has to be done only after <string.h> is
106181         included, therefore not in config.h. stpncpy.h does the replacement,
106182         and stpncpy.c uses it.
106184 2005-03-02  Bruno Haible  <bruno@clisp.org>
106186         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
106187         stpncpy.c uses it.
106189 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106191         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
106192         The workaround isn't strictly needed for POSIX conformance, and
106193         it's too much of a pain to configure and maintain.  We'll ask
106194         people to fix their kernels instead.
106195         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
106196         (NANOSLEEP_BUG_WORKAROUND): Remove.
106197         (xnanosleep): Remove the workaround.
106199 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106201         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
106202         Reported by Derek Price.
106203         (Include): Add "timespec.h".
106205         * modules/xnanosleep (Depends-on): Remove gethrxtime.
106207 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106209         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
106210         to detect nanosleep bug.
106212 2005-03-01  Bruno Haible  <bruno@clisp.org>
106214         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
106216 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
106218         * modules/gethrxtime: New file.
106219         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
106220         (Depends-on): Add gethrxtime.
106221         (configure.ac): Add gl_XNANOSLEEP.
106222         (Makefile.am): Remove lib_SOURCES line.
106224 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106226         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
106227         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
106229 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106231         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
106232         * lib/timespec.h (gettime): Return void, since it always
106233         succeeds now.  All uses changed.
106234         * lib/gettime.c (gettime): Likewise.
106235         [HAVE_NANOTIME]: Prefer nanotime.
106236         Assume gettimeofday succeeds, as POSIX requires.
106237         Assime time () succeeds, since other code already does.
106238         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
106239         (timespec_subtract): Remove.
106240         (NANOSLEEP_BUG_WORKAROUND): New constant.
106241         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
106242         things considerably.  Use it only on GNU/Linux hosts, since the
106243         workaround shouldn't be needed elsewhere.
106245 2005-02-24  Bruno Haible  <bruno@clisp.org>
106247         * modules/gettext (Files): Add m4/glibc2.m4.
106249 2005-02-24  Bruno Haible  <bruno@clisp.org>
106251         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
106252         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
106253         * m4/progtest.m4:
106254         Update from GNU gettext 0.14.2.
106255         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
106257 2005-02-24  Bruno Haible  <bruno@clisp.org>
106259         * lib/localcharset.c: Update from GNU gettext 0.14.2.
106260         * lib/config.charset: Update from GNU gettext 0.14.2.
106262 2005-02-24  Bruno Haible  <bruno@clisp.org>
106264         * lib/gettext.h: Update from GNU gettext 0.14.2.
106266 2005-02-23  Simon Josefsson  <jas@extundo.com>
106268         * m4/iconvme.m4: New file.
106270 2005-02-23  Jim Meyering  <jim@meyering.net>
106272         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
106273         change.
106274         Thanks to Bruno Haible for catching it.
106276 2005-02-22  Simon Josefsson  <jas@extundo.com>
106278         * modules/iconvme: New file.
106280         * MODULES.html.sh: Add iconvme.
106282 2005-02-22  Simon Josefsson  <jas@extundo.com>
106284         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
106286 2005-02-22  Simon Josefsson  <jas@extundo.com>
106288         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
106290 2005-02-22  Jim Meyering  <jim@meyering.net>
106292         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
106293         s/ifndef/ifdef/.
106295 2005-02-20  Neil Conway  <neilc@samurai.com>
106297         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
106298         returned by OSX/Darwin if the specified buffer is not large
106299         enough for the hostname.
106301 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106303         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
106304         pass it to _help, otherwise the latter coredumps trying to
106305         dereference state.root_argp.
106307 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106309         * modules/chdir-long (Depends-on): Add memrchr.
106310         * modules/memrchr (Files): Add lib/memrchr.h.
106311         (Include): "memrchr.h".
106313 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106315         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
106317 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106319         * lib/memrchr.h: New file.
106320         * lib/chdir-long.c: Include it.
106321         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
106322         Don't bother including stddef.h.
106324 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
106326         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
106327         inclusion.
106328         Include <sys/types.h>, for dev_t.
106329         (ME_DUMMY, ME_REMOTE): Move from here....
106330         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
106331         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
106332         Dmitry V. Levin.
106333         Include mountlist.h first, to test the interface.
106335 2005-01-29  Bruno Haible  <bruno@clisp.org>
106337         * lib/progname.c (program_name): Initialize.
106338         Needed when linking statically on MacOS X.
106340 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106342         Sync from coreutils.
106343         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
106344         (Depends-on): Add c-strtod.
106345         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
106347 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106349         Sync from coreutils.
106350         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
106352         Remove files that are specific to coreutils.
106353         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
106355 2005-01-28  Bruno Haible  <bruno@clisp.org>
106357         * modules/javacomp: New file.
106358         * MODULES.html.sh (Java): Add javacomp.
106360 2005-01-28  Bruno Haible  <bruno@clisp.org>
106362         * m4/javacomp.m4: New file, from GNU gettext.
106364 2005-01-28  Bruno Haible  <bruno@clisp.org>
106366         * lib/javacomp.sh.in: New file, from GNU gettext.
106367         * lib/javacomp.h: New file, from GNU gettext.
106368         * lib/javacomp.c: New file, from GNU gettext.
106370 2005-01-26  Simon Josefsson  <jas@extundo.com>
106372         * lib/gai_strerror.c: Use GPL in header.
106374 2005-01-26  Bruno Haible  <bruno@clisp.org>
106376         * modules/javaexec: New file.
106377         * MODULES.html.sh (Java): Add javaexec.
106379 2005-01-26  Bruno Haible  <bruno@clisp.org>
106381         * m4/javaexec.m4: New file, from GNU gettext.
106383 2005-01-26  Bruno Haible  <bruno@clisp.org>
106385         * lib/javaexec.sh.in: New file, from GNU gettext.
106386         * lib/javaexec.h: New file, from GNU gettext.
106387         * lib/javaexec.c: New file, from GNU gettext.
106389 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106391         * modules/lchown (Depends-on): Remove lchown.h
106393 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106395         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
106396         must be defined if the header file was not found, in order
106397         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
106399 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106401         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
106402         initializers for struct pentry_state.
106403         (__argp_error): Check return value of __asprintf
106404         (__argp_failure): Translate error message
106406         * lib/argp-parse.c: Removed braces around the expansion of N_()
106408 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
106410         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
106411         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
106412         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
106413         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
106414         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
106415         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
106416         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
106417         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
106418         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
106419         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
106420         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
106421         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
106422         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
106423         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
106424         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
106425         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
106426         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
106427         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
106428         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
106429         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
106430         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
106431         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
106432         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
106433         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
106434         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
106435         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
106436         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
106437         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
106438         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
106439         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
106440         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
106441         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
106442         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
106443         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
106444         xstrtol.m4, xstrtoumax.m4, yesno.m4:
106445         Use an all-permissive copyright notice, recommended by RMS.
106447 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
106449         * modules/chdir-long (Depends-on): Remove mempcpy.
106451 2005-01-21  Jim Meyering  <jim@meyering.net>
106453         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
106454         same value as for Solaris 9.
106456         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
106457         component length.  This included changing the parameter to be
106458         of type `char *' rather than `char const *'.
106459         * lib/chdir-long.h (chdir_long): Update prototype.
106461         * lib/openat.c (fdopendir, fstatat): New functions.
106462         * lib/openat.h: Include headers required for use of DIR and struct
106463         stat.
106464         [AT_SYMLINK_NOFOLLOW]: Define.
106465         (fdopendir, fstatat): Add prototypes.
106467 2005-01-21  Bruno Haible  <bruno@clisp.org>
106469         * modules/classpath: New file.
106470         * MODULES.html.sh (Java): Add classpath.
106472 2005-01-21  Bruno Haible  <bruno@clisp.org>
106474         * lib/classpath.h: New file, from GNU gettext.
106475         * lib/classpath.c: New file, from GNU gettext.
106477 2005-01-20  Simon Josefsson  <jas@extundo.com>
106479         * modules/version-etc-fsf: New file.
106481 2005-01-20  Simon Josefsson  <jas@extundo.com>
106483         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
106484         * lib/version-etc.c: Remove version_etc_copyright.
106485         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
106486         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
106488 2005-01-20  Simon Josefsson  <jas@extundo.com>
106490         * lib/base64.h (isbase64): Add.
106492         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
106493         using a unsigned prototype, don't inline.
106494         (base64_decode): Use it.
106496 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106498         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
106499         it.
106501 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106503         * lib/save-cwd.c (save_cwd): Remove code to support the case
106504         where fchdir is missing or flaky.
106506 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106508         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
106510 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
106512         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
106513         AC_LIBSOURCES now does this.
106514         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
106515         with new ullong_max module.
106517 2005-01-19  Bruno Haible  <bruno@clisp.org>
106519         * modules/sh-quote: New file.
106520         * MODULES.html.sh (Executing programs): Add sh-quote.
106522 2005-01-19  Bruno Haible  <bruno@clisp.org>
106524         * lib/sh-quote.h: New file, from GNU gettext.
106525         * lib/sh-quote.c: New file, from GNU gettext.
106527 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106529         Merge from coreutils.
106530         * m4/ullong_max.m4: New file.
106531         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
106532         (gl_MACROS): Assume localeconv exists.
106534 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106536         Merge changes from coreutils, as described below in several
106537         changelogs dated today.
106539         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
106540         (O_DIRECTORY): Remove; not needed here, since "." must be
106541         a directory.  All uses removed.
106542         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
106543         universal on Suns, and we also need to test for IRIX.
106544         Revamp code to use 'if' rather than '#if'.
106545         Avoid unnecessary comparison of cwd->desc to 0.
106547         * lib/utimens.c (futimens): Robustify the previous patch, by checking
106548         for known valid error numbers rather than observed invalid ones.
106550 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106552         * modules/ullong_max: New file.
106554         * modules/chdir-long, modules/openat: New files.
106555         * modules/save-cwd (Depends-on): Depend on chdir-long.
106556         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
106558 2005-01-18  Jim Meyering  <jim@meyering.net>
106560         Merge from coreutils.
106561         * m4/chdir-long.m4, m4/openat.m4: New files.
106562         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
106563         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
106564         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
106565         is sane and DOES follow symlinks.  Besides, testing 20 different
106566         systems found no broken chown implementations.
106567         Prompted by a change in rsync's copy of this macro.
106568         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
106570         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
106572         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
106573         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
106574         NULL-means-set-to-current-time semantics.
106575         Remove temporary file immediately, rather than waiting
106576         for configure's at-exit trap code to do it.
106578 2005-01-18  Jim Meyering  <jim@meyering.net>
106580         * lib/version-etc.c (version_etc_copyright): Update copyright date.
106582         * lib/utimens.c (futimens): Account for the fact that futimes
106583         can also fail with errno == ENOSYS or errno == ENOENT.
106584         Patch from Dmitry V. Levin.
106586         Change the name of the robust chdir function from chdir to chdir_long.
106587         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
106588         (restore_cwd): Use chdir_long, not chdir.
106589         * lib/chdir-long.c: Renamed from chdir.c.
106590         * lib/chdir-long.h: Renamed from chdir.h.
106591         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
106592         Hurd.
106594 2005-01-18  Bruno Haible  <bruno@clisp.org>
106596         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
106597         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
106598         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
106599         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
106600         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
106601         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
106602         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
106603         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
106604         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
106605         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
106606         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
106607         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
106608         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
106609         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
106610         Use an all-permissive copyright notice, recommended by RMS.
106612 2005-01-18  Bob Proulx  <bob@proulx.com>
106614         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
106615         simplify offsetof() macro construct to avoid compile failure with
106616         native HP-UX 11.0 ANSI C compiler.
106618 2005-01-17  Bruno Haible  <bruno@clisp.org>
106620         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
106621         redundant because stpncpy.m4 takes care of it.
106623 2005-01-17  Bruno Haible  <bruno@clisp.org>
106625         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
106627 2005-01-17  Bruno Haible  <bruno@clisp.org>
106629         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
106630         used.
106632 2005-01-17  Bruno Haible  <bruno@clisp.org>
106634         * lib/fwriteerror.h (fwriteerror): Change specification to include
106635         fclose.
106636         * lib/fwriteerror.c: Include <stdbool.h>.
106637         (fwriteerror): At the end, close the file stream. Record whether
106638         stdout was already closed.
106640 2005-01-17  Bruno Haible  <bruno@clisp.org>
106642         * lib/execute.c (environ): Declare if needed.
106643         * lib/pipe.c (environ): Likewise.
106644         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
106646 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106648         * modules/argp: Depend on vsnprintf
106650 2005-01-10  Jim Meyering  <jim@meyering.net>
106652         * modules/closeout (Depends-on): Add atexit.
106654 2005-01-06  Bruno Haible  <bruno@clisp.org>
106656         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
106658 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
106660         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
106661         definitions to be after all include files, to avoid collisions.
106662         Problem reported by Bob Proulx.
106664 2005-01-04  Jim Meyering  <jim@meyering.net>
106666         Changes imported from coreutils.
106667         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
106668         as the mkstemp template, use a temporary directory and an
106669         8.3-friendly template to avoid trouble on systems like DJGPP.
106670         Reported by Juan M. Guerrero via Stepan Kasal.
106671         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
106672         close. Remove the temporary directory right away, rather than waiting
106673         for configure's at-exit trap code to do it.
106674         Suggestion from Stepan Kasal.
106676 2005-01-01  Simon Josefsson  <jas@extundo.com>
106678         * gnulib-tool: Print #include directives when --import'ing.
106680 2004-12-28  Simon Josefsson  <jas@extundo.com>
106682         * tests/test-base64.c: Include required header files.  Remove
106683         unused variables.
106685 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106687         * modules/error (Depends-on): Remove gettext.
106689 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106691         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
106692         not needed.  This removes a dependency on the gettext module.
106693         [defined _LIBC]: Do not include <libintl.h>; not needed.
106695 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106697         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
106698         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
106700 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106702         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
106703         HAVE_DECL_STRTOLD.
106705 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106707         * modules/getdate (Depends-on): Remove alloca-opt.
106709 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106711         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
106713 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106715         * lib/argp-parse.c: Include <stddef.h>.
106716         (alignof, alignto): New macros.
106717         (parser_init): Don't assume that void * is aligned sufficiently
106718         for struct option.
106720         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
106721         need to extend the stack.
106722         (YYINITDEPTH): New macro, so that the initial stack isn't overly
106723         large.
106725 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106727         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
106729 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106731         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
106732         (2004-10-24) change.  Apparently this was a false alarm.
106734         * modules/getdate: Depend on alloca-opt, not alloca.
106736 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106738         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
106739         Remove now-obsolete comment about AIX.
106740         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106741         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106742         (YYMAXDEPTH): New macro.
106744 2004-12-18  Simon Josefsson  <jas@extundo.com>
106746         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106748 2004-12-18  Bruno Haible  <bruno@clisp.org>
106750         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106752 2004-12-18  Bruno Haible  <bruno@clisp.org>
106754         * lib/fatal-signal.c (fatal_signals): Make non-const.
106755         (init_fatal_signals): New function.
106756         (uninstall_handlers, install_handlers): Ignore signals that were set to
106757         SIG_IGN.
106758         (at_fatal_signal): Call init_fatal_signals.
106759         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106760         SIG_IGN.
106761         Reported by Paul Eggert.
106763 2004-12-18  Bruno Haible  <bruno@clisp.org>
106765         * doc/alloca.texi: New file.
106766         * doc/alloca-opt.texi: New file.
106768 2004-12-17  Jim Meyering  <jim@meyering.net>
106770         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106771         Otherwise, install-sh could exit with improper exit status when
106772         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106774 2004-12-16  Simon Josefsson  <jas@extundo.com>
106776         * tests/test-base64.c: Add license.
106778 2004-12-15  Stepan Kasal  <address@hidden>
106780         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106782 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106784         * modules/getcwd (Files): Add m4/d-ino.m4.
106785         Suggested by Mark D. Baushke.
106787 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106789         * lib/getdate.y (textint): New member "negative".
106790         (time_zone_hhmm): New function.
106791         Expect 14 shift-reduce conflicts, not 13.
106792         (o_colon_minutes): New rule.
106793         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106794         (yylex): Set the "negative" member of signed numbers.
106796 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106798         * doc/getdate.texi (Time of day items, Time zone items):
106799         Describe new formats +00:00, UTC+00:00.
106801 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106803         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106804         spurious "-l"s.  Problem reported by Stepan Kasal.
106806 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106808         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106809         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106811 2004-12-04  Simon Josefsson  <jas@extundo.com>
106813         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106814         Vandoorselaere <yoann@prelude-ids.org>.
106816 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106818         Changes imported from coreutils.
106819         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106820         exist.
106821         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106823 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106825         Changes imported from coreutils.
106826         * lib/hard-locale.c: Assume <locale.h> exists.
106827         Include "strdup.h".
106828         (GLIBC_VERSION): New macro.
106829         (hard_locale): Assume setlocale exists.
106830         Rewrite to avoid #ifdef.
106831         Use strdup rather than malloc + strcpy.
106832         * lib/human.c: Assume <locale.h> exists.
106833         (human_readable): Assume localeconv exists.
106835 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106837         * modules/hard-locale (Depends-on): Add strdup.
106839 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106841         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106842         convert T2, not T.  (Imported from libc.)
106844 2004-11-30  Simon Josefsson  <jas@extundo.com>
106846         * modules/restrict (License): Change to LGPL.
106848 2004-11-30  Simon Josefsson  <jas@extundo.com>
106850         * m4/restrict.m4: Add copyright and copying conditions.
106852 2004-11-30  Simon Josefsson  <jas@extundo.com>
106854         * m4/base64.m4: New file.
106856 2004-11-30  Simon Josefsson  <jas@extundo.com>
106858         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106859         base64.
106861         * tests/test-base64.c: New file.
106863         * modules/base64: New file.
106865 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106867         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106868         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106870         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106872 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106874         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106875         (__getcwd.c): Don't restore errno; glibc doesn't.
106876         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106877         first, falling back to our code only if its results look suspicious.
106878         Ensure that the resulting buffer is only as large as necessary.
106880         * lib/readutmp.c: Include readutmp.h first.
106881         Include <errno.h>, since readutmp.h no longer does that.
106882         * lib/readutmp.h: Don't include <errno.h>,
106883         <sys/param.h>, <time.h>; not needed to establish interface.
106884         (errno): Remove decl.
106885         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106886         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106887         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106889 2004-11-28  Simon Josefsson  <jas@extundo.com>
106891         * lib/base64.h, base64.c: New file.
106893 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106895         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106897 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106899         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106900         (Depends-on): Remove pathmax, same.  Add mempcpy.
106901         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106902         (Makefile.am): Append getcwd.h to lib_SOURCES.
106903         (Include): Add getcwd.h.
106904         (Maintainer): Change from Jim Meyering to "all, glibc",
106905         since getdate now uses intended-for-glibc code.
106906         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106907         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106909 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106911         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106912         HP's ANSI C compiler.
106913         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106914         Declaring int functions causes warnings on some modern systems and
106915         shouldn't be needed to compile on ancient ones.
106916         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106917         defined.
106919         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106920         with the following changes.
106921         (__set_errno): Parenthesize properly.
106922         Include <stdbool.h>.
106923         (MIN, MAX, MATCHING_INO): New macros.
106924         (__getcwd): Define with prototype, not K&R form.
106925         Use heuristics to allocate default buffer on stack if possible.
106926         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106927         behavior, and to avoid the PATH_MAX limit when computing
106928         ../../../../...
106929         Use MATCHING_INO to compare inode number to file.
106930         Check for arithmetic overflow in size calculations.
106931         Fix bug in reallocation of dot array that caused getcwd to fail
106932         on directories nested deeper than 75.
106933         Be more careful about saving errno on error.
106934         Do not use realloc; use only free+malloc, as this is a bit
106935         more flexible and avoids a needless copy operation.
106936         Do not inspect st_dev and st_ino for symbolic links; POSIX
106937         doesn't specify the latter.
106938         Check for closedir errors.
106939         Avoid needless casts.
106940         Use "#ifdef weak_alias" around weak_alias, to be like other
106941         glibc code.
106942         The following changes to getcwd.c have effect only when used in
106943         gnulib; they have no effect inside glibc proper.
106944         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106945         as alloca isn't used.
106946         (alloca, __alloca): Likewise.
106947         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106948         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106949         unconditionally, as gnulib assumes C89 or better.
106950         Do not include <sys/param.h>.
106951         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106952         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106953         better.
106954         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106955         Include <dirent.h> in a way that is compatible with modern Autoconf.
106956         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106957         New macros, if not already defined.
106958         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106959         Use "_LIBC", not "defined _LIBC", for consistency.
106960         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106961         a mempcpy module.
106962         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106963         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106964         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
106965         credit only to Jim Meyering and adjust the copyright dates.
106966         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
106967         <stdlib.h>, <unistd.h>, "pathmax.h".
106968         Instead, include "xgetcwd.h" (first) and "getcwd.h".
106969         (INITIAL_BUFFER_SIZE): Remove.
106970         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
106972 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106974         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
106975         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
106976         Use the _ONCE methods, for efficiency.
106977         Check for fcntl.h.  In test program, include <errno.h>
106978         and <fcntl.h> if available.  Remove old K&R cruft from
106979         test program.  Check for common errors in GNU/Linux,
106980         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
106981         don't do AC_LIBOBJ, as that's getcwd.m4's job.
106982         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
106983         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
106984         name accordingly.
106985         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
106986         accommodate new getcwd.c.
106987         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
106988         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
106989         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
106990         that's all we need now.
106992 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106994         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
106995         argp-parse.c depends on getopt internals, that means we should
106996         always use our getopt, to be on the safe side.
106997         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
106998         order not to spoil the result of an eventual previous invocation
106999         of gl_GETOPT_SUBSTITUTE.
107001 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107003         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
107004         redefinition warnings. To avoid them, include the defines
107005         in `#if !defined __need_getopt ... #endif'. The only place
107006         where __getopt_argv_const is used is in definitions
107007         of getopt_long and getopt_long_only below, which are as well
107008         protected by `#ifndef __need_getopt'.
107009         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
107010         __need_getopt after including <stdio.h> and <unistd.h> These
107011         headers might have defined it.
107013 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107015         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
107017 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107019         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
107020         (futimens): New function, which uses futimes if available.
107021         (futimens, utimens): Support timespec==NULL, with same semantics
107022         as utime and utimens.
107023         * lib/utimens.h (futimens): New decl.
107025 2004-11-23  Jim Meyering  <jim@meyering.net>
107027         * lib/getopt_.h: Remove trailing blanks.
107029 2004-11-23  Jim Meyering  <jim@meyering.net>
107031         * lib/__fpending.c: Add comment.
107033 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
107035         * modules/canonicalize (Depends-on): Add xreadlink.
107036         Problem reported by James Youngman.
107038 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
107040         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
107041         New macros.
107042         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
107043         optopt): Use them instead of invoking ## directly; otherwise, the
107044         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
107046 2004-11-19  Bruno Haible  <bruno@clisp.org>
107048         * lib/strtok_r.c: Move comments from here...
107049         * lib/strtok_r.h: ... to here.
107051 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107053         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
107054         implementations that mishandle size_t overflow.
107056 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107058         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
107059         might fail.  Problem reported by Yoann Vandoorselaere.
107060         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
107061         implementations that mishandle size_t overflow.
107063 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107065         * modules/canon-host (Depends-on): Add strdup.
107067 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107069         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
107071 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107073         * lib/canon-host.c: Include "strdup.h".
107074         (canon_host): Use getaddrinfo if available, so that IPv6 works.
107075         Use strdup instead of malloc/strcpy to duplicate strings.
107077         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
107078         (human_space_before_unit): New constant.
107079         * lib/human.c (human_readable): Support it.
107081         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
107082         (xgetcwd): Set errno correctly when failing.
107083         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
107084         the failure is actually due to a PATH_MAX problem.
107086         Further getopt changes to make it more likely that glibc will
107087         buy the changes back.
107088         * lib/getopt.c (POSIXLY_CORRECT): New constant.
107089         (getopt): Use it, so to preserve glibc semantic
107090         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
107091         when compiling for libc.
107092         * lib/getopt_.h (__getopt_argv_const): Bring it back.
107093         (getopt_long, getopt_long_only): Use it.
107095         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107096         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
107097         (getopt): Argv is now char * const *, as per standard.
107098         (_getopt_internal_r, _getopt_internal): Argv is now char **,
107099         not char *__getopt_argv_const *.
107100         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107101         _getopt_long_only_r): Likewise.
107102         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
107103         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107104         _getopt_long_r, _getopt_long_only_r): Likewise.
107105         * lib/getopt_.h (__getopt_argv_const): Remove.
107106         (getopt): Argv is now char * const *, as per standard.
107108         * lib/getdate.y (tORDINAL): New token.
107109         (day, relunit): Allow it for relative times.
107110         (relative_time_table): Use tORDINAL for ordinals.
107112 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107114         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
107115         Document that "second" isn't allowed as an ordinal number.
107117 2004-11-16  Jim Meyering  <jim@meyering.net>
107119         * modules/closeout (Depends-on): Add fpending.
107121 2004-11-15  Jim Meyering  <jim@meyering.net>
107123         * lib/closeout.c: Include "__fpending.h" once again.
107124         Include <stdbool.h>.
107125         (close_stdout): Don't fail just because stdout was closed initially,
107126         since some programs don't write to stdout in the normal course of
107127         operation (other than --version and --help), and we don't want this
107128         function to make e.g. `touch file >&-' fail.
107129         But do fail if it was closed and someone has tried to write to it.
107130         E.g., `printf foo >&-' must fail.
107132 2004-11-13  Jim Meyering  <jim@meyering.net>
107134         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
107136 2004-11-12  Simon Josefsson  <jas@extundo.com>
107138         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
107139         small doc fix is still pending.
107141 2004-11-11  Simon Josefsson  <jas@extundo.com>
107143         * modules/strtok_r: New file.
107145         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107146         strtok_r.
107148 2004-11-11  Simon Josefsson  <jas@extundo.com>
107150         * m4/strtok_r.m4: New file.
107152         * m4/getopt.m4: Replace opterr.
107154 2004-11-11  Simon Josefsson  <jas@extundo.com>
107156         * lib/strtok_r.h, strtok_r.c: New file.
107158 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107160         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
107161         of replacing opterr, getopt, etc.  This should handle the
107162         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
107164 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107166         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
107167         we can stop lying to compilers about the constness of argv when we
107168         are compiled outside glibc.
107169         (getopt, getopt_long, getopt_long_only): Use it.
107170         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107171         _getopt_internal, getopt): Likewise.
107172         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107173         _getopt_long_only_r): Likewise.
107174         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107175         _getopt_long_r, _getopt_long_only_r): Likewise.
107177         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
107178         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
107179         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
107180         the other external symbols.
107181         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
107182         declaration, since the above renaming now works around collisions.
107184 2004-11-11  Jim Meyering  <jim@meyering.net>
107186         * lib/linebreak.c: Remove trailing blanks.
107187         * lib/alloca_.h: Likewise.
107188         * lib/acosl.c: Likewise.
107189         * lib/euidaccess.c: Likewise.
107190         * lib/allocsa.h: Likewise.
107192 2004-11-10  Simon Josefsson  <jas@extundo.com>
107194         * m4/getaddrinfo.m4: New file.
107196 2004-11-10  Simon Josefsson  <jas@extundo.com>
107198         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
107200 2004-11-10  Simon Josefsson  <jas@extundo.com>
107202         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107203         getaddrinfo.
107205         * modules/getaddrinfo: New file.
107207 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107209         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
107211 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107213         * lib/mktime.c (SHR): New macro, which is a portable
107214         substitute for >> that should work even on Crays.
107215         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
107216         Problem reported by Mark D. Baushke in
107217         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
107218         * lib/getdate.y (SHR): Likewise.
107219         (tm_diff): Use it.
107220         * lib/strftime.c (SHR): Likewise.
107221         (tm_diff): Use it.
107222         * lib/quotearg.c (struct quoting_options): Use unsigned int for
107223         quote_these_too, so that right shifts are well defined.  All uses
107224         changed.
107226 2004-11-10  Jim Meyering  <jim@meyering.net>
107228         Ensure that no close failure goes unreported.
107229         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
107230         return early when it seems there's nothing to flush.
107231         Don't include __fpending.h.
107233 2004-11-10  Jim Meyering  <jim@meyering.net>
107235         * modules/closeout (Depends-on): Remove fpending.
107237 2004-11-10  Jim Meyering  <jim@meyering.net>
107239         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
107241 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107243         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
107244         gl_FUNC_STRFTIME.
107245         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
107246         and AC_REQUIRE when possible, to avoid duplicate checks.
107247         Check for <wchar.h>.
107249 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107251         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
107253 2004-11-09  Bruno Haible  <bruno@clisp.org>
107255         * m4/sockpfaf.m4: New file.
107257 2004-11-05  Bruno Haible  <bruno@clisp.org>
107259         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
107260         Reported by Mark D. Baushke <mdb@cvshome.org>.
107262 2004-11-04  Bruno Haible  <bruno@clisp.org>
107264         2004-09-11  Bruno Haible  <bruno@clisp.org>
107265                 * allocsa.valgrind: New file.
107266         2004-02-06  Bruno Haible  <bruno@clisp.org>
107267                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
107268                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
107269                 Reported by Christopher Seip <chris.seip@hp.com>.
107271 2004-11-04  Bruno Haible  <bruno@clisp.org>
107273         * modules/allocsa (Files): Add lib/allocsa.valgrind.
107274         (Makefile.am): Distribute it.
107276 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
107278         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
107279         with errno == ERANGE if the buffer is too small.
107280         Problem reported by Mark D. Baushke.
107282 2004-11-03  Albert Chin  <china@thewrittenword.com>
107283             Paul Eggert  <eggert@cs.ucla.edu>
107285         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
107286         equivalent, substitute $ac_type for equivalent type rather than
107287         blindly using uint32_t *always* which won't work if uint32_t is not
107288         available.  Define _UINT32_T to work around typedef of uint32_t if
107289         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
107290         2.5.1.
107292 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107294         * m4/jm-macros.m4: Sync from coreutils.
107295         (gl_MACROS): Check for mbrlen, for pathchk.
107296         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
107298 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107300         * lib/xreadlink.c (MAXSIZE): New macro.
107301         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
107302         size does not exceed MAXSIZE.  Avoid cast.
107303         As suggested by Mark D. Baushke in
107304         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
107305         if readlink fails with buffer size just under MAXSIZE, try again
107306         with MAXSIZE.
107308 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107310         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
107312 2004-11-02  Derek R. Price  <derek@ximbiot.com>
107313         and  Paul Eggert  <eggert@cs.ucla.edu>
107315         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
107316         (get_date): Overparenthesize to avoid GCC warning.
107318 2004-11-02  Bruno Haible  <bruno@clisp.org>
107320         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
107321         returns void.
107323 2004-11-02  Bruno Haible  <bruno@clisp.org>
107325         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
107326         function returns void.
107328 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107330         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
107331         fflush_unlocked, flockfile, funlockfile, funlockfile,
107332         fputs_unlocked, putc_unlocked.
107334 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107336         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107337         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
107338         already declared.
107340 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107342         * modules/getdate (Files): Add doc/getdate.texi.
107343         (Depends-on): Add setenv, xalloc.
107345 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107347         * lib/getdate.y: Add support for TZ="foo" within a date string.
107348         Fix some bugs near time_t boundaries.  Reject dates with
107349         out-of-range components, e.g., "Sept 31".
107350         Include <stdlib.h>, "setenv.h", "xalloc.h".
107351         (ISDIGIT_LOCALE): Remove; unused.
107352         Note that the TZ and time functions used here are not reentrant.
107353         (mktime_ok, get_tz): New functions.
107354         (TZBUFSIZE): New constant.
107355         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
107356         This requires that we sometimes generate our own TZ="XXX..." setting.
107358 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107360         * doc/getdate.texi: New file, from coreutils with modifications for
107361         the new TZ parsing.
107363 2004-10-27  Derek R. Price  <derek@ximbiot.com>
107365         * lib/mktime.c (not_equal_tm): Remove redundant check.
107367 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107369         * modules/regex (lib_SOURCES): Add regex.c.
107370         Reported by James Youngman in
107371         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
107373 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107375         * lib/getdate.y: Use Bison 1.875 features, and some minor
107376         code cleanups.  This change does not affect semantics.
107377         Don't include <stdlib.h>; no longer needed.
107378         Don't include unlocked-io.h; only the "#if TEST" code uses
107379         stdio, and performance isn't crucial there.
107380         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
107381         Bison 1.875 features as described below.
107382         All uses of "PC." replaced by "pc->".
107383         (YYSTYPE): Add a forward declaration.
107384         (yylex, yyerror): Use full prototypes in forward decls.
107385         Use "%pure-parser" rather than obsolescent "%pure_parser".
107386         Use %parse-param and %lex-param instead of obsolescent
107387         YYPARSE_PARAM and YYLEX_PARAM.
107388         (meridian_table, month_and_day_table, time_units_table,
107389         relative_time_table, time_zone_table, military_table,
107390         lookup_zone, lookup_word, get_date):
107391         Use NULL instead of 0 where appropriate.
107392         (to_hour): Avoid abort (), to avoid a dependency on
107393         stdlib.h.
107394         (yyerror, yylex): Now accepts parser_control * arg.
107395         (main) [TEST]: Use '\0' rather than 0 for char.
107397 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107399         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
107401 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107403         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
107404         It's now the caller's responsibility to handle the case where
107405         !HAVE_GETPAGESIZE && !defined getpagesize.
107407         * lib/mktime.c (leapyear): Arg is long int, not int.
107409 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
107411         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
107413 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
107415         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
107416         missing.  Problem reported by James Youngman.
107418 2004-10-16  Simon Josefsson  <jas@extundo.com>
107420         * gnulib-tool: Fix comments.  Fix parse problem.
107421         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
107423 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
107425         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
107426         implementation of getopt_long.  Problem reported by Alexander Taler in:
107427         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
107429 2004-10-15  Bruno Haible  <bruno@clisp.org>
107431         * gnulib-tool: Untabify. Initialize supplied_libname.
107432         (func_usage): More homogenous output.
107433         (func_modules_transitive_closure, func_modules_to_filelist,
107434         func_emit_lib_Makefile_am): New functions.
107435         (func_import): New function, extracted from big case statement. Use
107436         func_get_license, func_modules_transitive_closure,
107437         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
107438         opt_lgpl. Don't use test -a, as it's not portable.
107439         (func_create_testdir): Use func_modules_transitive_closure,
107440         func_modules_to_filelist, func_emit_lib_Makefile_am.
107442 2004-10-15  Bruno Haible  <bruno@clisp.org>
107444         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
107446 2004-10-15  Bruno Haible  <bruno@clisp.org>
107448         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
107449         the portions belonging to each module.
107450         Suggested by Derek Robert Price <derek@ximbiot.com>.
107452 2004-10-12  Simon Josefsson  <jas@extundo.com>
107454         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107455         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
107456         to real functions.
107458 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107460         * modules/vsnprintf: New file.
107462 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107464         * m4/vsnprintf.m4: New file.
107466 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107468         * lib/vsnprintf.h: New file.
107469         * lib/vsnprintf.c: New file.
107471 2004-10-11  Bruno Haible  <bruno@clisp.org>
107473         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
107474         vsnprintf.
107476 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
107478         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
107480 2004-10-07  Bruno Haible  <bruno@clisp.org>
107482         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
107483         fits into the provided buffer.
107485 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
107487         * lib/diacrit.c, diacrit.h: Add GPL notice.
107489         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
107490         notice.
107491         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
107492         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
107493         This avoids a potential constant-folding bug.
107495 2004-10-05  Bruno Haible  <bruno@clisp.org>
107497         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
107498         for the declaration of strsep.
107500 2004-10-05  Bruno Haible  <bruno@clisp.org>
107502         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
107504 2004-10-04  Simon Josefsson  <jas@extundo.com>
107506         * modules/memmem: New file.
107507         * tests/test-memmem.c: New file.
107508         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
107510 2004-10-04  Simon Josefsson  <jas@extundo.com>
107512         * m4/memmem.m4: New file.
107514 2004-10-04  Simon Josefsson  <jas@extundo.com>
107516         * lib/memmem.h: New file.
107517         * lib/memmem.c: New file, taken from glibc.
107519 2004-10-04  Simon Josefsson  <jas@extundo.com>
107521         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
107522         '#ifdef USE_UNLOCKED_IO'.
107524 2004-10-04  Simon Josefsson  <jas@extundo.com>
107526         * config/srclist.txt: Add memmem from glibc.
107528 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107530         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
107532         * modules/argmatch, modules/argp, modules/closeout, modules/error,
107533         modules/exclude, modules/getdate, modules/getline,
107534         modules/getndelim2, modules/getpass, modules/getpass-gnu,
107535         modules/getusershell, modules/linebuffer, modules/md5,
107536         modules/mountlist, modules/posixtm, modules/readtokens,
107537         modules/readutmp, modules/regex, modules/sha1,
107538         modules/version-etc, modules/yesno:
107539         Remove dependency on unlocked-io.
107541 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107543         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
107545         * m4/unlocked-io.m4: Add copyright notice.
107546         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
107548 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107550         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
107551         * lib/xmalloc.c (xmemdup): Likewise.
107552         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
107553         XFREE): Remove these long-obsolescent macros.
107554         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
107555         * lib/xstrdup.c: Remove.
107557         * lib/regex.c (re_comp): Cast gettext return value to char *,
107558         Problem reported by Martin Neitzel via Mark D. Baushke.
107560 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107562         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
107563         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
107564         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
107565         regex.c, sha1.c, version-etc.c, yesno.c:
107566         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
107567         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
107568         the includer's responsibility.
107570         Sync from coreutils.
107572         * lib/modechange.c (mode_compile): Don't decrement a pointer that
107573         points to the start of a string, as the C Standard says the
107574         resulting behavior is undefined.
107576         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
107577         simple -> simple_backups, numbered_existing ->
107578         numbered_existing_backups, numbered -> numbered_backups
107579         to avoid shadowing problems.  All uses changed.
107580         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
107581         * lib/backupfile.c (check_extension, numbered_backup):
107582         Rename locals to avoid shadowing 'basename'.
107583         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
107584         once.
107586         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
107587         * lib/.cvsignore: Add getopt.h.
107589 2004-10-04  Bruno Haible  <bruno@clisp.org>
107591         * modules/README: New file.
107592         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
107593         not a module.
107595 2004-10-02  Jim Meyering  <jim@meyering.net>
107597         * lib/dirfd.h, getpagesize.h: Add copyright notice.
107599 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107601         * modules/strsep: New file.
107603 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107605         * m4/strsep.m4: New file.
107607 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107609         * lib/strsep.h: New file.
107610         * lib/strsep.c: New file.
107612 2004-10-01  Simon Josefsson  <jas@extundo.com>
107614         * lib/snprintf.c (snprintf): Handle size==0.
107616 2004-10-01  Simon Josefsson  <jas@extundo.com>
107617             Bruno Haible  <bruno@clisp.org>
107619         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
107620         (snprintf): Declare 'args'.
107622 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
107624         * lib/snprintf.c: Remove comments as to why each header is needed.
107626 2004-10-01  Bruno Haible  <bruno@clisp.org>
107628         * MODULES.html.sh: Add strsep.
107630 2004-09-30  Simon Josefsson  <jas@extundo.com>
107632         * modules/snprintf: New file.
107634 2004-09-30  Simon Josefsson  <jas@extundo.com>
107636         * m4/snprintf.m4: New file.
107638 2004-09-30  Simon Josefsson  <jas@extundo.com>
107640         * lib/snprintf.h, lib/snprintf.c: New files.
107642 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107644         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
107645         (hol_entry_help): Never translate an empty string.
107646         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
107647         * lib/argp.h (OPTION_NO_TRANS): New option.
107649 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107651         * modules/argp (Maintainer): Replace Simon Josefsson
107652         by Sergey Poznyakoff.
107654 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107656         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
107657         changes merged back into glibc.
107659 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107661         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
107663 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
107665         * lib/xvasprintf.c: Include xalloc.h.
107666         (xvasprintf): Use xalloc_die, not xmalloc_die.
107668 2004-09-29  Bruno Haible  <bruno@clisp.org>
107670         * modules/alloca-opt: New file, derived from modules/alloca.
107671         * modules/allocsa: Depend on alloca-opt instead of alloca.
107672         * modules/setenv: Likewise.
107673         * modules/vasnprintf: Likewise.
107674         * MODULES.html.sh: Add alloca-opt.
107676 2004-09-28  Simon Josefsson  <jas@extundo.com>
107678         * gnulib-tool: New parameter --lgpl, to asseert that modules are
107679         LGPL, and to replace license template from GPL to LGPL.
107681 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107683         * modules/dummy: Change license to LGPL.
107685 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107687         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
107689 2004-09-24  Simon Josefsson  <jas@extundo.com>
107691         * modules/minmax (License): Change from GPL to LGPL.
107693 2004-09-23  Simon Josefsson  <jas@extundo.com>
107695         * gnulib-tool (--import): Typo.
107697 2004-09-23  Simon Josefsson  <jas@extundo.com>
107699         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
107701 2004-09-22  Bruno Haible  <bruno@clisp.org>
107703         * modules/*: Add 'License' field.
107704         * gnulib-tool: Accept --extract-license option.
107705         (func_get_license): New function.
107707 2004-09-21  Bruno Haible  <bruno@clisp.org>
107709         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
107710         Reported by Simon Josefsson.
107712 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107714         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
107715         gl_AC_TYPE_LONG_LONG.
107717 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107719         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
107721 2004-09-18  Simon Josefsson  <jas@extundo.com>
107722         and  Paul Eggert  <eggert@cs.ucla.edu>
107724         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
107725         calls with autoreconf.  Define GL_LIB.
107727 2004-09-14  Karl Berry  <karl@gnu.org>
107729         * config/srclist.txt: unsync setenv.c, sigh.
107731 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107733         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
107734         Problem reported by Bruno Haible in:
107735         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
107737 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107739         * config/srclist.txt: Comment out argp-pvh.c.
107741 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107743         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107744         in case some system header has #define'd it.  Problem reported by
107745         Soeren D. Schulze in
107746         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107748 2004-09-09  Karl Berry  <karl@gnu.org>
107750         * regex.[ch]: delete from the root.  These were supposed to be
107751                 synced with emacs cvs, but this has not happened for about
107752                 a year, and anyway nothing else uses emacs regex.[ch].
107753                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107754                 lib/regex[.ch] is untouched.
107756 2004-09-09  Bruno Haible  <bruno@clisp.org>
107758         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107760 2004-09-09  Bruno Haible  <bruno@clisp.org>
107762         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107763         modifications.
107764         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107766 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107768         * modules/xvasprintf: New file.
107769         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107771 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107773         * lib/xvasprintf.h: New file.
107774         * lib/xvasprintf.c: New file.
107775         * lib/xasprintf.c: New file.
107777 2004-09-08  Bruno Haible  <bruno@clisp.org>
107779         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107781 2004-09-08  Bruno Haible  <bruno@clisp.org>
107783         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107784         length is > INT_MAX.
107785         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107786         more.
107788 2004-09-08  Bruno Haible  <bruno@clisp.org>
107790         * lib/stdint_.h: New file, taken from GNU clisp.
107792 2004-09-08  Bruno Haible  <bruno@clisp.org>
107793             Oskar Liljeblad  <oskar@osk.mine.nu>
107795         * modules/stdint: New file.
107796         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107798 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107800         Import from coreutils.
107801         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107802         strings on unbounded length.  alloca's performance benefits aren't
107803         that important here.
107804         (V_STRDUP): Remove.
107805         (parse_with_separator): New function, with most of the internals
107806         of the old parse_user_spec.  Allow user to omit both user and group,
107807         for compatibility with FreeBSD.
107808         Clone only the user name, not the entire spec.
107809         Do not set *uid, *gid unless entirely successful.
107810         Avoid memory leak in some failing cases.
107811         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107812         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107813         (parse_user_spec): Rewrite to use parse_with_separator.
107815 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107817         * modules/userspec: Don't depend on alloca.
107819 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107821         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107823 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107825         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107826         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107827         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107829 2004-08-16  Simon Josefsson  <jas@extundo.com>
107831         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107832         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107833         Add --dry-run for --import.
107834         Let user provided command line parameters override configure.ac
107835         settings.
107837 2004-08-12  Simon Josefsson  <jas@extundo.com>
107839         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107840         as discussed with Paul Eggert in threads rooted at
107841         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107842         and
107843         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107844         Before, the test was empty, and relied on ELIDE_CODE in source
107845         code.)
107846         (gl_PREREQ_GETOPT): New macro.
107847         (gl_GETOPT): Use them.
107849 2004-08-12  Simon Josefsson  <jas@extundo.com>
107851         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107852         * lib/getopt_.h: Renamed from getopt.h.
107854 2004-08-12  Simon Josefsson  <jas@extundo.com>
107856         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107857         Change default library name from libfoo to libgnu.
107858         Now, if you have a configure.ac that says:
107859                 gl_SOURCE_BASE(gl)
107860                 gl_M4_BASE(gl/m4)
107861                 gl_MODULES(error getopt etcetera)
107862                 gl_INIT
107863         you can import all you need by running:
107864                 ../gnulib/gnulib-tool --import
107866         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107867         (Makefile.am): Rewrite, use logic from argz.
107868         (Include): Use <getopt.h> instead of "getopt.h".
107870 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107872         * modules/argp (Files): Add m4/unlocked-io.m4.
107873         (Depends-on): Add extensions.
107875 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107877         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107878         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107879         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107880         Check for program_invocation_name, program_invocation_short_name,
107881         flockfile, funlockfile, features.h, _getopt_long_only_r.
107883 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107885         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107886         its complicated substitute.
107887         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107888         and program_invocation_name.
107889         (__argp_basename) [!_LIBC]: Remove; the only use was
107890         replaced by its body.
107891         (__argp_short_program_name): Change condition from
107892         !defined __argp_short_program_name to
107893         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107894         to match argp-namefrob.h.
107895         (__argp_failure): Don't assume strerror_r returns char *.
107896         * lib/argp-parse.c (N_): Define unconditionally.
107897         (argp_default_options): Fill out initializers with 0 to avoid
107898         gcc warnings.
107900 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107902         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107903         getopt1.c.
107905 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107907         Merge from coreutils.
107909         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107911         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107912         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107914 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107916         Merge from coreutils.
107918         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107919         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107920         for Reliant Unix 5.43.
107922         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107923         (union fooround): Use uintmax_t, not long int.
107924         The rest is a merge from libc:
107925         [defined _LIBC]: Include <shlib-compat.h>.
107926         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107928         * lib/settime.c (settime): Recode to avoid warning with
107929         Sun Forte C 6U2.
107931         * lib/strverscmp.c: Convert to UTF-8.
107933 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107935         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107936         m4/uintmax_t.m4.
107938 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107940         * modules/xalloc-die: New file.
107941         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107943         * modules/md5 (Files): Add m4/uint32_t.m4.
107944         * modules/sha1: Renamed from modules/sha.
107945         (Files):
107946         Rename lib/sha.h to lib/sha1.h.
107947         Rename lib/sha.c to lib/sha1.c.
107948         Rename m4/sha.m4 to m4/sha1.m4.
107949         (lib_SOURCES): Likewise.
107950         (configure.ac): Rename gl_SHA to gl_SHA1.
107951         (Include): sha.h -> sha1.h.
107953 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107955         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107956         * m4/sha1.m4: Renamed from sha.m4.
107957         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107959 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107961         * lib/obstack.h (obstack_empty_p):
107962         Don't assume that chunk->contents is suitably aligned.
107963         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107964         Likewise. Problem reported by Benno in
107965         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
107967         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
107968         readable.  This could be improved further but it'd take some work.
107970 2004-08-08  Simon Josefsson  <jas@extundo.com>
107972         * modules/xgethostname (Depends-on): Remove exit and error (not
107973         used).
107975         * modules/getpass-gnu: Add getpass.h.
107976         (Depends-on): Add stdbool.
107977         * modules/getpass: Add getpass.h.
107979 2004-08-08  Simon Josefsson  <jas@extundo.com>
107981         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
107982         Check getpass declaration.
107984 2004-08-08  Simon Josefsson  <jas@extundo.com>
107986         * lib/xgethostname.c: Don't include error.h (not used).
107988         * lib/getpass.h: Add.
107989         * lib/getpass.c: Include getpass.h first.
107991 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
107993         * lib/xalloc-die.c: New file.
107994         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
107995         All uses removed.
107996         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
107997         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
107998         xalloc-die.c.
107999         (_, N_, xalloc_die): Move to xalloc-die.c.
108000         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
108001         so that we needn't mess with xalloc_msg_memory_exhausted.
108003         * lib/sha1.h: Renamed from sha.h.
108004         (SHA1_H): Renamed from _SHA_H.
108005         (sha1_ctx): Renamed from sha_ctx.
108006         (sha1_init_ctx): Renamed from sha_init_ctx.
108007         (sha1_process_block): Renamed from sha_process_block.
108008         (sha1_process_bytes): Renamed from sha_process_bytes.
108009         (sha1_finish_ctx): Renamed from sha_finish_ctx.
108010         (sha1_read_ctx): Renamed from sha_read_ctx.
108011         (sha1_stream): Renamed from sha_stream.
108012         (sha1_buffer): Renamed from sha_buffer.
108013         * lib/sha1.c: Likewise; renamed from sha.c.
108014         Do not include <sys/types.h>.
108015         Include <stddef.h> rather than <stdlib.h>.
108017 2004-08-08  Bruno Haible  <bruno@clisp.org>
108019         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
108020         FILESYSTEM_PREFIX_LEN.
108021         * lib/progreloc.c: Likewise.
108022         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
108024 2004-08-06  Simon Josefsson  <jas@extundo.com>
108026         * modules/progname (Depends-on): Don't depend on stdbool.
108028 2004-08-06  Simon Josefsson  <jas@extundo.com>
108030         * modules/getsubopt: New file.
108031         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108032         getsubopt.
108034 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108036         More merge from coreutils.
108038         * m4/utimens.m4, m4/utimecmp.m4: New files.
108039         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
108040         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
108041         prereq.m4, sha.m4: Import changes from coreutils.
108043 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108045         More merge from coreutils.
108046         * modules/raise, modules/readtokens0, modules/utimens:
108047         * modules/utimecmp, module/xnanosleep: New files.
108048         * modules/strftime: Add lib/strftime.h.
108049         Change include from <time.h> to "strftime.h".
108050         * modules/yesno: Add lib/yesno.h.
108051         * modules/backupfile: Remove lib/addext.c.
108052         * modules/euidaccess: Add stat-macros.h.
108053         * modules/canonicalize, modules/euidaccess,
108054         modules/filemode, modules/lchown, modules/makepath,
108055         modules/rmdir, modules/stat: Likewise.
108057 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108059         Merge from tar.
108060         * lib/argp-help.c (make_hol, hol_append): Don't assume that
108061         SIZE_MAX is a valid preprocessor constant.
108062         (__argp_basename): Change from "#ifndef _LIBC"
108063         to "#ifndef __argp_short_program_name", so that
108064         we don't compile these functions for tar.
108066         More merges from coreutils.
108067         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
108068         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
108069         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
108070         * lib/addext.c: Remove; no longer needed.
108071         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
108072         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
108073         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
108074         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
108075         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
108076         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
108077         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
108078         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
108079         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
108080         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
108081         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
108082         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
108083         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
108084         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
108085         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
108086         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
108087         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
108088         Import changes from coreutils.
108090 2004-08-05  Simon Josefsson  <jas@extundo.com>
108092         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
108094 2004-08-05  Simon Josefsson  <jas@extundo.com>
108096         * m4/getsubopt.m4: New file.
108098 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108100         Merge from coreutils.
108102         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
108103         * m4/getcwd-path-max.m4: New files.
108105         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
108106         FILESYSTEM_PREFIX_LEN ->
108107         FILE_SYSTEM_PREFIX_LEN.
108108         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
108109         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
108110         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
108111         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
108113         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
108114         prerequisite modules now handle the DOS stuff.
108115         Don't check for unistd.h.
108117 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108119         Merge from coreutils.
108121         * lib/.gdb-history: Remove; this doesn't belong here.
108123         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
108124         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
108125         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
108126         * lib/getcwd.c: New files.
108128         * lib/dirname.h: Include <stdbool.h>.
108129         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
108130         for consistency with POSIX terminology.  All uses changed.
108131         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
108132         (strip_trailing_slashes): Use bool for booleans.
108133         * lib/stripslash.c (strip_trailing_slashes): Likewise.
108135         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
108136         sometimes returns a positive errno value even when it succeeds.
108137         (print_errno_message) [!LIBC]: Fall back on strerror if
108138         __strerror_r fails.
108140         * lib/path-concat.c (mempcpy): Don't define if a system header defines
108141         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
108142         (longest_relative_suffix): New function.
108143         (path_concat): Use it.  Assume first argument is not NULL.
108144         Port to DOS.  Omit redundant separators.
108145         Report an error instead of returning NULL.
108146         Use mempcpy instead of memcpy.
108147         (xpath_concat): Remove: not declared or used.
108149         * lib/same.h: Include <stdbool.h>
108150         (same_name): Return bool, not int.
108151         * lib/same.c (same_name): Likewise.
108152         (errno): Don't declare; we assume C89 or better now.
108154         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
108155         if not already defined.
108157         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
108158         * lib/dup-safer.c (errno): Likewise.
108160 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108162         Merge from coreutils.
108163         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
108164         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
108165         * modules/path-concat: Don't depend on strdup.
108167 2004-08-03  Simon Josefsson  <jas@extundo.com>
108169         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
108170         * lib/progname.h: Don't include stdbool.h.
108172 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108174         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
108175         * MODULES.html.sh (func_all_modules): Remove fatal.
108177 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108179         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
108181 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108183         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
108184         working.
108186 2004-08-02  Simon Josefsson  <jas@extundo.com>
108188         * lib/getsubopt.h: New file, with comments from Bruno Haible.
108189         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
108190         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
108192 2004-08-01  Simon Josefsson  <jas@extundo.com>
108194         * lib/xgetdomainname.c: Include stdlib.h, for free().
108196 2004-07-19  Bruno Haible  <bruno@clisp.org>
108198         * MODULES.html.sh (func_all_modules): Add dummy.
108200 2004-07-16  Simon Josefsson  <jas@extundo.com>
108202         * modules/dummy: New file.
108204 2004-07-16  Simon Josefsson  <jas@extundo.com>
108206         * lib/dummy.c: New file.
108208 2004-07-16  Bruno Haible  <bruno@clisp.org>
108210         * lib/backupfile.h: Add extern "C" for C++.
108211         * lib/closeout.h: Likewise.
108212         * lib/copy-file.h: Likewise.
108213         * lib/findprog.h: Likewise.
108214         * lib/full-write.h: Likewise.
108215         * lib/pathname.h: Likewise.
108216         * lib/progname.h: Likewise.
108217         * lib/stpcpy.h: Likewise.
108218         * lib/stpncpy.h: Likewise.
108219         * lib/strcase.h: Likewise.
108220         * lib/strstr.h: Likewise.
108221         * lib/xalloc.h: Likewise.
108223         * lib/mbswidth.h: Add extern "C" for C++.
108224         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
108226 2004-07-13  Robert Millan  <robertmh@gnu.org>
108228         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
108230 2004-07-09  Simon Josefsson  <jas@extundo.com>
108232         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
108233         failed without this.)
108235 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108237         * modules/chown (Files): Add lib/fchown-stub.c, since
108238         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
108240 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108242         * lib/fchown-stub.c: New file.
108244 2004-06-24  Jim Meyering  <jim@meyering.net>
108246         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
108248 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108250         * modules/argz: Omit "#include".
108252         * MODULES.html.sh (func_all_modules): Add calloc, to match
108253         2004-06-01 addition of calloc module.
108255 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108257         * m4/argz.m4: New file, which is autoupdated from libtool.
108259 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108261         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
108262         libtool.
108264 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108266         * config/srclist-update: Don't insist on "USA." before the
108267         close-comment, as libtool omits the period and puts the */ on a
108268         separate line.
108269         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
108270         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
108272 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
108274         * modules/argz: New file.
108275         * MODULES.html.sh (func_all_modules): Add argz.
108277 2004-06-12  Jim Meyering  <jim@meyering.net>
108278         and  Paul Eggert  <eggert@cs.ucla.edu>
108280         * modules/hash (Files): Add lib/xalloc.h.
108281         * modules/pipe (Depends-on): Add wait-process.
108282         * modules/stat (Depends-on): Add xalloc.
108283         * modules/userspec (Files): Add lib/userspec.h.
108284         * modules/xstrto
108286         Upgrade from gettext-0.13.
108287         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
108288         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
108289         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
108291 2004-06-10  Jim Meyering  <jim@meyering.net>
108293         * lib/calloc.c: New file.
108295 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
108297         * lib/getdate.y (yylex): Allow space between sign and number.
108298         Problem reported by Dan Jacobson.
108300 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108302         Merge from coreutils CVS.
108304         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
108305         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
108306         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
108307         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
108308         xstrtol.m4: Fix copyright date and/or serial number.
108310         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
108311         See if we need an fchown replacement.
108312         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
108313         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
108314         and use the replacement function if we detect either defect.
108316         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
108317         gl_UTIMECMP.
108319 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108320         and  Jim Meyering  <jim@meyering.net>
108322         Merge from coreutils CVS.
108324         * lib/stat-macros.h: New file, with contents from file-type.h
108325         and coreutils' system.h.
108326         * lib/file-type.c: Include "stat-macros.h".
108327         * lib/file-type.h (file_type): Move all macro definitions to new file,
108328         stat-macros.h.
108330         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
108331         Wrap old code with this conditional.
108332         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
108333         function that does not dereference symlinks.
108334         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
108336         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
108337         dependency problems.
108338         (xreadlink): Accept new arg SIZE, for efficiency.
108339         All decls and uses changed.
108340         * lib/xreadlink.h: Include <stddef.h>, for size_t.
108342         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
108343         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
108345         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
108346         sysexits.h.
108348 2004-06-01  Jim Meyering  <jim@meyering.net>
108350         * m4/calloc.m4: New file.
108352 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
108354         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
108355         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
108356         Also, fix a typo in a diagnostic.
108358 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108360         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
108361         or AC_FUNC_REALLOC.
108363 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108365         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
108366         macros to be defined.
108367         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
108368         the allocator returns NULL because the requested size is zero.
108370 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
108372         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
108373         var.  Add comment explaining why libc still defines it.  This
108374         merges the following patch from glibc:
108375         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
108377 2004-05-20  Andreas Schwab  <schwab@suse.de>
108379         * m4/free.m4: Replace free if it not known to work, not the other
108380         way round.
108382 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
108384         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
108385         present in glibc since revision 1.1 of this file.
108386         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
108387         obstack_alignment_mask, obstack_alloc, obstack_base,
108388         obstack_blank, obstack_blank_fast, obstack_chunk_size,
108389         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
108390         obstack_grow0, obstack_init, obstack_int_grow,
108391         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
108392         obstack_next_free, obstack_object_size, obstack_ptr_grow,
108393         obstack_ptr_grow_fast, obstack_room): Remove declarations of
108394         nonexistent functions.
108396 2004-05-18  Karl Berry  <karl@gnu.org>
108398         * config/srclist.txt: break link for vasnprintf.c.
108400 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108402         Port obstack to the AS/400, where pointers are 16 bytes wide and
108403         you cannot cast an integer to a valid pointer.  This patch is
108404         currently waiting to be integrated into glibc; see
108405         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
108407         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
108408         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
108409         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
108410         (struct obstack): temp member is now a union of a pointer and
108411         an integer, instead of an integer.  All integer uses changed.
108412         This does not affect the physical layout of struct obstack,
108413         except on hosts (like the AS/400) where the size or alignment of
108414         void * is greater than that of ptrdiff_t.
108415         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
108416         __STDC__)]: Store temporary in pointer member of union, not
108417         integer member.
108418         * lib/obstack.c: Include <stddef.h>, for offsetof.
108419         (struct fooalign): Remove; it doesn't need a name.
108420         (union fooround): Change double to long double, and add void *.
108421         (DEFAULT_ALIGNMENT): Use offsetof to compute.
108422         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
108423         not a macro.  Hence the values are always int; so remove all
108424         casts-to-int in uses.
108426 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108428         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
108429         we can get this patch merged into glibc.
108431 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108432             Paul Eggert  <eggert@cs.ucla.edu>
108434         * m4/argp: Depend on alloca.
108436 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108437             Paul Eggert  <eggert@cs.ucla.edu>
108439         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
108440         freecoding.
108442 2004-05-17  Bruno Haible  <bruno@clisp.org>
108444         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
108445         precision that consists of a '.' followed by an empty digit string.
108446         Patch by Tor Lillqvist <tml@iki.fi>.
108448 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108450         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
108451         for backward compatibility with older code.  We need our own
108452         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
108453         it under some other name, and our alloca.h will define it.
108455 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108456             Derek Price  <derek@ximbiot.com>
108458         * lib/alloca.c: Include <alloca.h>, to get our interface.
108459         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
108460         include <alloca.h> first.  Use C89 prototype for alloca; this
108461         requires including <stddef.h> for size_t.  Use extern "C" if C++.
108462         Use #elif for simplicity, since we can assume C89 now.
108463         Don't try to source the system alloca.h since it will not be found
108464         and to prevent recursively including its replacement.
108465         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
108466         * lib/regex.c: Likewise.
108468 2004-05-16  Derek Price  <derek@ximbiot.com>
108469             Paul Eggert  <eggert@cs.ucla.edu>
108471         getline cleanup.  This changes the getndelim2 API: both order of
108472         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
108473         no delimiter).
108475         * lib/getline.c: Don't include stddef.h or stdio.h, since our
108476         interface does that.
108477         (getline): Always use getdelim, so that we don't have two
108478         copies of this code.
108479         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
108480         if available.
108481         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
108482         (GETNDELIM2_MAXIMUM): New macro.
108483         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
108484         instead of the old practice of delim2==0.  All callers changed.
108485         Return -1 on overflow, instead of returning junk.
108486         Do not set *linesize unless allocation succeeds.
108487         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
108488         that we include sys/types.h.
108489         * lib/getnline.h: Likewise.
108490         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
108491         (getndelim2): Reorder arguments.
108492         * lib/getnline.c (getnline, getndelim):
108493         Don't discard the NMAX argument.
108494         (getnline): Invoke getndelim, to avoid code duplication.
108495         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
108496         of (size_t) -1 by callers of the getnline family.
108498 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108500         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
108501         Check for gettimeofday.
108502         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
108503         Check for settimeofday, stime.
108505 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108507         * lib/nanosleep.c (suspended): Change its type from int to
108508         sig_atomic_t volatile.
108509         (first_call): Make it private to rpl_nanosleep, and have it
108510         be zero initially as that's a bit faster.
108511         (my_usleep): Round up fractional times instead of truncating them,
108512         as this is the usual meaning for 'sleep'.
108514         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
108515         doesn't work.
108516         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
108517         (ENOSYS): Define if not defined.
108518         (settime): Fall back on stime if it exists and settimeofday fails.
108519         But don't bother with fallbacks if a method fails with errno == EPERM.
108521 2004-05-11  Jim Meyering  <jim@meyering.net>
108523         Prior to this change, the save_cwd caller required read access to the
108524         current directory on most systems (ones with the fchdir function).
108526         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
108527         fails, try write-only, and finally, resort to using xgetcwd.
108529 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108531         * lib/obstack.c, obstack.h: Import changes from libc.
108533 2004-04-28  Bruno Haible  <bruno@clisp.org>
108535         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
108536         also implicitly appends .exe to executables.
108537         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
108538         accepts Windows pathnames.
108539         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108540         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108541         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108542         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108543         Reported by Derek Robert Price <derek@ximbiot.com>.
108545 2004-04-21  Karl Berry  <karl@gnu.org>
108547         * config/srclist.txt (localcharset.c): break sync.
108549 2004-04-20  Paul Eggert  <eggert@twinsun.com>
108551         * m4/host-os.m4: Add a copyright notice.
108553 2004-04-20  Jim Meyering  <jim@meyering.net>
108555         Change UTILS_ to gl_ in AC_DEFINE'd names.
108556         Change utils_- and jm_-prefixed variables, too.
108557         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
108558         UTILS_FUNC_MKDIR_TRAILING_SLASH.
108559         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
108561         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
108562         Don't emit trailing blanks.
108563         Also rename jm_-prefixed variables to have gl_ prefix.
108565         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
108566         Also rename jm_-prefixed variables to have gl_ prefix.
108568         * m4/jm-macros.m4: Reflect the renamings.
108569         * m4/prereq.m4: Likewise.
108571 2004-04-20  Jim Meyering  <jim@meyering.net>
108573         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
108574         memory.
108576 2004-04-20  Jim Meyering  <jim@meyering.net>
108577             Bruno Haible  <bruno@clisp.org>
108579         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
108580         memory when realloc fails.
108582 2004-04-19  Jim Meyering  <jim@meyering.net>
108584         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
108585         now that readutmp.c may call `free (0)'.
108587 2004-04-19  Bruno Haible  <bruno@clisp.org>
108589         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
108590         * m4/inttypes_h.m4: Likewise.
108591         * m4/stdint_h.m4: Likewise.
108592         * m4/intmax_t.m4: Likewise.
108593         * m4/uintmax_t.m4: Likewise.
108595 2004-04-18  Jim Meyering  <jim@meyering.net>
108597         * m4/prereq.m4: Don't forbid jm_ prefix.
108599         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
108600         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
108601         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
108602         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
108603         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
108604         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
108605         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
108606         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
108607         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
108608         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
108609         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
108610         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
108611         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
108612         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
108613         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
108614         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
108615         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
108616         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
108617         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
108619 2004-04-18  Jim Meyering  <jim@meyering.net>
108621         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
108622         failure, don't leak memory and do call END_UTMP_ENT.
108624 2004-04-16  Jim Meyering  <jim@meyering.net>
108626         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
108627         coreutils' stat program.
108628         (gl_PREREQ): Don't require jm_PREREQ_STAT.
108630 2004-04-11  Paul Eggert  <eggert@twinsun.com>
108632         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
108633         C89.
108634         (CHAR_BIT): Remove, since we assume C89.
108635         Include <stdint.h> if available, as per current Autoconf CVS advice.
108637 2004-03-31  Jim Meyering  <jim@meyering.net>
108639         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
108640         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
108641         * m4/xalloc.m4: Likewise.
108643 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108645         Merge from coreutils.
108647         * m4/inttostr.m4: New file.
108648         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
108649         Require AM_STDBOOL_H and gl_TIMESPEC instead.
108650         Require gl_CLOCK_TIME.
108651         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
108653 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108655         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
108656         not bool, to be more consistent with Unix conventions.
108657         Suggested by Bruno Haible.
108659         Merge from coreutils.
108661         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
108662         * lib/umaxtostr.c: New files.
108664         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
108665         the usual <time.h> dance.
108666         (get_date): Change signature to support fractional time stamps.
108667         All callers changed.
108668         * lib/getdate.y: Include "getdate.h" first, as we can now
108669         assume C89 and don't need to worry about 'const'.
108670         Similarly, include "unlocked-io.h" near start, not in middle.
108671         Include <limits.h>.
108672         (textint.value): Use long int rather than int.
108673         (textint.digits): Use size_t rather than int.
108674         (BILLION, LOG10_BILLION): New constants.
108675         (parser_control): New member rel_ns.  Members day_ordinal,
108676         time_zone, month, day, hour, minutes, rel_year, rel_month,
108677         rel_day, rel_hour, rel_minutes, rel_seconds
108678         are now long int, not int.  Member seconds is now struct timespec,
108679         not int.  New member timespec_seen.  Members dates_seen, days_seen,
108680         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
108681         not int.
108682         (%union.intval): Now long int, not int.
108683         New member timespec.
108684         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
108685         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
108686         (spec): Now is a timespec or an item list.
108687         (timespec, items): New nonterminals.
108688         (time, rel, relunit, number, get_date):
108689         Add support for fractional seconds.
108690         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
108691         (gmtime, localtime, mktime): Remove decls; not needed with C89.
108692         (to_hour): First arg is now long int, not int.
108693         (to_year): Returns long int, not int.
108694         Don't treat year -70 like 70.
108695         (tm_diff): Returns long int, not int.
108696         (lookup_word): Use bool instead of int when appropriate.
108697         (yylex): Use size_t for count, not int.
108698         Detect overflow when parsing large integer constants.
108699         Add support for fractions.
108700         (get_date): Make pointers 'const' if possible.
108701         Use more-portable code to detect integer overflow.
108702         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
108703         Don't use ctime; it's not reliable if the year has >4 digits.
108705         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
108706         This is for compatibility with BSD.
108708         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
108709         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
108710         From coreutils' system.h.
108712         * lib/userspec.c: Don't include "posixver.h".
108713         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
108714         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
108715         compatible extension.  Simplify code by removing a boolean int
108716         that was always nonzero if a string was nonnull.
108718 2004-03-30  Jim Meyering  <jim@meyering.net>
108720         Merge from coreutils.
108722         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
108723         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
108724         on some systems one must include <grp.h> before it.
108725         Reported by Christian Krackowizer.
108727 2004-03-30  Jim Meyering  <jim@meyering.net>
108729         Merge from coreutils.
108731         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
108733         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
108734         an empty input stream.
108736         * lib/readtokens.c: Include <stdbool.h>.
108737         (readtoken): Use `size_t' rather than int/long.
108738         All callers adjusted.
108739         Use `bool' rather than `int' where appropriate.
108740         Use memset rather than an explicit loop.
108741         Use x2nrealloc rather than xrealloc.
108742         Allow the use of `\0' as a delimiter.
108743         (readtokens): Likewise.
108744         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108746 2004-03-30  Jim Meyering  <jim@meyering.net>
108748         * m4/realloc.m4: Remove file, since now it does no more than
108749         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108750         the `configure.ac' section of module/realloc.
108751         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108753 2004-03-30  Bruno Haible  <bruno@clisp.org>
108755         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108756         nonnull.
108758 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108760         Merge changes to getloadavg.c from coreutils and Emacs.
108762         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108763         Define to an expression, not to the empty string.
108764         Include cloexec.h and xalloc.h.
108765         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108766         Use set_cloexec_flag rather than rolling our own.
108767         * lib/cloexec.c, lib/cloexec.h: New files.
108769 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108771         * m4/cloexec.m4: New file.
108773 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108775         * lib/getopt.h: Sync with libc CVS.
108777 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108778             Bruno Haible  <bruno@clisp.org>
108780         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108781         mbswidth.
108783 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108784             Bruno Haible  <bruno@clisp.org>
108786         * lib/mbswidth.h: Include <wchar.h> only if
108787         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108788         <wchar.h>.
108789         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108791 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108793         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108794         Sync with libc CVS.
108795         * lib/getopt_int.h: New file, also synced from libc.
108797 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108799         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108800         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108801         Bring back getopt.c, getopt.h, getopt1.c.
108803 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108805         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108806         All uses changed.  Check for sa_sigaction member; this fixes
108807         a bug first reported by Jason Andrade in
108808         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108810 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108812         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108813         '#if' expressions.  Unlike the code it replaces, it does not
108814         depend on (defined _SC_PAGESIZE).  However, it does depend on
108815         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108816         first reported by Jason Andrade in
108817         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108819 2004-02-25  Simon Josefsson  <jas@extundo.com>
108821         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108823 2004-02-25  Simon Josefsson  <jas@extundo.com>
108825         * lib/strdup.h: New file.
108826         * lib/strdup.c: Include it.
108827         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108828         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108830 2004-02-23  Karl Berry  <karl@gnu.org>
108832         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108833         (from fencepost.gnu.org:/gd/gnuorg).
108835 2004-02-23  Karl Berry  <karl@gnu.org>
108837         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108838         * config/srclist.txt: add maintain/standards documents.
108840 2004-02-18  Bruno Haible  <bruno@clisp.org>
108842         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108843         Reported by Derek Robert Price <derek@ximbiot.com>.
108845 2004-02-16  Karl Berry  <karl@gnu.org>
108847         * config/mkinstalldirs, install-sh: update from automake.
108849 2004-02-06  Karl Berry  <karl@gnu.org>
108851         * m4/po.m4: update from gettext 0.14.1.
108853 2004-02-06  Karl Berry  <karl@gnu.org>
108855         * lib/config.charset: update from gettext 0.14.1.
108857 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108859         Add comments and code, prompted by suggestions from Bruno Haible
108860         for sh-quote.
108861         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108862         describing the enum quoting_style values.
108863         * lib/quotearg.c (quotearg_alloc): New function.
108864         (quotearg_buffer_restyled): Treat lone { and } as special.
108865         Treat = as special.  Work around bug with older shells
108866         that "see" a '\' that is really the 2nd byte of a multibyte char.
108867         Quote empty string with shell_quoting_style.
108869 2004-02-03  Bruno Haible  <bruno@clisp.org>
108871         * m4/pipe.m4: New file, from GNU gettext.
108873 2004-02-03  Bruno Haible  <bruno@clisp.org>
108875         * lib/pipe.h: New file, from GNU gettext.
108876         * lib/pipe.c: New file, from GNU gettext.
108878 2004-01-27  Bruno Haible  <bruno@clisp.org>
108880         * m4/execute.m4: New file, from GNU gettext.
108882 2004-01-27  Bruno Haible  <bruno@clisp.org>
108884         * lib/execute.h: New file, from GNU gettext.
108885         * lib/execute.c: New file, from GNU gettext.
108886         * lib/w32spawn.h: New file, from GNU gettext.
108888 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108890         Merge from diffutils.
108892         * lib/file-type.c (file_type): Add typed memory objects.
108893         * lib/file-type.h (S_TYPEISTMO): New macro.
108895         * lib/c-stack.h (c_stack_action): Remove argv argument.
108896         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108897         (die): Don't calculate message unless segv_action returns.
108898         (get_stack_location, min_address_from_argv, max_address_from_argv,
108899         volatile stack_base, volatile_stack_size): Remove.
108900         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108901         that every segmentation violation is a stack overflow.  (Ouch!)
108902         See Debian bug 136249 (still outstanding) for more info about why
108903         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108905 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108907         Exit-status fix from coreutils.
108909         Use exit_failure consistently in place of EXIT_FAILURE,
108910         so that program exit statuses are consistent on failure.
108912         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108913         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108914         * lib/argmatch.h: Comment fix to match the above.
108915         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108916         Now a macro referring to exit_failure, instead of a separate
108917         variable.  Include "exitfail.h" to get it.
108918         * lib/xstrtol.h: Include "exitfail.h".
108919         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108921         * lib/long-options.c (parse_long_options): Use prototype
108922         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108923         for clarity.
108925 2004-01-21  Jim Meyering  <jim@meyering.net>
108927         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108928         so as not to conflict with a different-sized __mktime_internal
108929         function in GNU libc.
108930         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108931         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108933 2004-01-20  Karl Berry  <karl@gnu.org>
108935         * config/config.guess: update from config.
108937         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108939 2004-01-20  Bruno Haible  <bruno@clisp.org>
108941         Safer stack allocation.
108942         * lib/setenv.c: Include allocsa.h.
108943         (alloca): Remove fallback definition.
108944         (freea): Remove macro.
108945         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108946         instead of freea.
108948 2004-01-20  Bruno Haible  <bruno@clisp.org>
108950         * m4/eealloc.m4: New file, from GNU gettext.
108952 2004-01-20  Bruno Haible  <bruno@clisp.org>
108954         * m4/allocsa.m4: New file, from GNU gettext.
108956 2004-01-20  Bruno Haible  <bruno@clisp.org>
108958         * lib/xallocsa.h: New file, from GNU gettext.
108959         * lib/xallocsa.c: New file, from GNU gettext.
108961 2004-01-20  Bruno Haible  <bruno@clisp.org>
108963         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
108965 2004-01-20  Bruno Haible  <bruno@clisp.org>
108967         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
108968         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
108969         specially.
108971 2004-01-20  Bruno Haible  <bruno@clisp.org>
108973         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
108974         patch.
108976 2004-01-20  Bruno Haible  <bruno@clisp.org>
108978         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
108980 2004-01-20  Bruno Haible  <bruno@clisp.org>
108982         * lib/eealloc.h: New file.
108984 2004-01-20  Bruno Haible  <bruno@clisp.org>
108986         * lib/binary-io.h: Avoid warnings on Cygwin.
108988 2004-01-20  Bruno Haible  <bruno@clisp.org>
108990         * lib/allocsa.h: New file, from GNU gettext.
108991         * lib/allocsa.c: New file, from GNU gettext.
108993 2004-01-18  Karl Berry  <karl@gnu.org>
108995         * doc/gpl.texi, doc/lgpl.texi: new files.
108997 2004-01-18  Karl Berry  <karl@gnu.org>
108999         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
109000         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
109002 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109004         Merge from coreutils.
109006         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
109007         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
109008         (gl_DEFAULT_POSIX2_VERSION): Move
109009         the documentation from 'configure' into 'config.hin',
109010         so that 'configure --help' isn't burdened by it and
109011         we don't have to worry about its formatting there.
109012         Reword the documentation so that it's more succinct
109013         and can be run together into a single paragraph.
109014         * m4/same.m4 (gl_SAME): Check for pathconf.
109016 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109018         Merge from coreutils.
109020         * lib/posixver.c: Include posixver.h.
109022         * lib/same.c: Include <stdbool.h>, <limits.h>.
109023         (_POSIX_NAME_MAX): Define if not defined.
109024         (MIN): New macro.
109025         (same_name): If file names are silently truncated, report
109026         that the file names are the same if they are the same after
109027         the silent truncation.
109029         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
109030         conversion function.
109031         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
109032         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
109033         longer needed.
109035 2004-01-15  Jim Meyering  <jim@meyering.net>
109037         Merge from coreutils.
109039         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
109040         if no library is required.
109041         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
109042         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
109043         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
109044         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
109045         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
109046         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
109047         value, $ac_cv_search_crypt, if it's "none required".
109048         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
109049         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
109050         not gl_FUNC_GETLOADAVG.
109051         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
109052         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
109054 2004-01-15  Jim Meyering  <jim@meyering.net>
109056         Merge from coreutils.
109058         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
109059         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
109060         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
109062         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
109063         optional configure-time default.
109065         * lib/version-etc.c (version_etc_copyright): Update copyright date.
109067         * lib/xreadlink.c (xreadlink): Correct outdated comment.
109069 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
109071         Merge from coreutils.
109073         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
109074         value, $ac_cv_search_nanosleep, if it's "none required".
109076 2004-01-14  Paul Eggert  <eggert@twinsun.com>
109078         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
109079         with like-named macro in fnmatch.c.
109080         (EXT): Use an internal constant instead.
109082         Merge fnmatch patches from glibc.
109083         * lib/fnmatch.c (mbsinit): Remove define.
109084         Add libc_hidden_ver (__fnmatch, fnmatch).
109085         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
109086         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
109088 2004-01-14  Karl Berry  <karl@gnu.org>
109090         * config/install-sh: update from automake.
109092 2004-01-13  Karl Berry  <karl@gnu.org>
109094         * config/install-sh: update from automake.
109096 2004-01-09  Karl Berry  <karl@gnu.org>
109098         * config/install-sh: update from automake.
109100 2004-01-05  Karl Berry  <karl@gnu.org>
109102         * config/config.{sub,guess}: update from config.
109104 2003-12-31  Karl Berry  <karl@gnu.org>
109106         * config/depcomp: update from automake.
109108 2003-12-14  Karl Berry  <karl@gnu.org>
109110         * lib/config.charset: update from gettext-runtime.
109112 2003-12-03  Paul Eggert  <eggert@twinsun.com>
109114         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
109115         Bug reported by Alfred M. Szmidt.
109117 2003-12-03  Bruno Haible  <bruno@clisp.org>
109119         * m4/gettext.m4: Upgrade from gettext-0.13.
109120         * m4/po.m4: Upgrade from gettext-0.13.
109121         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
109122         * m4/intmax.m4: New file, from gettext-0.13.
109123         * m4/printf-posix.m4: New file, from gettext-0.13.
109125 2003-11-29  Karl Berry  <karl@gnu.org>
109127         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
109129 2003-11-25  Paul Eggert  <eggert@twinsun.com>
109130             Bruno Haible  <bruno@clisp.org>
109132         * lib/printf-parse.h: Don't include sys/types.h.
109133         (ARG_NONE): New macro.
109134         (char_directive): Change type of *arg_index fields to size_t.
109135         * lib/printf-parse.c: Don't include sys/types.h.
109136         (SSIZE_MAX): Remove macro.
109137         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
109138         Remove unnecessary overflow check.
109139         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
109140         fields.
109142 2003-11-25  Bruno Haible  <bruno@clisp.org>
109144         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
109146 2003-11-25  Bruno Haible  <bruno@clisp.org>
109148         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
109149         gt_TYPE_SSIZE_T.
109151 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109153         * modules/alloca: Remove dependency on xalloc.
109155 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109157         * lib/alloca.c: Remove dependency on xalloc module.
109158         (xalloc_die): Remove.
109159         (memory_full) [!defined emacs]: New macro.
109160         [!defined emacs]: Don't include xalloc.h.
109161         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
109162         address arithmetic overflows.  Change datatypes a bit to avoid
109163         unnecessary casts.
109165 2003-11-22  Jim Meyering  <jim@meyering.net>
109167         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
109168         s/size/size_t/.
109170 2003-11-21  Karl Berry  <karl@gnu.org>
109172         * config/config.{sub,guess}: update from config.
109174 2003-11-18  Karl Berry  <karl@gnu.org>
109176         * config/config.{sub,guess}: update from config.
109178         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
109180 2003-11-17  Paul Eggert  <eggert@twinsun.com>
109182         * README: Mention that S+T cannot overflow if S is the size of
109183         an existing object and T is sufficiently small.
109185 2003-11-17  Jim Meyering  <jim@meyering.net>
109187         On systems without utime and without a utimes function capable of
109188         dealing with a NULL struct utimbuf* argument, this utime replacement
109189         could -- in unusual circumstances -- leak a file descriptor.
109190         * lib/utime.c: Include <unistd.h> and <errno.h>.
109191         (utime_null): Be sure to close `fd' and to preserve errno.
109192         Reported by Geoff Collyer via Arnold Robbins.
109194 2003-11-17  Bruno Haible  <bruno@clisp.org>
109196         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
109197         (Depends-on): Add xsize.
109199 2003-11-17  Bruno Haible  <bruno@clisp.org>
109201         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
109203 2003-11-17  Bruno Haible  <bruno@clisp.org>
109205         * lib/vasnprintf.c (alloca): Remove fallback definition.
109206         (freea): Remove definition.
109207         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
109208         Reported by Paul Eggert.
109210 2003-11-16  Paul Eggert  <eggert@twinsun.com>
109211             Bruno Haible  <bruno@clisp.org>
109213         Protect against address arithmetic overflow.
109214         * lib/printf-args.h: Include stddef.h.
109215         (arguments): Change type of field 'count' to size_t.
109216         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
109217         'unsigned int' where appropriate.
109218         * lib/printf-parse.h: Include sys/types.h.
109219         (char_directive): Change type of *arg_index fields to ssize_t.
109220         (char_directives): Change type of fields 'count', max_*_length to
109221         size_t.
109222         * lib/printf-parse.c: Include sys/types.h and xsize.h.
109223         (SSIZE_MAX): Define fallback value.
109224         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
109225         instead of 'int' where appropriate. Check a_allocated, d_allocated
109226         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
109227         * lib/vasnprintf.c: Include xsize.h.
109228         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
109229         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
109230         overflow. Avoid wraparound when converting a width or precision from
109231         decimal to binary.
109233 2003-11-16  Bruno Haible  <bruno@clisp.org>
109235         Update from GNU gettext.
109236         * lib/printf-parse.c: Generalize to it can be compiled for wide
109237         strings.
109238         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
109239         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
109240         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
109241         SNPRINTF): New macros.
109242         Don't include <alloca.h> if the file is used inside libintl.
109243         (local_wcslen): New function, for Solaris 2.5.1.
109244         (VASNPRINTF): Use it instead of wcslen.
109246 2003-11-16  Bruno Haible  <bruno@clisp.org>
109248         * lib/xsize.h (xmax): New function.
109249         (xsum, xsum3, xsum4): Declare as "pure" functions.
109251 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109253         * modules/xalloc (Files): Undo latest change, since xalloc.h
109254         no longer needs SIZE_MAX or PTRDIFF_MAX.
109256 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109258         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
109259         gl_PTRDIFF_MAX.
109261 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109263         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
109264         "return", to pacify some unknown compiler.  Problem reported
109265         by Joerg Schilling.
109267 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109269         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
109270         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
109271         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
109272         heuristic is just as accurate as far as we know, and it removes a
109273         dependency on size_max.m4 and ptrdiff_max.m4.
109275 2003-11-11  Bruno Haible  <bruno@clisp.org>
109277         * modules/xsize (Files): Add m4/size_max.m4.
109278         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
109280 2003-11-11  Bruno Haible  <bruno@clisp.org>
109282         * m4/size_max.m4: New file.
109283         * m4/ptrdiff_max.m4: New file.
109284         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
109285         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
109286         (gl_XALLOC): Invoke it.
109288 2003-11-11  Bruno Haible  <bruno@clisp.org>
109290         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
109291         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
109292         defined.
109294 2003-11-10  Paul Eggert  <eggert@twinsun.com>
109296         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
109297         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
109298         rejected some allocations of exactly SIZE_MAX - 2 bytes.
109299         From Bruno Haible.
109300         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
109301         not (size_t) -1, since it's defined here.
109303 2003-11-09  Karl Berry  <karl@gnu.org>
109305         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
109307 2003-11-06  Paul Eggert  <eggert@twinsun.com>
109309         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
109310         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
109311         Reject sizes of exactly SIZE_MAX bytes.
109312         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
109313         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
109315 2003-11-05  Bruno Haible  <bruno@clisp.org>
109317         * lib/xsize.h: Include limits.h, to avoid a possible collision with
109318         SIZE_MAX defined in <limits.h> on Solaris.
109320 2003-11-04  Jim Meyering  <jim@meyering.net>
109322         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
109323         variable names, rather than @VAR@.
109324         * modules/poll: Likewise.
109326 2003-11-04  Bruno Haible  <bruno@clisp.org>
109328         * modules/xsize: New file.
109329         * modules/linebreak: Depend on xsize.
109330         * MODULES.html.sh (func_all_modules): Add xsize.
109332 2003-11-04  Bruno Haible  <bruno@clisp.org>
109334         * m4/xsize.m4: New file.
109336 2003-11-04  Bruno Haible  <bruno@clisp.org>
109338         * lib/xsize.h: New file.
109339         * lib/linebreak.c: Include xsize.h.
109340         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
109341         argument for overflow.
109342         Suggested by Paul Eggert.
109344 2003-11-03  Karl Berry  <karl@gnu.org>
109346         * config/config.{guess,sub}: update from config.
109348 2003-11-03  Jim Meyering  <jim@meyering.net>
109350         * modules/userspec (lib_SOURCES): Add userspec.h.
109351         (Include): Add "userspec.h".
109352         Improve description.
109354 2003-11-03  Jim Meyering  <jim@meyering.net>
109356         * lib/userspec.c: Include "userspec.h".
109357         * lib/userspec.h: New file.
109359 2003-11-03  Bruno Haible  <bruno@clisp.org>
109361         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
109363 2003-11-03  Bruno Haible  <bruno@clisp.org>
109365         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
109366         available, to avoid (extremely rare) race condition.
109367         Suggested by Paul Eggert.
109369 2003-11-02  Karl Berry  <karl@gnu.org>
109371         * config/srclist.txt (vasprintf.c): sync broken, sigh.
109373 2003-10-31  Paul Eggert  <eggert@twinsun.com>
109375         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
109376         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
109377         (read_filesystem_list): Set and use me_type_malloced.
109378         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
109379         whatever the type happens to be), for brevity and consistency.
109380         Check for size calculation overflow on Alphas running OSF/1.
109382 2003-10-31  Jim Meyering  <jim@meyering.net>
109384         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
109386         * lib/linebuffer.c: Include <string.h> for declaration of memset.
109388 2003-10-30  Paul Eggert  <eggert@twinsun.com>
109389             Bruno Haible  <bruno@clisp.org>
109391         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
109392         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
109394 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
109396         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
109397         netbsd*-gnu*.  Suggested by Robert Millan.
109399 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109401         * modules/group-member: Depend on stdbool.
109403 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109405         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
109407 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109409         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
109410         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
109411         after the 'gnu' in these cases.  This fixes some bugs in the
109412         previous change, and is based on suggestions by Robert Millan.
109414 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109416         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
109417         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
109418         no longer needed.
109419         * lib/quotearg.c (quotearg_n_options): Use it.
109420         * lib/group-member.c: Include <stdbool.h>.
109421         (free_group_info): Arg is now const *; don't free arg.
109422         (get_group_info): Now returns bool and accepts struct group_info *,
109423         rather than returning a malloc'ed struct group_info *.
109424         All uses changed.  Check for overflow in internal size calculation.
109426         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
109427         rather than xmalloc/xrealloc.
109428         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
109429         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
109430         conformance bug: the old code used a pointer after freeing the
109431         storage that it addressed.
109432         * lib/hash.c (hash_initialize): Simplify the code by using
109433         xalloc_oversized rather than doing it by hand.
109434         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
109435         the buffer preserved.  Use free and xmalloc instead.
109436         * lib/quotearg.c (quotearg_n_options): Likewise.
109437         Use a simpler test for size overflow.  Don't use xalloc_oversized
109438         because unsigned int might be wider than size_t (!); this suggests
109439         that we should switch from unsigned int to size_t for slot numbers.
109441 2003-10-28  Paul Eggert  <eggert@twinsun.com>
109443         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
109444         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
109445         NetBSD kernels.  Requested by Richard Stallman.
109447 2003-10-27  Paul Eggert  <eggert@twinsun.com>
109449         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
109450         to allocate the returned structure.  Do not allocate a subarray,
109451         as x2nrealloc will do that.
109452         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
109453         instead of xnrealloc.
109454         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
109456 2003-10-27  Bruno Haible  <bruno@clisp.org>
109458         * lib/stdbool_.h: Better support for BeOS.
109460 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109462         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
109463         now uses inline.
109465 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109467         * lib/xalloc.h (xalloc_oversized): New static inline function, for
109468         callers that want to do their own size-overflow checking.  Include
109469         <stdbool.h>, since xalloc_oversized returns bool.
109470         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
109471         to use xalloc_oversized.
109473         Add two functions x2realloc, x2nrealloc, for programs that grow
109474         arrays dynamically by doubling their sizes.
109475         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
109476         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
109477         New functions.
109479         Port to C99 semantics for 'inline' of external functions.
109480         Bug reported by Bruno Haible.
109481         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
109482         with the old contents of xnmalloc.
109483         (xnmalloc, xmalloc): Use it.
109484         (xnrealloc_inline): New static inline function,
109485         with the old contents of xnrealloc.
109486         (xnrealloc, xrealloc): Use it.
109488         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
109489         that.
109491 2003-10-26  Karl Berry  <karl@gnu.org>
109493         * config/srclist.txt (COPYING.DOC): no longer available from
109494         /gd/gnuorg; don't know where the ultimate source is.
109496 2003-10-25  Paul Eggert  <eggert@twinsun.com>
109498         Fix several address-calculation bugs in the hash modules,
109499         plus some minor code cleanup.
109501         * lib/hash.h: Include <stdbool.h>, for bool.
109502         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
109503         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
109504         hash_get_n_entries, hash_get_max_bucket_length,
109505         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
109506         hash_rehash): Use size_t rather than unsigned.
109507         * lib/hash.c (struct hash_table, hash_get_n_buckets,
109508         hash_get_n_buckets_used, hash_get_n_entries,
109509         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
109510         hash_get_entries, hash_do_for_each, hash_string, is_prime,
109511         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
109512         Likewise.
109513         (SIZE_MAX): Define if not defined.
109514         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
109515         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
109516         hash_print):
109517         Use const * when possible.
109518         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
109519         (check_tuning): Fix bug: if tuning parameters were very close to
109520         0 or 1, rounding errors could have caused subscript violations.
109521         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
109522         (hash_initialize): Add 'fail:' label
109523         to free table and return NULL, and use it to simplify code.
109524         Use calloc rather than clearing the storage ourself.
109525         (hash_initialize, hash_rehash): Check for arithmetic overflow in
109526         buffer size calculations.
109527         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
109528         Include <stddef.h>, for size_t.
109529         * lib/hash-pjw.c (hash_pjw): Likewise.
109530         Switch to method described by Bruno Haible.
109531         Include <limits.h>, for CHAR_BIT.
109532         (SIZE_BITS): New macro.
109534 2003-10-23  Paul Eggert  <eggert@twinsun.com>
109536         * m4/getline.m4 (AM_FUNC_GETLINE):
109537         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
109538         hosts.  Problem reported by Derek Robert Price in
109539         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
109540         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
109541         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
109543 2003-10-21  Paul Eggert  <eggert@twinsun.com>
109545         * lib/getndelim2.c (getndelim2): When size calculation overflows,
109546         ceiling the allocation at NMAX bytes rather than silently
109547         discarding input bytes before NMAX is reached.  This makes
109548         a difference only if NMAX exceeds SIZE_MAX / 2.
109550         * lib/obstack.c: Merge from glibc.
109551         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
109552         Add libc_hidden_def (_obstack_newchunk).
109553         (_obstack_free) [! defined _LIBC]: Remove.
109554         [defined _LIBC]: Make a strong alias from obstack_free, rather than
109555         a clone of the function body.
109556         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
109557         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
109559         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
109560         glibc.
109561         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
109562         arg to memcpy.
109564         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
109565         (obstack_ptr_grow_fast, obstack_int_grow_fast):
109566         Don't use lvalue casts, as GCC plans to remove support for them
109567         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
109568         was also present in the non-GCC version, indicating that this
109569         code had always been buggy and had never been widely used.
109570         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
109571         Use the fast variant of each macro, rather than copying the
109572         definiens of the fast variant; that way, we'll be more likely to
109573         catch future bugs in the fast variants.
109575 2003-10-20  Bruno Haible  <bruno@clisp.org>
109577         * modules/wait-process: New file.
109578         * MODULES.html.sh (func_all_modules): Add wait-process.
109580 2003-10-20  Bruno Haible  <bruno@clisp.org>
109582         * m4/wait-process.m4: New file.
109584 2003-10-20  Bruno Haible  <bruno@clisp.org>
109586         * lib/wait-process.h: New file, from GNU gettext.
109587         * lib/wait-process.c: New file, from GNU gettext.
109589 2003-10-19  Jim Meyering  <jim@meyering.net>
109591         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
109592         HPUX 10.20.
109594 2003-10-18  Karl Berry  <karl@gnu.org>
109596         * config/config.guess: update from config.
109598 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109600         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
109601         (getgroups): First arg is int, not size_t.
109602         Don't let 'free' mangle errno.
109604 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109606         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
109608 2003-10-16  Karl Berry  <karl@gnu.org>
109610         * config/config.{guess,sub}: update from config.
109612 2003-10-16  Jim Meyering  <jim@meyering.net>
109614         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
109615         memcpy.
109617 2003-10-15  Paul Eggert  <eggert@twinsun.com>
109619         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
109620         (SIZE_MAX): Remove.
109621         (new_exclude, add_exclude_file): Initial size no longer needs to
109622         be a power of 2.
109623         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
109624         our own address arithmetic overflow checking.
109626         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
109627         (fnmatch): Do not alloca more than 2000 wide characters;
109628         instead, use malloc for large buffers.
109629         Check for address arithmetic overflow, and return -1
109630         with errno set to ENOMEM in that case.
109631         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
109632         (NEW_PATTERN): Do not alloca more than 8000 bytes;
109633         instead, return -1.  Check for address arithmetic overflow.
109635 2003-10-14  Paul Eggert  <eggert@twinsun.com>
109637         Handle invalid suffixes and overflow independently, so that
109638         callers can treat them independently as needed.  Fix some bugs in
109639         suffix handling, e.g., "100k@" was not diagnosed as an invalid
109640         suffix for a human-readable blocksize.  The major caller-visible
109641         change is the addition of a new
109642         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
109643         that both overflow and suffix chars were found.
109645         * lib/human.c (humblock): Don't check separately for invalid suffix
109646         char; that is xstrtoumax's job (now that its bug is fixed).
109647         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
109648         INTMAX_MAX]: New macros.
109649         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
109650         TYPE_MAXIMUM): New macros.
109651         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
109652         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
109653         if overflow occurs, as it's what __strtol does and it's more useful
109654         in practice.
109655         (__xstrtol): If __strtol reports some error other than ERANGE,
109656         reflect it to the caller as LONGINT_INVALID.  If it reports
109657         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
109658         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
109659         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
109660         value.
109661         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
109662         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
109663         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
109664         [defined UINTMAX_MAX]: New macros.
109666 2003-10-14  Bruno Haible  <bruno@clisp.org>
109668         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
109670 2003-10-14  Bruno Haible  <bruno@clisp.org>
109672         * m4/sig_atomic_t: New file, from GNU gettext.
109673         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
109675 2003-10-14  Bruno Haible  <bruno@clisp.org>
109677         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
109678         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
109679         Also use volatile where needed.
109681 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109683         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
109684         Change maintainer from Bruno Haible to 'all'.
109686 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109688         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
109690 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109692         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
109693         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
109694         and define in terms of the other primitives.
109695         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
109696         (SIZE_MAX): Define if not already defined.
109697         (array_size_overflow): New function.
109698         (xalloc_die): Abort instead of exiting if 'error' returns.
109699         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
109700         (xmalloc, xrealloc): Use them.
109701         (xcalloc): Check for address arithmetic overflow.
109702         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
109703         a bit faster than strcpy.
109705 2003-10-10  Simon Josefsson  <jas@extundo.com>
109707         * modules/argp (Depends-on): Add restrict and strcase.
109709 2003-10-10  Simon Josefsson  <jas@extundo.com>
109711         * m4/argp.m4: Add AC_C_INLINE.
109713 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109715         Merge getpass from libc, plus a few fixes.
109717         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
109718         Include <stdbool.h>.
109719         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
109720         __fsetlocking to empty.
109721         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
109722         do include <bits/libc-lock.h>.
109723         Do not include <fcntl.h>; not needed.
109724         [_LIBC]: Include <wchar.h>.
109725         (NOTCANCEL_MODE): New macro.
109726         (flockfile, funlockfile) [_LIBC]: New macros.
109727         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
109728         [!_LIBC]: New macros.
109729         (call_fclose): New function.
109730         (getpass): Use it.  Save tty stream separately; this simplifies the
109731         code and makes it more reliable if stdin happens to equal stdout.
109732         Invoke __fsetlocking on tty.
109733         Handle thread cancellation if needed.
109734         Namespace cleanup (use __tcgetattr, __getline).
109735         Use bool for Booleans.
109736         [USE_IN_LIBIO]: Handle wide streams.
109737         [!_LIBC]: Unconditionally do the fseek, since we don't know what
109738         stream might go where.
109740         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109741         doesn't have to include <stdio.h> before us.
109742         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109743         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109744         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109745         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109746         if not declared, so that we can use getpass.c code from libc without
109747         rewriting it.
109748         (flockfile, ftrylockfile, funlockfile): New macros.
109750 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109752         * modules/getpass: Depend on stdbool.
109754 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109756         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109758 2003-10-07  Karl Berry  <karl@gnu.org>
109760         * config/config.{guess,sub}: update from config.
109762 2003-10-06  Jim Meyering  <jim@meyering.net>
109763             Bruno Haible  <bruno@clisp.org>
109765         This lets translators provide better translations for the
109766         "Written by ..." part of --version output.
109767         * lib/version-etc.h: Include stdarg.h.
109768         (version_etc_copyright): Declare as readonly.
109769         (version_etc): Make this function variadic with a NULL-terminated list
109770         of author name strings.
109771         (version_etc_va): New declaration.
109772         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109773         (version_etc_copyright): Declare as readonly.
109774         (version_etc_va): New function. Provide a different translatable string
109775         for each possible number of authors < 10. Abbreviate when there are 10
109776         authors or more.
109777         (version_etc): Make this function variadic. Call version_etc_va.
109778         Suggestion from Gary V. Vaughan.
109780         * lib/long-options.h (parse_long_options): Change prototype: the
109781         authors string is moved to the end and becomes variadic.
109782         * lib/long-options.c: Include stdarg.h.
109783         (parse_long_options): Make this function variadic, too.
109784         Call version_etc_va, not version_etc.
109786 2003-10-06  Bruno Haible  <bruno@clisp.org>
109788         * modules/version-etc-2: Remove file.
109789         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109791 2003-10-06  Bruno Haible  <bruno@clisp.org>
109793         * modules/fatal-signal: New file.
109794         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109796 2003-10-06  Bruno Haible  <bruno@clisp.org>
109798         * m4/fatal-signal.m4: New file.
109799         * m4/signalblocking.m4: New file, from GNU gettext.
109801 2003-10-06  Bruno Haible  <bruno@clisp.org>
109803         * lib/version-etc-2.h: Remove file.
109804         * lib/version-etc-2.c: Remove file.
109806 2003-10-06  Bruno Haible  <bruno@clisp.org>
109808         * lib/fatal-signal.h: New file, from GNU gettext.
109809         * lib/fatal-signal.c: New file, from GNU gettext.
109811 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109813         * README: Rework advice for preventing empty .o files.
109814         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109815         not <sys/types.h>.
109817 2003-10-04  Karl Berry  <karl@gnu.org>
109819         * lib/argp*: update from libc.
109821 2003-10-04  Karl Berry  <karl@gnu.org>
109823         * config/config.{guess,sub}: update from config.
109825 2003-10-02  Bruno Haible  <bruno@clisp.org>
109827         * modules/lchown (Include): Add lchown.h.
109828         * modules/time_r (Include): Use "..." syntax.
109829         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109831 2003-10-01  Simon Josefsson  <jas@extundo.com>
109833         * MODULES.html.sh (func_all_modules): Move gethostname from section
109834         'based on' to section 'lacking' POSIX:2001.
109836 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109838         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109839         to output mode on the same stream.
109841 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109843         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109844         Fix arg typo in previous patch.
109846 2003-09-28  Jim Meyering  <jim@meyering.net>
109848         * lib/error.c: Correct cpp indentation.
109850 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109852         * modules/free: New file.
109854 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109856         * m4/free.m4: New file.
109858 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109860         * lib/minmax.h (MIN, MAX)
109861         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109862         Omit the special code that used __typeof__, since we worry that
109863         it could be more trouble than it's worth.  See:
109864         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109865         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109867         * lib/free.c: New file.
109869 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109871         Trivial fixes to Makefile.am parts of module listings.
109872         * modules/strstr: Append strstr.h to lib_SOURCES.
109873         * modules/strcase: Likewise, for strcase.h.
109875 2003-09-27  Karl Berry  <karl@gnu.org>
109877         * config/mkinstalldirs: update from automake.
109879 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109881         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109882         (error_tail): Do not loop, reallocating temporary buffer, since
109883         the output cannot contain more wide characters than the input
109884         contains bytes, the size must be big enough already.  This avoids
109885         one potential size overflow calculation.  Check for size overflow
109886         when calculating temporary buffer size.  Free temporary buffer
109887         when done, if it was allocated with malloc; this plugs a memory
109888         leak.  Remove casts from void * to pointers, that are no longer
109889         needed now that we're assuming C89 or better.
109891         Merge error changes from glibc.
109893         * lib/error.c, error.h: Update copyright notice header to match glibc.
109894         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109895         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109896         Disable cancellation while printing error.
109897         * lib/error.h: Prepend __ to parameter names.
109899 2003-09-26  Jim Meyering  <jim@meyering.net>
109901         * lib/error.c (error_tail): Move some declarations
109902         into inner scope where the local variables are used.
109904 2003-09-26  Bruno Haible  <bruno@clisp.org>
109906         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109907         stpncpy().
109908         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109910 2003-09-26  Bruno Haible  <bruno@clisp.org>
109912         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109913         (stpncpy): Define as alias for gnu_stpncpy.
109914         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109916 2003-09-25  Simon Josefsson  <jas@extundo.com>
109918         * lib/xgetdomainname.h: New file.
109919         * lib/xgetdomainname.c: New file.
109921 2003-09-25  Simon Josefsson  <jas@extundo.com>
109922             Bruno Haible  <bruno@clisp.org>
109924         * modules/getdomainname: New file.
109925         * modules/xgetdomainname: New file.
109926         * MODULES.html.sh (func_all_modules): Add getdomainname,
109927         xgetdomainname.
109929 2003-09-25  Simon Josefsson  <jas@extundo.com>
109930             Bruno Haible  <bruno@clisp.org>
109932         * m4/getdomainname.m4: New file.
109934 2003-09-25  Simon Josefsson  <jas@extundo.com>
109935             Bruno Haible  <bruno@clisp.org>
109937         * lib/getdomainname.h: New file.
109938         * lib/getdomainname.c: New file.
109940 2003-09-25  Karl Berry  <karl@gnu.org>
109942         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109944 2003-09-25  Karl Berry  <karl@gnu.org>
109946         * config/install-sh: update from automake.
109948 2003-09-25  Bruno Haible  <bruno@clisp.org>
109950         * modules/version-etc-2: New file, from modules/version-etc with
109951         modifications.
109952         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109954 2003-09-25  Bruno Haible  <bruno@clisp.org>
109956         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109957         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109959 2003-09-24  Simon Josefsson  <jas@extundo.com>
109961         * modules/xgethostname: Add xgethostname.h.
109963 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109965         * lib/linebuffer.c (freebuffer): Don't free the argument, just
109966         the buffer associated with the argument.  Bug reported by
109967         Simon Josefsson.
109969 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109971         * README: Document assumptions that 'int' is at least 32 bits
109972         wide, that integer arithmetic is 2's complement without overflow,
109973         that there are no holes in integer values, that adding sizes of
109974         two nonoverlapping objects can't overflow, and that all-bits-zero
109975         yields scalar zero.  Fix spelling and capitalization typos.
109977 2003-09-19  Karl Berry  <karl@gnu.org>
109979         * lib/argp.h: update from libc.
109981 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109983         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
109984         to avoid spurious warnings like "AC_RUN_IFELSE was called before
109985         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
109987 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109989         * gnulib-tool: Use "test -h", not "test -L", for portability
109990         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
109991         (tags_regexp): Remove, since \| doesn't conform to POSIX.
109992         (sed_extract_prog): Issue s commands one-by-one, rather than
109993         using \| in one s command.
109995 2003-09-16  Paul Eggert  <eggert@twinsun.com>
109997         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
109998         input error, instead of returning NULL the next time we are called
109999         (and therefore losing track of errno).
110001 2003-09-16  Bruno Haible  <bruno@clisp.org>
110003         * gnulib-tool (func_create_testdir): Warn about duplicated
110004         dependencies.
110006 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110008         * modules/argmatch, modules/fatal, modules/obstack,
110009         modules/xalloc, modules/xgethostname: Sort dependencies by
110010         importance, not alphabetically.
110012 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110014         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
110015         fails, so that the caller gets the proper errno.
110017         * lib/readutmp.c (read_utmp): Likewise.
110018         Check for fstat error.  Close stream and free storage
110019         when failing.
110021 2003-09-14  Karl Berry  <karl@gnu.org>
110023         * config/srclist.txt (strdup.c): disable for c89 changes.
110025 2003-09-14  Jim Meyering  <jim@meyering.net>
110027         * lib/getloadavg.c: Correct cpp indentation.
110028         * lib/strdup.c: Likewise.
110029         * lib/vasnprintf.c: Likewise.
110031 2003-09-14  Bruno Haible  <bruno@clisp.org>
110033         * modules/fwriteerror: New file.
110034         * MODULES.html.sh (func_all_modules): Add fwriteerror.
110036 2003-09-14  Bruno Haible  <bruno@clisp.org>
110038         * lib/fwriteerror.h: New file.
110039         * lib/fwriteerror.c: New file.
110041 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110043         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
110044         modules/xgethostname, modules/xalloc: Depend on exit.
110046 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110048         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
110050         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
110051         and AC_MINIX, too, so that their extensions are available.
110053         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
110054         This macro has been superseded by gl_BACKUPFILE.
110056         More patches to assume C89 or better.
110058         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
110060         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
110061         unconditionally.
110062         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
110063         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
110064         Include <string.h>, <stdlib.h> unconditionally.
110065         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
110066         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
110067         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
110068         headers or for string.h.
110069         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
110070         or strtoul.
110072         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
110073         headers.
110074         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
110075         * m4/userspec.m4 (gl_USERSPEC): Likewise.
110076         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
110077         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
110078         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
110079         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
110080         memcpy, memset.
110081         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
110082         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
110083         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
110084         strtol.
110085         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
110086         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
110087         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
110088         strtoul.
110090 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110092         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
110093         * lib/obstack.c [!defined _LIBC]: Likewise.
110094         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
110095         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
110096         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
110098         More changes to assume C89 or better.
110100         * lib/error.c (error_tail): Assume vprintf.
110102         * lib/argmatch.c (getenv): Remove decl.
110103         * lib/progreloc.c (get_full_program_name): Define via prototype.
110104         * lib/setenv.c (clearenv): Likewise.
110105         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
110106         needed.
110107         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
110108         (malloc, memcpy): Remove decls.
110109         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
110110         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
110111         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110112         (memcpy): Remove macro.
110113         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
110114         (__P): Remove.  All uses removed.
110115         (PTR): Remove.  All uses changed to void *.
110116         (CHAR_BIT, NULL): Remove.
110117         (spaces, zeros, memset_space, memset_zero)
110118         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
110119         Remove.
110120         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
110121         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
110122         Define with prototype.
110123         Remove now-unnecessary prototype decl.
110124         (extra_args_spec): Assume ANSI C.  All uses changed.
110125         (extra_args_spec_iso): Remove.
110126         (my_strftime, emacs_strftimeu): Define via prototype.
110127         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
110128         unconditionally.
110129         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
110130         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
110131         (strtoul, strtol): Remove decls.
110132         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
110133         LONG_MAX): Remove.
110134         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110135         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
110136         (LOCALE_PARAM_PROTO): New macro.
110137         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
110138         (INTERNAL (strtol), strtol): Define with a prototype.
110139         (PARAMS): Remove.  All uses removed.
110140         * lib/tempname.c: Include <string.h> unconditionally.
110141         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
110142         * lib/xgethostname.c (main): Define with a prototype.
110143         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
110144         Include <stdlib.h> unconditionally.
110145         (calloc, malloc, realloc, free): Remove decls.
110146         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
110147         Include <stdlib.h> unconditionally.  Sort include file names.
110148         (strtod): Remove.
110149         (xstrtod): Define with a prototype.
110150         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
110151         (strtol, strtoul): Remove decls.
110153 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110155         More patches to assume C89 or better.
110156         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
110157         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
110158         string.h, memchr, STDC_HEADERS.
110160 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110162         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
110163         Include <stdlib.h>, <string.h> unconditionally.
110164         Remove now-unnecessary cast to char *.
110165         * lib/strnlen.c: Include <string.h> unconditionally.
110166         * lib/yesno.c (yesno): Define with a prototype.
110168 2003-09-11  Bruno Haible  <bruno@clisp.org>
110170         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
110172 2003-09-10  Jim Meyering  <jim@meyering.net>
110174         * lib/error.c: Correct indentation of cpp directives.
110176 2003-09-10  Bruno Haible  <bruno@clisp.org>
110178         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
110179         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
110180         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
110181         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
110182         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
110183         <stdlib.h> and <string.h> checks.
110184         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
110185         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
110187 2003-09-10  Bruno Haible  <bruno@clisp.org>
110189         * lib/strcspn.c: Include <string.h> unconditionally.
110190         * lib/strpbrk.c: Include <string.h> unconditionally.
110191         * lib/strstr.c: Include <string.h> unconditionally.
110192         * lib/unicodeio.c: Include <string.h> unconditionally.
110193         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
110194         * lib/unsetenv.c: Likewise.
110195         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
110196         * lib/yesno.c: Include <stdlib.h> unconditionally.
110197         (rpmatch): Add prototype.
110199 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110201         More patches to assume C89 or better.
110202         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
110203         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
110204         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
110205         or for string.h.
110206         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
110207         stdlib.h.
110208         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
110209         C headers.
110210         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
110211         string.h.
110212         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
110213         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
110214         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
110215         or for string.h.
110216         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
110217         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
110218         C headers.
110219         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
110220         memcpy.
110221         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
110222         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
110223         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
110224         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
110225         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
110226         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
110227         string.h, free.
110228         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
110229         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
110230         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
110231         C headers, or for string.h.
110232         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
110233         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
110234         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
110235         headers, memory.h, stdlib.h, string.h, strings.h.
110236         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
110237         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
110238         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
110239         strchr.
110240         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
110241         headers, memory.h, string.h.
110242         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
110243         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
110244         free.
110245         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
110246         headers.
110247         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
110248         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
110249         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
110250         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
110251         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
110253 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110255         More K&R removal.
110257         * lib/acosl.c (main): Use a prototype.
110258         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
110259         tanl.c: Likewise.
110261         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
110263         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
110264         (getopt, etopt_long, getopt_long_only, _getopt_internal)
110265         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
110266         with a prototype.
110267         * lib/getopt.c (const): Remove macro.
110268         Include <string.h> unconditionally.
110269         (my_index): Remove; all uses changed to strchr.
110270         (strlen): Remove decl.
110271         (exchange): Remove forward decl; no longer needed.
110272         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
110273         Define with prototype.
110274         * lib/getopt1.c (const): Remove macro.
110275         (getopt_long, getopt_long_only, main): Define with prototype.
110277         * lib/getugroups.c: Include <string.h> unconditionally.
110279         * lib/getusershell.c: Include <stdlib.h> unconditionally.
110280         (getusershell, setusershell, endusershell, readname, main):
110281         Define with prototypes.
110283         * lib/group-member.c: Include group-member.h first.
110284         Include <stdlib.h> unconditionally.
110286         * lib/hard-locale.c: Include hard-locale.h first.
110287         Include <stdlib.h>, <string.h> unconditionally.
110289         * lib/hash.c (free, malloc): Remove decls.
110290         Include <stdlib.h> unconditionally.
110292         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
110293         (getenv): Do not declare.
110295         * lib/idcache.c: Include <string.h> unconditionally.
110297         * lib/long-options.c: Include long-options.h first, to test interface.
110298         Include <stdlib.h> unconditionally.
110300         * lib/makepath.c: Include makepath.h first, to test interface.
110301         Include <stdlib.h> and <string.h> unconditionally.
110303         * lib/linebuffer.c: Include <stdlib.h>.
110304         (free): Remove decl.
110306         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
110307         stddef.h. rpl_malloc returns void *, not char *.
110308         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
110309         prototype.
110311         * lib/md5.h: Include <limits.h> unconditionally.
110312         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
110313         (__P): Remove; all uses removed.
110314         * lib/md5.c: Include "md5.h" first.
110315         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
110316         md5_buffer, md5_process_bytes, md5_process_block):
110317         Define with prototypes.
110318         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
110319         * lib/sha.c: Include "sha.h" first.
110320         Include <stdlib.h>, <string.h> unconditionally.
110322         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
110323         * lib/memcmp.c (__ptr_t): Likewise.
110324         * lib/memrchr.c (__ptr_t): Likewise.
110325         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
110326         Include <string.h> unconditionally.
110327         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
110328         * lib/memchr.c: Include <stdlib.h> unconditionally.
110329         * lib/memchr.c (LONG_MAX): Remove.
110330         * lib/memrchr.c (LONG_MAX): Likewise.
110331         * lib/memchr.c (__memchr): Define via a prototype.
110332         * lib/memrchr.c (__memrchr): Likewise.
110333         * lib/memcmp.c (__P): Remove, and remove all uses.
110334         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
110335         Remove forward decls; no longer needed.
110336         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
110337         Use types required by C89 in prototype.
110339         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
110340         * lib/savedir.c: Likewise.
110341         * lib/mkdir.c (free): Remove decl.
110342         * lib/rmdir.c (rmdir): Define with a prototype.
110343         * lib/savedir.c: Include savedir.h first, to test interface.
110345         * lib/mktime.c (STDC_HEADERS): Remove.
110346         Include <stdlib.h>, <string.h> unconditionally.
110348         * lib/modechange.c: Include <stdlib.h> unconditionally.
110349         (malloc): Remove decl.
110351         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
110352         (free): Remove decl.
110354         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
110355         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
110356         (This type really should be intptr_t, but that's a C99ism.)
110357         (_obstack_memcpy): Remove: all uses changed to memcpy.
110358         Include <string.h> unconditionally.
110359         (struct obstack): Assume __STDC__ for types of members
110360         chunkfun, freefun, extra_arg.
110361         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
110362         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
110363         obstack_begin, obstack_specify_allocation,
110364         obstack_specify_allocation_with_arg, obstack_chunkfun,
110365         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
110366         Remove unprototyped decls and the macros that use them.
110367         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
110368         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
110369         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
110370         (defined __STDC__ && __STDC__)]:
110371         Remove nonprototyped code.
110372         Include <stdlib.h> unconditionally.
110373         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
110374         _obstack_allocated_p, _obstack_free, obstack_free,
110375         _obstack_memory_used, print_and_abort):
110376         Define using prototypes.
110377         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
110378         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
110379         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
110380         obstack_next_free, obstack_object_size, obstack_room) [0]:
110381         Remove unused, unprototyped code.
110383         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
110385         * lib/physmem.c (physmem_total, physmem_available, main): Define
110386         with prototypes.
110388         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
110389         (main): Define with a prototype.
110391         * lib/posixver.c (getenv): Remove decl.
110393         * lib/putenv.c (malloc): Returns void *, not char *.
110394         Include <string.h> unconditionally.
110395         (strchr, memcpy, NULL): Do not define.
110397         * lib/readtokens.c: Include readtokens.h first, to test interface.
110398         Include <stdlib.h>, <string.h> unconditionally.
110399         (init_tokenbuffer): Define with a prototype.
110401         * lib/regex.c (PARAMS): Remove.  All uses removed.
110402         All uses of _RE_ARGS removed, too.
110403         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
110404         unconditionally.
110405         (bzero): Assume memset exists.
110406         (memcmp, memcpy, NULL): Remove.
110407         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
110408         char, or assignments to local vars of type signed char.
110409         (init_syntax_once, PREFIX(extract_number_and_incr),
110410         PREFIX(print_partial_compiled_pattern),
110411         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
110412         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
110413         PREFIX(regex_grow_registers), PREFIX(regex_compile),
110414         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
110415         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
110416         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
110417         wcs_compile_range, byte_compile_range, truncate_wchar,
110418         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
110419         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
110420         count_mbs_length, wcs_re_match_2_internal,
110421         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
110422         PREFIX(alt_match_null_string_p),
110423         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
110424         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
110425         regfree, PREFIX(extract_number)): Define with prototype.  Remove
110426         now-unnecessary declaration, if any.
110427         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
110428         regcomp, regexec):
110429         Remove now-unnecessary casts among pointer types.
110430         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
110432         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
110433         (free): Remove decl.
110435         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
110437         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
110438         (free): Remove decl.
110440         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
110441         * lib/xgetcwd.c: Likewise.
110443         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
110444         (free): Remove decl.
110446         * lib/strchrnul.c (strchrnul): Define with a prototype.
110447         Fix bug: c_in was not converted to char before searching.
110449         The following changes are not K&R related:
110451         * lib/group-member.h: Include <sys/types.h>, so that this file is
110452         self-contained.
110453         * lib/makepath.h: Likewise.
110455         * lib/getusershell.c (readname, default_index, line_size, readname):
110456         Use size_t, not int, for sizes.
110457         (readname): If the size overflows, report an error instead of
110458         looping forever.
110460 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110462         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
110463         libc.
110465 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110467         * README: New section: portability guidelines.
110469 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110471         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
110472         C89 spec.
110474 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110476         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
110478 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110480         Assume C89 or better; remove K&R cruft.
110481         A few of these changes were first proposed by Derek Robert Price
110482         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
110484         * lib/addext.c: Include <string.h> unconditionally.
110485         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
110486         Don't declare getenv or malloc.
110488         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
110489         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
110490         (NULL): Remove.
110491         (find_stack_direction, alloca): Use prototypes.
110493         * lib/atexit.c (atexit): Define using a prototype.
110495         * lib/basename.c, dirname.c, stripslash.c:
110496         Include <string.h> unconditionally.
110498         * lib/bcopy.c: Include <stddef.h>.
110499         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
110501         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
110503         * lib/error.h (error, error_at_line, error_print_progname)
110504         [! (defined (__STDC__) && __STDC__)]: Remove decls.
110505         * lib/error.c: Include error.h first, to check interface.
110506         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110507         (VA_START): Remove; all uses changeed to va_start.
110508         (exit, strerror): Remove decls.
110509         (error_print_progname): Prototype uncondionally.
110510         Don't include <errno.h>; no longer needed.
110511         (private_strerror): Remove.
110512         (error_tail): Always define.
110513         (error, error_at_line): Assume C89 or better; always use prototypes.
110514         * lib/fatal.c: Include "fatal.h" first, to test interface.
110515         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110516         (VA_START): Remove; all uses changed to va_start.
110517         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
110518         this case.
110519         (exit): Remove decl.
110520         (fatal): Prototype unconditionally.  Assume va_start works.
110521         Abort at end, to pacify gcc.
110523         * lib/euidaccess.c (main): Define with a prototype.
110525         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
110527         * lib/exitfail.c: Include <stdlib.h> unconditionally.
110529         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
110530         prototypes.
110531         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
110532         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
110533         (getenv): Remove decl.
110534         (fnmatch): Define using a prototype.
110535         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
110536         (FCT): Define using a prototype.
110538         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
110540         * lib/gethostname.c: Include <stddef.h>.
110541         (gethostname): Define with prototype.  Length is size_t, not int.
110543 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110545         Assume C89 or better; remove K&R cruft.
110546         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
110547         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
110548         string.h, getenv, malloc.
110549         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
110550         headers.
110551         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
110552         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
110553         do not check for strerror.
110554         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
110555         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
110556         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
110557         do not check for doprnt or vprintf.
110558         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
110559         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
110561 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110563         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
110564         getversion.c should have been removed then, but was accidentally
110565         preserved.
110567         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
110568         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
110570 2003-09-08  Karl Berry  <karl@gnu.org>
110572         * config/config.sub, config.guess, srclistvars.sh: update from savannah
110573                 config, forget about prep.
110575         * config/depcomp, missing: update from automake.
110577 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110579         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
110580         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110582 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110584         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
110585         copy_tm_result.  Bug reported by Simon Josefsson in
110586         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110588 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110590         * m4/time_r.m4: New file.
110591         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
110592         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
110593         is. Check for timegm declaration.
110594         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
110595         Do not check for gmtime_r.
110596         Replace mktime if __mktime_internal does not exist and if mktime
110597         hasn't been replaced already.
110599 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110601         * lib/time_r.c, lib/time_r.h: New files.
110603         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
110604         __localtime_r.
110605         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
110606         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
110608         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
110609         __gmtime_r.
110610         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
110611         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
110612         Include <time_r.h>.
110614         * lib/timegm.c: Switch to glibc implementation, with the following
110615         changes:
110616         [defined HAVE_CONFIG_H]: Include <config.h>.
110617         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
110618         (__mktime_internal) [!defined _LIBC]: New decl.
110619         (__gmtime_r) [!defined _LIBC]: New macro and function.
110620         (timegm): Use a prototype, since gnulib assumes C89.
110621         Do not bother declaring tmp to be const, as it's not really usefu.
110622         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
110623         (timegm): Declare only if HAVE_DECL_TIMEGM.
110625 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110627         * MODULES.html.sh (func_all_modules): Add time_r.
110628         * modules/time_r: New file.
110629         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
110630         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
110632 2003-09-03  Paul Eggert  <eggert@twinsun.com>
110634         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
110635         Bug reported by Lute Kamstra in
110636         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
110638         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
110639         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
110640         course with correspondingly smaller numbers for tomorrow and
110641         yesterday.  From Tadayoshi Funaba.  Originally installed into
110642         sh-utils on 1999-08-07, but the patch got lost (I guess during the
110643         coreutils merge?).
110645 2003-08-31  Simon Josefsson  <jas@extundo.com>
110647         * modules/timegm: New file.
110648         * MODULES.html.sh (func_all_modules): Add timegm.
110650 2003-08-31  Simon Josefsson  <jas@extundo.com>
110652         * m4/timegm.m4: New file.
110654 2003-08-31  Simon Josefsson  <jas@extundo.com>
110656         * lib/timegm.h: New file.
110657         * lib/timegm.c: New file.  Based on
110658         wget-1.8.2/src/http.c:mktime_from_utc.
110660 2003-08-31  Karl Berry  <karl@gnu.org>
110662         * lib/argp.h: update from libc.
110664 2003-08-28  Bruno Haible  <bruno@clisp.org>
110666         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
110667         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
110668         followed by '#define fnmatch fnmatch_posix' gives an error.
110670 2003-08-28  Bruno Haible  <bruno@clisp.org>
110672         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
110673         warning on QNX, which defines O_BINARY to 000000.
110675 2003-08-27  Jim Meyering  <jim@meyering.net>
110677         * m4/mkstemp.m4: Require that the system mkstemp be able to create
110678         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
110679         would fail after 32.  Reported by Danny Levinson.  Details here:
110680         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
110682 2003-08-24  Bruno Haible  <bruno@clisp.org>
110684         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
110685         MSVC7 <stdio.h> is included later.
110687 2003-08-22  Simon Josefsson  <jas@extundo.com>
110689         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
110691 2003-08-20  Karl Berry  <karl@gnu.org>
110693         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
110695 2003-08-20  Bruno Haible  <bruno@clisp.org>
110697         * modules/progname: New file.
110698         * MODULES.html.sh (func_all_modules): Add progname.
110700 2003-08-20  Bruno Haible  <bruno@clisp.org>
110702         * lib/progname.h: New file, from GNU gettext.
110703         * lib/progname.c: New file, from GNU gettext.
110704         * lib/progreloc.c: New file, from GNU gettext.
110706 2003-08-19  Jim Meyering  <jim@meyering.net>
110708         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
110709         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
110711 2003-08-19  Bruno Haible  <bruno@clisp.org>
110713         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
110714         more.
110716 2003-08-19  Bruno Haible  <bruno@clisp.org>
110718         * lib/xstrdup.c: Assume <string.h> exists.
110720 2003-08-18  Paul Eggert  <eggert@twinsun.com>
110722         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
110723         in makefile rules.
110725 2003-08-18  Jim Meyering  <jim@meyering.net>
110727         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
110728         * m4/lib-ld.m4: Likewise.
110730 2003-08-18  Jim Meyering  <jim@meyering.net>
110732         * lib/setenv.h: Indent nested cpp directive.
110733         * lib/vasnprintf.c: Remove trailing blanks.
110735 2003-08-17  Simon Josefsson  <jas@extundo.com>
110737         * modules/xstrndup: New file.
110738         * MODULES.html.sh (func_all_modules): Add xstrndup.
110740 2003-08-17  Simon Josefsson  <jas@extundo.com>
110742         * modules/argp: Fix autoconf macro name. Add more dependencies.
110744 2003-08-17  Simon Josefsson  <jas@extundo.com>
110746         * m4/xstrndup.m4: New file.
110748 2003-08-17  Simon Josefsson  <jas@extundo.com>
110750         * m4/argp.m4: New file.
110752 2003-08-17  Simon Josefsson  <jas@extundo.com>
110753             Bruno Haible  <bruno@clisp.org>
110755         * lib/xstrndup.h: New file.
110756         * lib/xstrndup.c: New file.
110758 2003-08-17  Bruno Haible  <bruno@clisp.org>
110760         * modules/strndup (Files, Include): Add lib/strndup.h.
110762 2003-08-17  Bruno Haible  <bruno@clisp.org>
110764         * modules/euidaccess (Files): Add lib/euidaccess.h.
110766 2003-08-17  Bruno Haible  <bruno@clisp.org>
110768         * lib/strndup.h: New file.
110770 2003-08-17  Bruno Haible  <bruno@clisp.org>
110772         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110773         like AC_GNU_SOURCE.
110774         * modules/extensions (configure.ac): Comment out the invocation of
110775         gl_USE_SYSTEM_EXTENSIONS.
110777 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110779         Merges from coreutils, etc.
110780         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110781         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110782         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110783         fixing a typo.
110784         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110785         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110787 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110789         Document merge from coreutils.
110790         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110791         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110792         * modules/utime: Add m4/utimes-null.m4.
110794 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110796         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110797         space, undoing this 2003-08-12 change:
110798         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110800 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110802         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110803         strtoul.c from libc, undoing this 2003-08-12 change:
110804         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110806 2003-08-16  Jim Meyering  <jim@meyering.net>
110808         Merges from coreutils.
110809         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110810         prefix.  Adjust cache variables similarly.  Create 500 rather than
110811         just 300 files, to exercise bug on Darwin6.5, too.
110812         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110813         $missing_dir.
110814         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110815         AM_SYS_POSIX_TERMIOS.
110816         Reported by mkc@mathdogs.com.
110817         Also change use of $am_cv_sys_posix_termios
110818         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110819         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110820         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110821         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110822         in /proc/mounts until it finds one with matching device number.  This
110823         is unnecessary when the FILE argument *is* a mount point.  No stat call
110824         is necessary in that case.  So, disable the statvfs-testing code on
110825         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110826         as RedHat bug# 84846.
110827         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110828         to 1MB, so as not to render systems with no stack size limit (e.g.,
110829         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110830         Include <unistd.h>.  On some systems,
110831         it is required for the definition of _SC_PAGESIZE.
110833 2003-08-16  Jim Meyering  <jim@meyering.net>
110835         Merge from coreutils.
110836         * lib/xstrtoimax.c: #else #if -> #elif.
110837         * lib/xstrtoumax.c: Likewise.
110839 2003-08-16  Jim Meyering  <jim@meyering.net>
110841         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110842         * m4/utimes.m4: Removed.
110843         * m4/utimes-null.m4: Renamed from utimes.m4.
110845         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110846         to 1MB, so as not to render systems with no stack size limit (e.g.,
110847         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110848         Include <unistd.h>.  On some systems,
110849         it is required for the definition of _SC_PAGESIZE.
110851 2003-08-16  Jim Meyering  <jim@meyering.net>
110852         and Paul Eggert  <eggert@cs.ucla.edu>
110854         Merges from coreutils, etc.
110856         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110857         using the latest version from cvs.  This avoids problems with #line
110858         directives using a vendor (Sun) compiler.
110859         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110860         Don't set GETGROUPS_LIB here; now it's
110861         done via getgroups.m4's wrapper function.
110862         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110863         rather than just in sh-util/configure.in, so that the
110864         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110865         same.
110866         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110867         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110868         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110869         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110870         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110871         Remove code that is now done by the newly-required macros.
110872         Append $(EXEEXT) to DF_PROG.
110873         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110874         Do not invoke or require the following here,
110875         since prereq.m4 or some gnulib .m4 now does this for us:
110876         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110877         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110878         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110879         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110880         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110881         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110882         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110883         AC_FUNC_OBSTACK.
110884         Do not replace the following functions, as this is now the job
110885         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110886         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110887         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110888         atexit getpass, strdup, getpagesize.
110889         Replace 'raise'.
110890         Do not check for the following functions, as this is now the job
110891         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110892         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110893         setregid.
110894         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110895         Check for sys/sysctl.h.
110896         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110897         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110898         of checking for ssize_t ourselves.
110900         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110901         Require every macro that gnulib/modules/* suggests for us.
110902         (jm_PREREQ_ADDEXT): New macro.
110903         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110904         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110906         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110907         (gl_PHYSMEM): Use it.
110908         Also check for `table' function.
110909         Check for new headers and functions.
110910         Add check for sys/sysmp.h.
110911         With suggestions from Kaveh Ghazi.
110912         Ignore headers that are present but cannot be compiled.  This
110913         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110914         C 5.4.
110916 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110918         Document merge from coreutils.
110919         * modules/userspec: Depend on posixver.
110920         * modules/strftime: Depend on tzset.
110922 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110924         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110925         rather than tab, after '#' in shell-script copyright notices.
110926         Suggested by Bruno Haible.
110928 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110930         * config/srclist-update: Use three spaces, rather than tab, after '#'
110931         in shell-script copyright notices.  Suggested by Bruno Haible.
110932         Remove unnecessary parenthesization in regular expression.
110934 2003-08-15  Jim Meyering  <jim@meyering.net>
110936         Merge from coreutils.
110937         * lib/xgethostname.c: Include <stdlib.h>.
110938         (xghostname): Don't exit for anything other than memory-related
110939         failure; just return NULL.
110940         * lib/userspec.c: Include "posixver.h".
110941         (parse_user_spec): Accept `.' as a separator only
110942         in pre-POSIX-200112 mode.
110943         * lib/strtoimax.c: Use #elif rather than #else #if.
110944         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110945         Remove function, now that we can rely on a working tzset function.
110946         [!_LIBC]: Ensure that the required autoconf test has been run.
110947         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110948         Use underlying_strftime for %r.
110949         * lib/sha.c: Merge in some clean-up and optimization changes from
110950         glibc.
110951         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110952         Ensure that it is a multiple of 64.
110953         Rearrange loop exit tests so as to avoid performing an
110954         additional fread after encountering an error or EOF.
110955         * lib/realloc.c: Update copyright date.
110957 2003-08-15  Jim Meyering  <jim@meyering.net>
110958         and Paul Eggert  <eggert@twinsun.com>
110960         Merge from coreutils.
110961         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110962         member but strut utmpx does not.  Needed for AIX 4.3.3.
110963         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
110965 2003-08-15  Jim Meyering  <jim@meyering.net>
110966         and Paul Eggert  <eggert@cs.ucla.edu>
110968         Merges from coreutils, etc.
110969         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
110970         Require gl_FUNC_TZSET_CLOBBER.
110971         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
110972         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
110973         members.
110975 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110977         Help the merge from coreutils.
110978         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
110979         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
110980         * m4/tzset.m4: Use it too.
110982 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110984         * modules/tzset: New file.
110986 2003-08-14  Jim Meyering  <jim@meyering.net>
110988         Merges from coreutils.
110989         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
110990         variable names, rather than @FNMATCH_H@.
110991         * modules/alloca: Likewise for $(ALLOCA_H).
110993         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
110994         the three copies of the literal target, `fnmatch.h'.
110995         * modules/alloca (alloca.h): Likewise.
110997 2003-08-14  Jim Meyering  <jim@meyering.net>
110999         Merge from coreutils.
111000         * m4/tzset.m4: New file.
111001         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
111002         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
111003         otherwise, AIX 5.1 systems would end up using the latter.
111004         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
111005         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
111006         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
111007         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
111009 2003-08-14  Jim Meyering  <jim@meyering.net>
111011         Merge from coreutils.
111012         * lib/obstack.h: Whitespace changes.
111013         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
111014         and xcalloc return values.
111015         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
111016         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
111017         hang on OSF/1 5.1 for DIR on both local and remote file systems.
111018         Reported by (and fix confirmed by) Nelson H. F. Beebe.
111019         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111020         error from mntctl.
111021         Use mntctl's return value to drive the entry-processing loop, since
111022         we can't rely on the value of the vmt_length member in the last
111023         entry.  On some systems doing so could result in exhausting
111024         virtual memory.  Based in part on a patch from Mike Jetzer.
111026 2003-08-14  Jim Meyering  <jim@meyering.net>
111027         and Paul Eggert  <eggert@twinsun.com>
111029         Merges from coreutils, plus other fixes.
111030         * lib/physmem.c: Merge in portability changes from gcc/libiberty
111031         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
111032         for credits and details.  Thanks to Kaveh Ghazi for helping
111033         to keep these files in sync.
111034         (ARRAY_SIZE): Define it.
111035         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
111036         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
111037         (memcasecmp): Don't assume size_t fits in unsigned int.
111038         Remove casts and duplicate code.
111039         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
111040         (memcpy): Remove definition.
111041         Merge in some clean-up and optimization changes from glibc.
111042         [BLOCKSIZE]: Move definition to top of file.
111043         Ensure that it is a multiple of 64.
111044         Rearrange loop exit tests so as to avoid performing an
111045         additional fread after encountering an error or EOF.
111046         * lib/md5.h (md5_uintptr): Define.
111047         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
111048         return to the initial working directory.  Preserve errno
111049         for caller.
111050         * lib/idcache.c: Include "xalloc.h".
111051         (xmalloc, xrealloc): Remove decls.
111052         (getuser): Remove casts no longer required in C89.
111053         * lib/human.c: Include stdio.h, for sprintf.
111054         * lib/group-member.c: Include "xalloc.h".
111055         (xmalloc, xrealloc): Remove decls.
111056         (get_group_info): Remove casts no longer required in C89.
111057         * lib/getusershell.c (readname): Remove casts no longer required in
111058         C89.
111059         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
111060         * lib/getline.c: Whitespace fix, from coreutils.
111062 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111064         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
111065         Check for isascii.
111067         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111068         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111069         Undo previous (whitespace-only) change.
111071 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111073         * lib/exclude.c: Include <ctype.h>
111074         (IN_CTYPE_DOMAIN): New macro.
111075         (is_space): New fn.
111076         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
111077         and empty lines.
111079         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111080         Undo previous (whitespace-only) change.
111082 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111084         * config/srclist-update: Change update back to the old behavior,
111085         leaving whitespace alone.  Use one 'sed' command rather than a
111086         pipeline.
111087         (fixlicense): Now a variable, not a function.
111088         (remove_trailing_blanks): Remove.
111089         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
111090         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111091         Undo previous (whitespace-only) change.
111093 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111095         Merge from coreutils.
111096         * modules/euidaccess: Add lib_SOURCES, include for new
111097         file euidaccess.h
111099 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111101         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111102         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111103         Normalize leading white space and remove trailing white space.
111105         Merge from coreutils
111106         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
111108         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
111109         0.12.1.  These files are now being upgraded automatically by
111110         ../config/srclist-update.
111112 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111114         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111115         Normalize leading white space and remove trailing white space.
111116         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
111117         notice, as per ../config/srclist-update.
111119         Merge from coreutils.
111120         * lib/euidaccess.h: New file.
111121         * lib/euidaccess.c: Include it.
111122         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
111123         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
111124         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
111126 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111128         * config/srclist-update: Add copyright notice.
111129         (remove_id_lines, remove_trailing_blanks): New constants.
111130         (fixfile): Use them to normalize spacing a bit in copied files.
111131         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111132         Normalize leading white space and remove trailing white space.
111134         * config/texinfo.tex: Sync with texinfo.
111136         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
111137         strtoul.c from libc, to merge coreutils whitespace changes.
111139         * config/srclist.txt: Get the following m4 files from gettext:
111140         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
111141         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
111142         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
111143         wint_t.m4.
111145 2003-08-12  Karl Berry  <karl@gnu.org>
111147         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
111148         been made.
111150 2003-08-11  Paul Eggert  <eggert@twinsun.com>
111152         * modules/gnu-source, m4/gnu-source.m4:
111153         Remove; we're assuming Autoconf 2.54 or later now.
111154         Suggested by Bruno Haible.
111155         * MODULES.html.sh (func_all_modules): Remove gnu-source.
111157 2003-08-11  Bruno Haible  <bruno@clisp.org>
111159         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
111161 2003-08-11  Bruno Haible  <bruno@clisp.org>
111163         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
111164         (vasnprintf): Use it instead of wcslen.
111166 2003-08-11  Bruno Haible  <bruno@clisp.org>
111168         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
111169         value to ensure that _Bool promotes to int. Use #define for _Bool when
111170         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
111172 2003-08-10  Karl Berry  <karl@gnu.org>
111174         * lib/regex.h: update from libc (whitespace fix).
111176 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111178         Merge some files from coreutils.  These changes were
111179         originally made by Jim Meyering.
111180         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
111181         many older Unixes require this.
111182         * lib/alloca.c (alloca): Remove cast to argument of free;
111183         no longer needed in C89.
111184         * lib/alloca_.h, regex.h: Fix white space to match
111185         what GNU indent does.
111187 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111189         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
111190         apparently Emacs's Unicode mode got confused before my 2003-08-05
111191         checkin.
111193 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111195         * m4/extensions.m4: New file.
111196         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
111197         Require gl_USE_SYSTEM_EXTENSIONS.
111198         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
111199         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
111201 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111203         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
111204         * modules/extensions, modules/gnu-source: New files.
111205         * modules/timespec, modules/unlocked-io: Depend on extensions.
111207 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111209         * modules/restrict: New file.
111210         * MODULES.html.sh (func_all_modules): Add restrict.
111211         * modules/regex: Depend on restrict.
111213 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111215         * m4/restrict.m4: New file.
111216         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
111218 2003-08-07  Bruno Haible  <bruno@clisp.org>
111220         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
111221         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
111223 2003-08-07  Bruno Haible  <bruno@clisp.org>
111225         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
111226         makes the module 'getndelim2' compatible with the module 'getline'.
111228 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111230         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
111231         byte with "\201" to avoid glitches when editing that source file
111232         with multi-gnome-terminal.
111234 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111236         * lib/bumpalloc.h: Remove.
111238 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111240         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
111241         * modules/bumpalloc: Remove.
111243 2003-08-04  Paul Eggert  <eggert@twinsun.com>
111245         * lib/getloadavg.c: Change copyright notice and spacing to conform to
111246         GNU coding style.
111248         Merge from coreutils.
111249         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
111250         1. From glibc.
111251         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
111252         from Karl Berry, implemented by Jim Meyering.
111253         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
111254         from Dmitry V. Levin.
111255         Remove anachronistic cast of xrealloc.
111256         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
111257         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
111258         type. Otherwise, it wouldn't compile with at least /bin/cc on
111259         ymp-cray-unicos9.0.2.X.
111260         Combine two mostly-identical uses of alloca into one.
111261         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
111263 2003-08-04  Dave Love  <d.love@dl.ac.uk>
111265         [From Emacs.]
111267         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
111268         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
111269         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
111270         obsolete NLIST_NAME_UNION.
111271         [__GNU__]: Undef BSD and FSCALE.
111272         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
111274 2003-08-03  Paul Eggert  <eggert@twinsun.com>
111276         * lib/stdbool_.h (_Bool): Make it signed char, instead of
111277         an enum type, so that it's guaranteed to promote to int.  See:
111278         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
111280 2003-08-03  Karl Berry  <karl@gnu.org>
111282         * config/depcomp: update from automake.
111284 2003-07-31  Paul Eggert  <eggert@twinsun.com>
111286         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
111287         (strerror): Don't assume that a printable int fits in 14 bytes.
111289 2003-07-31  Bruno Haible  <bruno@clisp.org>
111291         * modules/getpass-gnu: New file.
111292         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
111294 2003-07-31  Bruno Haible  <bruno@clisp.org>
111296         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
111298 2003-07-24  Karl Berry  <karl@gnu.org>
111300         * config/missing: update from automake.
111302 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
111303             Bruno Haible  <bruno@clisp.org>
111305         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
111306         * lib/getline.c (getline, getdelim): Likewise.
111307         Remove _GNU_SOURCE define; now it's defined in config.h through
111308         m4/getline.m4.
111310 2003-07-23  Karl Berry  <karl@gnu.org>
111312         * config/config.sub: update from prep.
111314 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111316         * modules/xalloc (Depends-on): Add exitfail.
111317         * modules/xmemcoll: Likewise.
111319 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111321         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
111322         over-parenthesization in macros.
111324         Sync with coreutils.
111326         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
111327         required by C99.
111329         Use `exit_failure' for xalloc and xmemcoll instead of their own
111330         private exit-failure variables.
111331         * lib/xalloc.h (xalloc_exit_failure): Remove.
111332         * lib/xmalloc.c: Likewise.  Include exitfail.h.
111333         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
111334         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
111335         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
111336         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
111338 2003-07-20  Jim Meyering  <jim@meyering.net>
111340         * modules/closeout (Depends-on): Add exitfail.
111341         Suggestion from Bruno Haible.
111343 2003-07-19  Karl Berry  <karl@gnu.org>
111345         * config/config.sub: update from prep.
111347 2003-07-18  Paul Eggert  <eggert@twinsun.com>
111349         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
111350         Remove.
111351         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
111352         to test that it can stand by itself.  Include "exitfail.h".
111353         Clients should set exit_failure instead.
111354         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
111356 2003-07-18  Bruno Haible  <bruno@clisp.org>
111358         * modules/getndelim2: New file.
111359         * modules/getline: Share files with module getndelim2.
111360         * modules/getnline: Depend on getndelim2 instead of sharing files with
111361         it. Add getnline.c to lib_SOURCES.
111362         * MODULES.html.sh (func_all_modules): Add getndelim2.
111364 2003-07-18  Bruno Haible  <bruno@clisp.org>
111366         * m4/getndelim2.m4: New file.
111367         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
111368         invoke gl_PREREQ_GETNDELIM2.
111369         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
111370         gl_PREREQ_GETNDELIM2.
111371         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
111372         gl_GETNDELIM2.
111374 2003-07-18  Bruno Haible  <bruno@clisp.org>
111376         * lib/getndelim2.h: New file.
111377         * lib/getndelim2.c: Make into a module of its own. Include config.h,
111378         getndelim2.h.
111379         (getndelim2): Make non-static. Change return type to ssize_t.
111380         * lib/getline.h: Change argument names.
111381         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
111382         * lib/getnline.c: Include getndelim2.h.
111384 2003-07-18  Andreas Schwab  <schwab@suse.de>
111386         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
111388 2003-07-17  Karl Berry  <karl@gnu.org>
111390         * config/config.sub: update from prep.
111392 2003-07-17  Bruno Haible  <bruno@clisp.org>
111394         * modules/getnline: New file.
111395         * modules/getline: Add lib/getndelim2.c to source file list.
111396         * MODULES.html.sh (func_all_modules): Add getnline.
111398 2003-07-17  Bruno Haible  <bruno@clisp.org>
111400         * m4/getnline.m4: New file.
111402 2003-07-17  Bruno Haible  <bruno@clisp.org>
111404         * m4/Makefile.am.in: Remove file.
111405         * m4/Makefile.am: Remove file.
111406         * m4/Makefile.in: Remove file.
111408 2003-07-17  Bruno Haible  <bruno@clisp.org>
111410         * lib/getnline.h: New file.
111411         * lib/getnline.c: New file.
111412         * lib/getndelim2.c: New file, extracted from getline.c.
111413         (getndelim2): Renamed from getdelim2, with added nmax argument.
111414         * lib/getline.c: Include getndelim2.c.
111415         (getdelim2): Moved out to getndelim2.c.
111416         (getline, getdelim): Update.
111418 2003-07-17  Bruno Haible  <bruno@clisp.org>
111420         * lib/Makefile.am: Remove file.
111421         * lib/Makefile.in: Remove file.
111423 2003-07-17  Bruno Haible  <bruno@clisp.org>
111425         * configure.in: Remove file.
111426         * Makefile.in: Remove file.
111428 2003-07-17  Bruno Haible  <bruno@clisp.org>
111430         * MODULES.html.sh: Put the </BODY> right before </HTML>.
111432 2003-07-16  Karl Berry  <karl@gnu.org>
111434         * config/srclist-update: was running fixlicense twice, which caused
111435                 texinfo.tex to be nullified for some reason.  Simplify,
111436                 $gplsrc is no longer needed as far as I can see?
111438 2003-07-16  Jim Meyering  <jim@meyering.net>
111440         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
111442 2003-07-15  Paul Eggert  <eggert@twinsun.com>
111444         * config/srclist.txt: Get the following files from gettext-runtime/intl
111445         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
111446         ref-del.sin.  From Bruno Haible.
111447         * config/srclist-update (fixfile): Change grep pattern again, since the
111448         previous fix didn't work (there was another trailing $).  Use
111449         '[$]' to escape the $s.
111451 2003-07-15  Karl Berry  <karl@gnu.org>
111453         * lib/vasnprintf.c: update from gettext.
111455 2003-07-15  Karl Berry  <karl@gnu.org>
111457         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
111458         gets expanded when surrounded by '$'.
111460 2003-07-15  Jim Meyering  <jim@meyering.net>
111462         * modules/save-cwd: Don't depend on error.  From Derek Price.
111464 2003-07-15  Jim Meyering  <jim@meyering.net>
111466         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
111468 2003-07-14  Simon Josefsson  <jas@extundo.com>
111470         * modules/mempcpy: New file.
111471         * MODULES.html.sh (func_all_modules): Add mempcpy.
111473 2003-07-14  Simon Josefsson  <jas@extundo.com>
111475         * m4/mempcpy.m4: New file.
111477 2003-07-14  Simon Josefsson  <jas@extundo.com>
111479         * lib/mempcpy.h: New file.
111480         * lib/mempcpy.c: New file.
111482 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111484         * modules/getdate, modules/posixtm: Depend on mktime.
111486 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111488         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
111489         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
111490         unicodeio.c, unicodeio.h, unlocked-io.h:
111491         Switch from LGPL to GPL.
111493 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111495         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
111496         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
111497         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
111498         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
111499         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
111500         updated automatically by ../config/srclist-update.  This changes
111501         their license from LPGL to GPL.
111503 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111505         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
111506         assumed to refer to the root of the most recent stable gettext version.
111507         * config/srclistvars.sh: Add defaults for eggert.
111508         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
111509         Match "This program" as well as "The program".  This is needed
111510         for gettext.
111512 2003-07-14  Jim Meyering  <jim@meyering.net>
111514         Don't emit diagnostics.  Let callers do that.
111515         * lib/save-cwd.c: Don't include "error.h".
111516         (save_cwd): Don't call error.  Ensure that errno is valid
111517         when returning nonzero.
111519         * lib/save-cwd.h (restore_cwd): Update prototype.
111520         * lib/save-cwd.c (restore_cwd): Remove two parameters.
111521         Simplify.  Don't call error upon failure.  Let callers do that.
111522         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
111523         when auditing is enabled.  But don't bother updating the #if.
111525 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
111527         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
111528         it breaks C++ compilation.
111529         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
111531 2003-07-10  Simon Josefsson  <jas@extundo.com>
111533         * modules/strchrnul (Makefile.am): Add strchrnul.h.
111535 2003-07-10  Jim Meyering  <jim@meyering.net>
111537         * m4/clock_time.m4: Remove trailing blank.
111538         * m4/intmax_t.m4: Likewise.
111540 2003-07-10  Jim Meyering  <jim@meyering.net>
111542         * lib/vasnprintf.c: Remove trailing blanks.
111543         Make cpp indentation consistent.
111545 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111547         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
111548         posixver.c, strftime.c, strnlen.c, strverscmp.c:
111549         Switch from LGPL to GPL.
111551 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111553         * config/srclist.txt: Sort sublists.  Add
111554         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
111555         that differ from gnulib for one reason or another; we'd like this list
111556         to be smaller but for now let's document what we have.
111558 2003-07-08  Paul Eggert  <eggert@twinsun.com>
111560         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
111561         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
111562         and sweeter "eval x=$x".
111563         * config/srclist.txt: Get lib/argp* from glibc.
111565 2003-07-07  Paul Eggert  <eggert@twinsun.com>
111567         * lib/mktime.c: Fix some boundary cases and remove need for floating
111568         point.
111570         Issue a compile-time diagnostic if time_t is floating point, or if
111571         two's complement arithmetic is not in effect, or if arithmetic
111572         right shift does not propagate the sign.  These assumptions were
111573         all in the original code but they weren't checked.
111575         (TIME_T_MIDPOINT, verify): New macros.
111576         (__isleap): Remove; it has integer overflow problems.
111577         (leapyear): New function, without those problems.
111578         (ydhms_tm_diff): Remove; splitting into two parts.
111579         (ydhms_diff): New function, containing the arithmetic part of
111580         the old ydhms_tm_diff function.  Issue a compile-time
111581         diagnostic if we are not using C99 integer division.
111582         Avoid casts when possible.
111583         (guess_time_tm): New function, containing the checking part of
111584         the old ydhms_tm_diff function.  Return the new value, rather than
111585         the difference between it and the old.  Accept a new argument T
111586         so that *T specifies the old value.  Check for overflow in the result.
111588         (__mktime_internal): Use a time_t offset, not a long int offset.
111589         This undoes the 2003-06-04 change, which is no longer needed now
111590         that we have better overflow checking.
111591         (localtime_offset): Likewise.
111593         (__mktime_internal): Avoid harmful overflow on hosts where time_t
111594         and long are 64-bit but int is only 32-bit.
111595         (ydhms_diff): Use long int to store year1 and yday1.
111596         Issue a compile-time diagnostic if long int is not wide enough.
111598         (__mktime_internal): Use long int to store adjusted year and yday.
111599         Use plain C rather than preprocessor commands, if that doesn't
111600         affect efficiency.
111601         Check for overflow (and try to repair) after each probe
111602         rather than checking only at the very end.  This avoids some bugs
111603         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
111604         does not equal GMT offset at maximum time).
111605         Use integer to check for overflow rather than floating point; this
111606         is more portable to non-IEEE hosts, and is a tad faster.
111607         When we detect that we are oscillating between two values,
111608         don't check whether tm_isdst has the requested value, since
111609         we already know the answer.  When tm_isdst has the wrong value,
111610         use a different heuristic to find the right one, based on the
111611         extreme values actually observed in practice in tz2003a,
111612         rather than the (overly optimistic) "previous 3 calendar quarters".
111614         (not_equal_tm, print_tm, check_result): Use "const T" rather than
111615         "T const" to accommodate glibc style.
111616         (check_result): Use less-confusing report format.  "long" -> "long int.
111617         (main): Likewise.
111618         Don't loop if the iteration overflows time_t.
111619         Allow a negative step in the iteration.
111621 2003-07-06  Karl Berry  <karl@gnu.org>
111623         * config/depcomp: update from automake.
111624         * config/config.sub: update from prep.
111626 2003-07-03  Karl Berry  <karl@gnu.org>
111628         * config/config.guess: update from prep.
111630 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111632         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
111633         xreadlink.c now includes it unconditionally.
111635 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111637         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
111638         having it depend on HAVE_SYS_TYPES_H.
111640 2003-07-01  Bruno Haible  <bruno@clisp.org>
111642         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
111643         <sys/types.h> should be sufficient.
111644         Reported by Paul Eggert.
111646 2003-06-26  Karl Berry  <karl@gnu.org>
111648         * config/depcomp: update from automake.
111650 2003-06-26  Bruno Haible  <bruno@clisp.org>
111652         * modules/human: Depend on module stdbool.
111654 2003-06-25  Bruno Haible  <bruno@clisp.org>
111656         * modules/readlink: New file.
111657         * modules/xreadlink: Depend on it.
111658         * MODULES.html.sh (func_all_modules): Add readlink.
111660 2003-06-25  Bruno Haible  <bruno@clisp.org>
111662         * m4/readlink.m4: New file.
111664 2003-06-25  Bruno Haible  <bruno@clisp.org>
111666         * lib/readlink.c: New file.
111668 2003-06-22  Karl Berry  <karl@gnu.org>
111670         * config/srclist.txt: update mkinstalldirs from automake.
111671         * config/mkinstalldirs: update.
111673 2003-06-22  Bruno Haible  <bruno@clisp.org>
111675         Portability to mingw32.
111676         * m4/ssize_t.m4: New file, from GNU gettext.
111677         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
111678         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
111680 2003-06-22  Bruno Haible  <bruno@clisp.org>
111682         * modules/safe-read: Add m4/ssize_t.m4.
111683         * modules/xreadlink: Add m4/ssize_t.m4.
111685 2003-06-20  Bruno Haible  <bruno@clisp.org>
111687         Assume C89, so PARAMS isn't needed.
111688         * lib/unicodeio.h (PARAMS): Remove.
111689         * lib/unicodeio.c: Don't use PARAMS.
111691 2003-06-18  Karl Berry  <karl@gnu.org>
111693         * config/config.{guess,sub}: update from prep.
111695 2003-06-18  Jim Meyering  <jim@meyering.net>
111697         Merge changes from coreutils.
111698         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
111699         Remove explicit declarations of xmalloc and realloc.
111700         Include xalloc.h.
111701         (read_utmp): Remove anachronistic cast of xmalloc.
111703 2003-06-17  Paul Eggert  <eggert@twinsun.com>
111705         Assume C89, so PARAMS isn't needed.
111706         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
111707         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
111708         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
111709         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
111710         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
111711         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
111712         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
111713         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
111714         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
111715         lib/xstrtod.h, lib/xstrtol.h: Likewise.
111716         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
111717         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
111718         no longer needed. Anyway, config.h should always be included before any
111719         other file.
111721 2003-06-11  Simon Josefsson  <jas@extundo.com>
111723         * modules/sysexits: New file.
111724         * MODULES.html.sh (func_all_modules): Add sysexits.
111726 2003-06-11  Simon Josefsson  <jas@extundo.com>
111728         * lib/sysexit_.h: New file.
111730 2003-06-11  Derek Price  <derek@ximbiot.com>
111732         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
111733         necessary.
111735 2003-06-11  Bruno Haible  <bruno@clisp.org>
111737         * m4/sysexits.m4: New file.
111739 2003-06-10  Simon Josefsson  <jas@extundo.com>
111741         * lib/argp.h: New file, from glibc.
111742         * lib/argp-ba.c: New file, from glibc.
111743         * lib/argp-eexst.c: New file, from glibc.
111744         * lib/argp-fmtstream.c: New file, from glibc.
111745         * lib/argp-fmtstream.h: New file, from glibc.
111746         * lib/argp-fs-xinl.c: New file, from glibc.
111747         * lib/argp-help.c: New file, from glibc.
111748         * lib/argp-namefrob.h: New file, from glibc.
111749         * lib/argp-parse.c: New file, from glibc.
111750         * lib/argp-pv.c: New file, from glibc.
111751         * lib/argp-pvh.c: New file, from glibc.
111752         * lib/argp-xinl.c: New file, from glibc.
111754 2003-06-10  Simon Josefsson  <jas@extundo.com>
111756         * modules/strchrnul: New file.
111758 2003-06-10  Simon Josefsson  <jas@extundo.com>
111760         * modules/argp: New file.
111762 2003-06-10  Simon Josefsson  <jas@extundo.com>
111764         * m4/strchrnul.m4: New file.
111766 2003-06-10  Simon Josefsson  <jas@extundo.com>
111768         * lib/strchrnul.h: New file.
111769         * lib/strchrnul.c: New file.
111771 2003-06-10  Bruno Haible  <bruno@clisp.org>
111773         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111775 2003-06-07  Karl Berry  <karl@gnu.org>
111777         * config/config.{guess,sub}: update from prep.
111779 2003-06-07  Jim Meyering  <jim@meyering.net>
111781         * modules/strtod: Use $(...) notation, not @...@ for
111782         AC_REPLACE'd variables.
111783         * modules/localcharset: Likewise.
111785 2003-06-07  Jim Meyering  <jim@meyering.net>
111787         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111788         in place of my name in the copyright comment.
111789         Remove definition and uses of __P.
111791         From coreutils.
111792         * lib/stat.c: Don't declare xmalloc explicitly.
111793         Instead, include "xalloc.h".
111794         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111795         xrealloc, and xcalloc return values.
111796         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111797         Improve comment.
111798         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111800 2003-06-07  Bruno Haible  <bruno@clisp.org>
111802         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111803         avoid AC_CONFIG_LINKS.
111804         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111805         fnmatch.h, to avoid AC_CONFIG_LINKS.
111806         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111808 2003-06-07  Bruno Haible  <bruno@clisp.org>
111810         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111811         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111812         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111813         directory.
111814         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111815         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111816         directory.
111818 2003-06-06  Jim Meyering  <jim@meyering.net>
111820         Merge from coreutils.
111821         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111822         Consolidate declarations and initializations of *_base* locals.
111824         Merge from coreutils.
111825         This avoids a core dump on systems without GNU putenv,
111826         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111827         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111828         (unsetenv): New static function, from GNU libc.
111829         (rpl_putenv): Use it.
111831         * lib/modechange.c: Remove trailing blanks.
111833         Merge from coreutils.
111834         * lib/fsusage.c: Remove declaration of statfs.
111835         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111837         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111839 2003-06-06  Jim Meyering  <jim@meyering.net>
111841         * lib/stdbool_.h: Renamed from stdbool.h.in.
111843 2003-06-06  Jim Meyering  <jim@meyering.net>
111844             Bruno Haible  <bruno@clisp.org>
111846         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111847         Adjust Makefile.am snippet not to redirect directly to target.
111848         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111850 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111852         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111853         mismatch, look in future quarters as well as past.  This fixes a
111854         bug when processing fall-backwards gaps immediately after a long
111855         period of daylight-saving time.
111857         * lib/mktime.c: Assume freestanding C89 or better.
111858         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111859         (__P): Remove; not used.
111860         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111861         (mktime, not_equal_tm, print_tm, check_result,
111862         main): Use prototypes.  Use const * where appropriate.
111863         (main): Fix typo in testing code that uncovered by above changes.
111864         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111866 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111868         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111869         locale.h, localeconv.  This merges changes from coreutils.
111871         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111872         It can be removed after the next Autoconf is released.
111873         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111874         needed.
111876 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111878         * lib/mktime.c: Fix Debian bug 177940
111879         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111880         (localtime_offset): Now long int, not time_t, because we want it
111881         to be guaranteed to be signed.  All uses changed.
111882         (__mktime_internal): If overflow would occur when adding offset,
111883         don't add it.
111885         Merge 'human' changes from coreutils.  Rewrite to support
111886         locale-specific notations like thousands separators.
111887         * lib/human.c: Simplify authorship notice.
111888         Include human.h immediately after config.h.
111889         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111890         <limits.h>: Do not include, since human.h does.
111891         (SIZE_MAX, UINTMAX_MAX): New macros.
111892         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111893         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111894         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111895         (power_letter): Renamed from suffixes.
111896         (generate_suffix_backwards): Remove.
111897         (adjust_value): Now takes int style (because of human.h changes)
111898         and long double value (for greater precision on some platforms).
111899         (group_number): New function.
111900         (human_readable): Use it.  Use integer options, not enum.
111901         Put the options before the sizes in the arg list.
111902         Support all the new options.
111903         The old human_readable function has been removed;
111904         use inttostr.h instead.
111905         (human_readable, default_block_size, humblock):
111906         Use uintmax_t, not int, for block sizes.
111907         (human_readable_inexact, block_size_types): Remove.
111908         (block_size_opts): New constant.
111909         (human_options): Renamed from human_block_size, with new signature
111910         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111911         * lib/human.h: Add copyright and authorship notice.
111912         Include <limits.h> and <stdbool.h> unconditionally.
111913         (PARAMS): Remove.  All uses removed.
111914         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111915         (enum human_inexact_style): Remove tag; now a nameless enum.
111916         (human_floor, human_ceiling, human_round_to_even): Now have
111917         values 2, 0, 1 rather than -1, 1, 0.
111918         (human_group_digits, human_suppress_point_zero, human_autoscale,
111919         human_base_1024, human_SI, human_B): New constants.
111920         (human_readable_inexact, human_block_size): Remove.
111921         (human_readable): Size args are now uintmax_t, not int.
111922         (human_options): New decl.
111924         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111925         unnecessary now that we assume C89 or better.  This change
111926         imported from coreutils.
111928         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111929         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111930         in the 2003-05-30 sync from glibc.
111932         .h files should stand alone, but we shouldn't include <sys/types.h>
111933         if we can get away with just <stddef.h>.
111935         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111936         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111937         rather than <sys/types.h>, as we merely need size_t.
111938         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111939         to get size_t.
111940         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111941         Include <stdio.h>, to get FILE.
111942         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111943         memcasecmp.h has included <stddef.h> and all we need is size_t.
111944         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111945         our interface, instead of including <sys/types.h>
111947 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111949         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111950         now, as glibc mktime is buggy on non-glibc systems.
111952 2003-06-03  Karl Berry  <karl@gnu.org>
111954         * config/config.sub: update from prep.
111956 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111958         [from coreutils]
111959         Fix some minor time-related bugs with POSIX time arguments.
111960         Some valid time stamps were being rejected (notably -1, and
111961         time stamps before 1900 on 64-bit hosts).  And some invalid
111962         time stamps were being accepted, e.g. September 31.
111964         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
111965         that we can return (time_t) -1 successfully.
111966         * lib/posixtm.c: Likewise.
111967         [HAVE_STDBOOL_H]: Include <stdbool.h>.
111968         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
111969         (t): Remove static var.
111970         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
111971         of static var.  All uses changed.
111972         (year): Do not reject years before 1900; they can occur with
111973         64-bit time_t.
111974         (posix_time_parse): Do not check for out-of-range components;
111975         that is now the caller's responsibility, since our checks were
111976         only approximations.
111977         (posixtime): Use mktime to check for out-of-range components,
111978         since it knows them exactly.
111979         If mktime returns (time_t) -1, check whether an error actually occurred
111980         by invoking localtime on -1.
111981         (main) [TEST_POSIXTIME]: Check for input data errors, and report
111982         posixtime failures better.
111983         Improve the test data (in comments only).
111985 2003-06-02  Karl Berry  <karl@gnu.org>
111987         * config/mkinstalldirs (version): new variable.
111988         (--version): new option.
111989         (usage): improve message.
111991 2003-05-30  Karl Berry  <karl@gnu.org>
111993         * lib/mktime.c: update from libc.
111995 2003-05-30  Bruno Haible  <bruno@clisp.org>
111997         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
111998         * config/config.rpath: Upgrade to gettext-0.12.1.
112000 2003-05-30  Bruno Haible  <bruno@clisp.org>
112002         * m4/gettext.m4: Upgrade to gettext-0.12.1.
112003         * m4/nls.m4: New file, from gettext-0.12.1.
112004         * m4/po.m4: New file, from gettext-0.12.1.
112005         * m4/progtest.m4: Upgrade to gettext-0.12.1.
112007 2003-05-30  Bruno Haible  <bruno@clisp.org>
112009         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
112010         * lib/localcharset.h: Likewise.
112011         * lib/localcharset.c: Likewise.
112013 2003-05-29  Karl Berry  <karl@gnu.org>
112015         * config/config.rpath: update from gettext.
112017 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112019         Assume the headers required for C89 freestanding compilers.
112020         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
112021         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
112022         * m4/human.m4 (gl_HUMAN): Likewise.
112023         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
112024         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
112025         * m4/userspec.m4 (gl_USERSPEC): Likewise.
112026         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
112027         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
112028         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
112030 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112032         Assume the headers required for C89 freestanding compilers.
112033         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
112034         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
112035         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
112036         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
112037         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
112038         define, since <limits.h> is guaranteed to do that.
112039         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
112040         * lib/exclude.c: Include <stdbool.h> unconditionally.
112041         * lib/tempname.c: Include <stddef.h> unconditionally.
112042         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
112043         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
112044         <stddef.h> does that.
112045         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
112046         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
112047         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
112048         needed.
112049         * lib/xstrtol.c: Likewise.
112050         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
112051         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
112053         * lib/addext.c (addext): Use assignment rather than cast, to avoid
112054         warnings on some platforms.
112056         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
112057         arbitrarily.
112059 2003-05-26  Jim Meyering  <jim@meyering.net>
112061         Merge in a change from coreutils:
112062         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
112063         that is guaranteed to be `no'.  Use `no_such_member' to indicate
112064         that condition, rather than `-1' which is slightly misleading.
112065         Change the name of the cache variable to have the gl_ prefix.
112066         Prompted by a patch from Richard Dawe for DJGPP.
112068 2003-05-24  Karl Berry  <karl@gnu.org>
112070         * config/config.guess: update from prep.
112072 2003-05-22  Karl Berry  <karl@gnu.org>
112074         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
112076 2003-05-20  Karl Berry  <karl@gnu.org>
112078         * config/config.guess: update from prep.
112080 2003-05-18  Karl Berry  <karl@gnu.org>
112082         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
112083         might actually be set by the user.
112085         * config/depcomp, install-sh, mdate-sh: update from automake.
112087 2003-05-17  Bruno Haible  <bruno@clisp.org>
112089         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
112090         invalid expansion for AC_EGREP_CPP.
112091         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
112092         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
112093         Suggested by Akim Demaille <akim@epita.fr> in
112094         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
112096 2003-05-12  Jim Meyering  <jim@meyering.net>
112098         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
112099         the space-padded-by-default conversion specifiers, %e, %k, %l.
112101 2003-05-12  Bruno Haible  <bruno@clisp.org>
112103         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
112104         the string is longer than 4 KB.
112106 2003-05-11  Karl Berry  <karl@gnu.org>
112108         * config/config.{guess,sub}: update from prep.
112110 2003-05-09  Bruno Haible  <bruno@clisp.org>
112112         * modules/error: Add m4/strerror_r.m4 to file list.
112114 2003-05-03  Bruno Haible  <bruno@clisp.org>
112116         Upgrade to Unicode-4.0.
112117         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
112118         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
112119         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
112120         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
112121         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
112122         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
112123         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
112124         Change width of U+E0100..U+E01EF from 1 to 0.
112126 2003-04-25  Jim Meyering  <jim@meyering.net>
112128         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
112129         of type size_t, not int.
112131 2003-04-25  Bruno Haible  <bruno@clisp.org>
112133         * lib/copy-file.c: Include <stddef.h>, for size_t.
112135 2003-04-21  Paul Eggert  <eggert@twinsun.com>
112137         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
112138         code which expansion is under static control.  Patch imported from
112139         Akim Demaille's patch to Bison; see
112140         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
112142 2003-04-14  Bruno Haible  <bruno@clisp.org>
112144         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
112146 2003-04-11  Jim Meyering  <jim@meyering.net>
112148         Merge changes from Coreutils.
112150         2003-03-22  Jim Meyering  <jim@meyering.net>
112152         * lib/strftime.c (widen): Cast alloca return value to proper type.
112154         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
112156         From GNU libc.
112157         * lib/strftime.c (my_strftime): Handle very large width
112158         specifications for numeric values correctly.  Improve checks for
112159         overflow.
112161         2003-01-19  Jim Meyering  <jim@meyering.net>
112163         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
112164         definitions.
112165         (nl_get_alt_digit) [! defined my_strftime]: Define.
112166         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
112167         _nl_get_alt_digit and _nl_get_walt_digit.
112169         * lib/strftime.c (my_strftime): Merge in locale-related changes from
112170         libc. These changes have no effect outside of _LIBC.
112172 2003-04-10  Bruno Haible  <bruno@clisp.org>
112174         * modules/findprog: New file.
112175         * MODULES.html.sh (func_all_modules): Add it.
112177 2003-04-10  Bruno Haible  <bruno@clisp.org>
112179         * m4/findprog.m4: New file.
112180         * m4/eaccess.m4: New file.
112182 2003-04-10  Bruno Haible  <bruno@clisp.org>
112184         * lib/findprog.h: New file, from GNU gettext.
112185         * lib/findprog.c: New file, from GNU gettext.
112187 2003-04-05  Jim Meyering  <jim@meyering.net>
112189         Merge changes from Coreutils.
112191         * lib/exclude.h (PARAMS): Remove definition and uses.
112192         * lib/exclude.c: Remove uses of `PARAMS'.
112194         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
112195         Add test-cases for DOS filenames. Declare program_name.
112196         (main): Set up program_name.  Patch by Rich Dawe.
112198         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
112199         error from mntctl.
112200         Use mntctl's return value to drive the entry-processing loop, since
112201         we can't rely on the value of the vmt_length member in the last
112202         entry.  On some systems doing so could result in exhausting
112203         virtual memory.  Based in part on a patch from Mike Jetzer.
112205 2003-04-04  Bruno Haible  <bruno@clisp.org>
112207         * modules/linebreak: New file.
112208         * MODULES.html.sh (func_all_modules): Add it.
112210 2003-04-04  Bruno Haible  <bruno@clisp.org>
112212         * m4/linebreak.m4: New file.
112214 2003-04-04  Bruno Haible  <bruno@clisp.org>
112216         * lib/linebreak.h: New file, from GNU gettext.
112217         * lib/linebreak.c: New file, from GNU gettext with slight
112218         modifications.
112219         * lib/lbrkprop.h: New file, from GNU gettext.
112221 2003-04-03  Bruno Haible  <bruno@clisp.org>
112223         * modules/utf8-ucs4: New file.
112224         * modules/utf16-ucs4: New file.
112225         * modules/ucs4-utf8: New file.
112226         * modules/ucs4-utf16: New file.
112227         * MODULES.html.sh (func_all_modules): Add them.
112229 2003-04-03  Bruno Haible  <bruno@clisp.org>
112231         * m4/utf-ucs4.m4: New file.
112232         * m4/ucs4-utf.m4: New file.
112234 2003-04-03  Bruno Haible  <bruno@clisp.org>
112236         * lib/utf8-ucs4.h: New file, from GNU gettext.
112237         * lib/utf16-ucs4.h: New file, from GNU gettext.
112238         * lib/ucs4-utf8.h: New file, from GNU gettext.
112239         * lib/ucs4-utf16.h: New file, from GNU gettext.
112241 2003-04-02  Bruno Haible  <bruno@clisp.org>
112243         * modules/binary-io: New file.
112244         * MODULES.html.sh (func_all_modules): Add it.
112246 2003-04-02  Bruno Haible  <bruno@clisp.org>
112248         * lib/binary-io.h: New file, from GNU gettext.
112250 2003-04-01  Bruno Haible  <bruno@clisp.org>
112252         * modules/pathname: New file.
112253         * MODULES.html.sh (func_all_modules): Add it.
112255 2003-04-01  Bruno Haible  <bruno@clisp.org>
112257         * lib/pathname.h: New file, from GNU gettext.
112258         * lib/concatpath.c: New file, from GNU gettext.
112260 2003-03-30  Bruno Haible  <bruno@clisp.org>
112262         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
112264 2003-03-30  Bruno Haible  <bruno@clisp.org>
112266         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
112267         function chown() doesn't exist.
112269 2003-03-28  Bruno Haible  <bruno@clisp.org>
112271         * modules/copy-file: New file.
112272         * MODULES.html.sh (func_all_modules): Add it.
112274 2003-03-28  Bruno Haible  <bruno@clisp.org>
112276         * m4/copy-file.m4: New file.
112278 2003-03-28  Bruno Haible  <bruno@clisp.org>
112280         * lib/copy-file.h: New file, from GNU gettext.
112281         * lib/copy-file.c: New file, from GNU gettext.
112283 2003-03-18  Jim Meyering  <jim@meyering.net>
112285         * lib/quote.c (quote_n): Fix typo in comment.
112287 2003-03-18  Bruno Haible  <bruno@clisp.org>
112289         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
112290         checking.
112291         * m4/onceonly_2_57.m4: Likewise.
112293 2003-03-17  Bruno Haible  <bruno@clisp.org>
112295         * m4/onceonly.m4: Require autoconf 2.54 or newer.
112296         (m4_quote): Remove macro.
112297         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
112299 2003-03-14  Jim Meyering  <jim@meyering.net>
112301         Merge changes from Coreutils.
112302         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
112303         to be const, in order to avoid warnings.
112304         (obstack_room): Likewise.
112305         (obstack_empty_p): Likewise.
112307 2003-03-14  Bruno Haible  <bruno@clisp.org>
112309         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
112310         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
112312 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112314         Merge changes from Bison.
112315         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
112316         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
112317         when compiling Bison 1.875's `bitset bset = obstack_alloc
112318         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
112319         * lib/hash.c: Include <stdbool.h> unconditionally.
112321 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112323         * m4/onceonly.m4 (m4_quote): New macro.
112324         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
112325         Quote AC_FOREACH variable-expansions properly.
112327 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112329         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
112331 2003-03-09  Paul Eggert  <eggert@twinsun.com>
112333         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
112334         Reported by Bruce Becker; see:
112335         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
112337 2003-03-03  Paul Eggert  <eggert@twinsun.com>
112338             Bruno Haible  <bruno@clisp.org>
112340         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
112341         Reported by John Hughes, see
112342         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
112344 2003-02-20  Bruno Haible  <bruno@clisp.org>
112346         * MODULES.html.sh (func_all_modules): Add poll.
112348 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112350         * modules/poll: New file.
112352 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112354         * lib/poll_.h: New file.
112355         * lib/poll.c: New file.
112357 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112359         * m4/poll.m4: New file.
112361 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112363         * modules/mathl: New file.
112365 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112367         * lib/mathl.h: New file.
112368         * lib/acosl.c: New file.
112369         * lib/asinl.c: New file.
112370         * lib/atanl.c: New file.
112371         * lib/ceill.c: New file.
112372         * lib/cosl.c: New file.
112373         * lib/expl.c: New file.
112374         * lib/floorl.c: New file.
112375         * lib/frexpl.c: New file.
112376         * lib/ldexpl.c: New file.
112377         * lib/logl.c: New file.
112378         * lib/sincosl.c: New file.
112379         * lib/sinl.c: New file.
112380         * lib/sqrtl.c: New file.
112381         * lib/tanl.c: New file.
112382         * lib/trigl.c: New file.
112383         * lib/trigl.h: New file.
112385 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112387         * m4/mathl.m4: New file.
112389 2003-02-18  Bruno Haible  <bruno@clisp.org>
112391         * MODULES.html.sh (func_all_modules): Add mathl.
112393 2003-02-17  Bruno Haible  <bruno@clisp.org>
112395         * modules/mkdtemp: New module.
112396         * MODULES.html.sh (func_all_modules): Add it.
112398 2003-02-17  Bruno Haible  <bruno@clisp.org>
112400         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
112402 2003-02-17  Bruno Haible  <bruno@clisp.org>
112404         * lib/mkdtemp.h: New file, from GNU gettext.
112405         * lib/mkdtemp.c: New file, from GNU gettext.
112407 2003-02-02  Jim Meyering  <jim@meyering.net>
112409         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
112410         e.g. glibc-2.2.93.
112412 2003-01-31  Bruno Haible  <bruno@clisp.org>
112414         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
112415         'rpl_rename'.
112416         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
112417         'rpl_strnlen'.
112418         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
112419         'rpl_strtod'.
112420         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
112421         'rpl_utime'.
112423 2003-01-31  Bruno Haible  <bruno@clisp.org>
112425         * lib/rename.c: #undef rename before defining rpl_rename.
112426         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
112428 2003-01-30  Bruno Haible  <bruno@clisp.org>
112430         * modules/vasnprintf, modules/vasprintf: New modules.
112431         * MODULES.html.sh (func_all_modules): Add them.
112433 2003-01-30  Bruno Haible  <bruno@clisp.org>
112435         * m4/signed.m4: New file, from GNU gettext.
112436         * m4/longdouble.m4: New file, from GNU gettext.
112437         * m4/wchar_t.m4: New file, from GNU gettext.
112438         * m4/wint_t.m4: New file, from GNU gettext.
112439         * m4/vasnprintf.m4: New file.
112440         * m4/vasprintf.m4: New file.
112442 2003-01-30  Bruno Haible  <bruno@clisp.org>
112444         * lib/printf-args.h: New file, from GNU gettext.
112445         * lib/printf-args.c: New file, from GNU gettext.
112446         * lib/printf-parse.h: New file, from GNU gettext.
112447         * lib/printf-parse.c: New file, from GNU gettext.
112448         * lib/vasnprintf.h: New file, from GNU gettext.
112449         * lib/vasnprintf.c: New file, from GNU gettext.
112450         * lib/asnprintf.c: New file, from GNU gettext.
112451         * lib/vasprintf.h: New file, from GNU gettext with modifications.
112452         * lib/vasprintf.c: New file, from GNU gettext.
112453         * lib/asprintf.c: New file, from GNU gettext.
112455 2003-01-29  Bruno Haible  <bruno@clisp.org>
112457         * modules/stpncpy: New module.
112458         * MODULES.html.sh (func_all_modules): Add it.
112460 2003-01-29  Bruno Haible  <bruno@clisp.org>
112462         * m4/stpncpy.m4: New file.
112464 2003-01-29  Bruno Haible  <bruno@clisp.org>
112466         * lib/stpncpy.h: New file, from GNU gettext with modifications.
112467         * lib/stpncpy.c: New file, from GNU gettext with modifications.
112469 2003-01-28  Bruno Haible  <bruno@clisp.org>
112471         * modules/c-ctype: New module.
112472         * MODULES.html.sh (func_all_modules): Add it.
112474 2003-01-28  Bruno Haible  <bruno@clisp.org>
112476         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
112477         Paul Eggert.
112478         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
112479         Paul Eggert.
112481 2003-01-27  Bruno Haible  <bruno@clisp.org>
112483         * modules/xsetenv: New module.
112484         * MODULES.html.sh (func_all_modules): Add it.
112486 2003-01-27  Bruno Haible  <bruno@clisp.org>
112488         * lib/xsetenv.h: New file, from GNU gettext.
112489         * lib/xsetenv.c: New file, from GNU gettext.
112491 2003-01-23  Jim Meyering  <jim@meyering.net>
112493         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
112494         from working on systems without dirfd (at least Irix and OSF1/Tru64).
112496 2003-01-23  Bruno Haible  <bruno@clisp.org>
112498         * modules/minmax: New module.
112499         * MODULES.html.sh (func_all_modules): Add it.
112501 2003-01-23  Bruno Haible  <bruno@clisp.org>
112503         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
112504         Eggert.
112506 2003-01-22  Bruno Haible  <bruno@clisp.org>
112508         * modules/exit: New module.
112509         * MODULES.html.sh (func_all_modules): Add it.
112511 2003-01-22  Bruno Haible  <bruno@clisp.org>
112513         * lib/exit.h: New file, from GNU gettext.
112515 2003-01-19  Bruno Haible  <bruno@clisp.org>
112517         * gnulib-tool: Recognize option --extract-maintainer.
112518         (func_get_maintainer): New function.
112519         * modules/*: Add Maintainer entry.
112521 2003-01-16  Jim Meyering  <jim@meyering.net>
112523         * m4/regex.m4: The `regex' struct is both input and output.
112524         Initialize it before each use.  Patch by Tim Waugh.
112526 2003-01-16  Bruno Haible  <bruno@clisp.org>
112528         * MODULES.html.sh: Add a table of contents. Add the module name as
112529         leftmost column. Add hyperlinks.
112531 2003-01-15  Bruno Haible  <bruno@clisp.org>
112533         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
112535 2003-01-15  Bruno Haible  <bruno@clisp.org>
112537         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
112538         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
112539         suffix.
112541 2003-01-15  Bruno Haible  <bruno@clisp.org>
112543         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
112545 2003-01-15  Bruno Haible  <bruno@clisp.org>
112547         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
112548         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
112550 2003-01-14  Jim Meyering  <jim@meyering.net>
112552         * lib/same.c (same_name): Tweak a comment.
112554 2003-01-14  Bruno Haible  <bruno@clisp.org>
112556         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
112557         when a string comparison is sufficient.
112559 2003-01-14  Bruno Haible  <bruno@clisp.org>
112561         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
112562         'unsigned int'.
112564 2003-01-14  Bruno Haible  <bruno@clisp.org>
112566         * lib/hash-pjw.c: Add comment about low quality of this function.
112568 2003-01-13  Bruno Haible  <bruno@clisp.org>
112570         * modules/stpcpy: Distribute lib/stpcpy.h.
112571         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
112573 2003-01-13  Bruno Haible  <bruno@clisp.org>
112575         * modules/*: Add a description.
112576         * modules/strpbrk: Fix Makefile.am snippet.
112577         * modules/strtoimax: Fix dependencies.
112578         * modules/strtoumax: Likewise.
112580 2003-01-13  Bruno Haible  <bruno@clisp.org>
112582         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
112583         * modules/alloca (Makefile.am): All object files depend on alloca.h.
112584         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
112586 2003-01-13  Bruno Haible  <bruno@clisp.org>
112588         * gnulib-tool (func_create_testdir): Store config/* files in the main
112589         directory.
112590         * config.rpath: Move to ...
112591         * config/config.rpath: ... here.
112592         * modules/gettext: Contains config/config.rpath, not config.rpath.
112593         * modules/iconv: Likewise.
112595 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112597         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112598         to avoid collisions with libcurses and libreadline.
112600         * m4/getstr.m4: Remove.
112601         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
112603 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112605         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112606         to avoid collisions with libcurses and libreadline.
112608         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
112609         * lib/getstr.h, getstr.c: Remove.
112610         * lib/getline.c: Include "getline.h", to check interface.
112611         Move body of old getstr.c here: this defines MIN_CHUNK and
112612         declares getdelim2, which is renamed from getstr.
112613         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
112615         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
112616         All uses changed.
112617         * lib/linebuffer.h: Likewise.
112618         (readline): Remove backward-compatibility macro.
112620 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112622         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112623         to avoid collisions with libcurses and libreadline.
112624         * getstr: Remove.
112625         * MODULES.html.sh: Remove getstr.
112626         * modules/getline: Depend on unlocked-io, not getstr.
112628 2003-01-12  Jim Meyering  <jim@meyering.net>
112630         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
112632 2003-01-10  Bruno Haible  <bruno@clisp.org>
112634         * modules/alloca: Change Makefile.am requirements. Simplify Include
112635         requirements. Add lib/alloca_.h to file list.
112637 2003-01-10  Bruno Haible  <bruno@clisp.org>
112639         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
112641 2003-01-10  Bruno Haible  <bruno@clisp.org>
112643         * lib/alloca_.h: New file.
112644         * lib/getdate.y: Unconditionally include alloca.h.
112645         * lib/makepath.c: Likewise.
112646         * lib/setenv.c: Likewise.
112647         * lib/userspec.c: Likewise.
112649 2003-01-09  Karl Berry  <karl@gnu.org>
112651         * MODULES.html.sh: include `dirname $0` in PATH, to find
112652         gnulib-tool.
112654 2003-01-09  Bruno Haible  <bruno@clisp.org>
112656         * modules/stdbool: Change configure.ac, Makefile.am requirements.
112657         Simplify Include requirements. Add lib/stdbool.h.in to file list.
112659 2003-01-09  Bruno Haible  <bruno@clisp.org>
112661         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
112663 2003-01-09  Bruno Haible  <bruno@clisp.org>
112665         * lib/stdbool.h.in: New file.
112667 2003-01-09  Bruno Haible  <bruno@clisp.org>
112669         * gnulib-tool (func_all_modules): Ignore files ending in ~.
112670         * MODULES.html.sh: Likewise.
112672 2003-01-08  Jim Meyering  <jim@meyering.net>
112674         * lib/full-write.c: Undefine and define-away `const' after inclusion
112675         of errno.h, not before.  Suggestion from Bruno Haible.
112677 2003-01-08  Bruno Haible  <bruno@clisp.org>
112679         * modules/full-read: Depend on full-write.
112681 2003-01-08  Bruno Haible  <bruno@clisp.org>
112683         * lib/safe-read.c: Include specification header first, to ensure its
112684         selfcontainedness.
112685         * lib/full-write.c: Likewise.
112687 2003-01-07  Jim Meyering  <jim@meyering.net>
112689         * lib/full-write.c: Rework so that it may serve to define full_read,
112690         too.
112691         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
112693 2003-01-07  Bruno Haible  <bruno@clisp.org>
112695         * lib/strtoimax.c: Include <stdint.h> as an alternative to
112696         <inttypes.h>.
112697         * lib/xstrtol.h: Likewise.
112698         * lib/xstrtoimax.c: Likewise.
112699         * lib/xstrtoumax.c: Likewise.
112700         * lib/human.h: Likewise.
112702         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
112703         on systems that have <inttypes.h> but not <stdint.h>.
112705 2003-01-07  Bruno Haible  <bruno@clisp.org>
112707         * MODULES.html.sh: Add copyright notice.
112708         (missed_files): Omit CVS directory entries.
112709         (func_module): Make it work with sed-3.02.
112710         * MODULES.txt: Remove file.
112712 2003-01-06  Jim Meyering  <jim@meyering.net>
112714         * lib/version-etc.c: Update year in translatable copyright string.
112716 2003-01-03  Karl Berry  <karl@gnu.org>
112718         * config/config.{guess,sub}: update from prep.
112720 2003-01-02  Karl Berry  <karl@gnu.org>
112722         * doc/COPYING.DOC: belatedly updated to 1.2.
112724 2003-01-01  Karl Berry  <karl@gnu.org>
112726         * gnulib-tool (func_verify_module): report module name $module in
112727         error message, not $1.
112728         * gnulib-tool (create-testdir): don't complain if destdir couldn't
112729         be created, only if it doesn't exist.
112730         * gnulib-tool (last_checkin_date): don't expand the $Date here.
112732 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112734         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
112736 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112738         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
112739         memcmp if strcoll doesn't work.
112741 2002-12-31  Bruno Haible  <bruno@clisp.org>
112743         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112744         nonempty.
112746 2002-12-31  Bruno Haible  <bruno@clisp.org>
112748         * lib/memcoll.c (STRCOLL): New macro.
112749         (memcoll): Use it.
112751 2002-12-31  Bruno Haible  <bruno@clisp.org>
112753         * lib/localcharset.h: New file.
112754         * lib/localcharset.c: Include it.
112755         * lib/unicodeio.c: Likewise.
112757 2002-12-31  Bruno Haible  <bruno@clisp.org>
112759         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112760         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112762 2002-12-31  Bruno Haible  <bruno@clisp.org>
112764         * lib/getline.h: Include <stddef.h>, for size_t.
112766         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112767         * lib/unicodeio.c: Don't include <stddef.h>.
112769 2002-12-31  Bruno Haible  <bruno@clisp.org>
112771         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112772         HAVE_TM_ZONE.
112774 2002-12-24  Karl Berry  <karl@gnu.org>
112776         * config/config.guess: update from prep.
112778 2002-12-24  Bruno Haible  <bruno@clisp.org>
112780         General infrasructure.
112781         * m4/README: Rewritten.
112782         * m4/onceonly.m4: New file.
112783         * m4/onceonly_2_57.m4: New file.
112785         Module atexit.
112786         * m4/atexit.m4: New file.
112788         Module strtod.
112789         * m4/strtod.m4: New file.
112791         Module strtol.
112792         * m4/strtol.m4: New file.
112794         Module strtoul.
112795         * m4/strtoul.m4: New file.
112797         Module memchr.
112798         * m4/memchr.m4: New file.
112800         Module memcmp.
112801         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112802         (jm_FUNC_MEMCMP): Invoke it.
112804         Module memcpy.
112805         * m4/memcpy.m4: New file.
112807         Module memmove.
112808         * m4/memmove.m4: New file.
112810         Module memset.
112811         * m4/memset.m4: New file.
112813         Module strcspn.
112814         * m4/strcspn.m4: New file.
112816         Module strpbrk.
112817         * m4/strpbrk.m4: New file.
112819         Module strstr.
112820         * m4/strstr.m4: New file.
112822         Module strerror.
112823         * m4/strerror.m4: New file.
112825         Module mktime.
112826         * m4/mktime.m4: Renamed from jm-mktime.m4.
112827         (gl_PREREQ_MKTIME): New macro.
112828         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112830         Module malloc.
112831         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112832         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112833         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112835         Module realloc.
112836         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112837         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112838         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112840         Module strftime.
112841         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112842         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112843         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112844         gl_TM_GMTOFF.
112845         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112847         Module xalloc.
112848         * m4/xalloc.m4: New file.
112850         Module alloca.
112851         * m4/alloca.m4: New file.
112853         Module putenv.
112854         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112855         (jm_FUNC_PUTENV): Invoke it.
112857         Module setenv.
112858         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112859         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112860         when invoked twice.
112861         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112862         gt_FUNC_SETENV.
112864         Module memrchr.
112865         * m4/memrchr.m4: New file.
112867         Module stpcpy.
112868         * m4/stpcpy.m4: New file.
112870         Module strcase.
112871         * m4/strcase.m4: New file.
112873         Module strdup.
112874         * m4/strdup.m4: New file.
112876         Module strnlen.
112877         * m4/strnlen.m4: New file.
112879         Module strndup.
112880         * m4/strndup.m4: New file.
112882         Module xstrtod.
112883         * m4/xstrtod.m4: New file.
112885         Module xstrtol.
112886         * m4/xstrtol.m4: New file.
112888         Module getdate.
112889         * m4/getdate.m4: New file.
112891         Module unlocked-io.
112892         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112893         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112894         * m4/jm-glibc-io.m4n: Remove file.
112896         Module long-options.
112897         * m4/long-options.m4: New file.
112899         Module md5.
112900         * m4/md5.m4: New file.
112902         Module sha.
112903         * m4/sha.m4: New file.
112905         Module getstr.
112906         * m4/getstr.m4: New file.
112908         Module getline.
112909         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112910         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112911         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112912         simply getline. Infoke gl_PREREQ_GETLINE.
112914         Module obstack.
112915         * m4/obstack.m4: New file.
112917         Module hash.
112918         * m4/hash.m4: New file.
112920         Module readtokens.
112921         * m4/readtokens.m4: New file.
112923         Module strverscmp.
112924         * m4/strverscmp.m4: New file.
112926         Module stdbool.
112927         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112928         OSF/1.
112930         Module strtoll.
112931         * m4/strtoll.m4: New file.
112933         Module strtoull.
112934         * m4/strtoull.m4: New file.
112936         Module strtoimax.
112937         * m4/strtoimax.m4: New file.
112939         Module strtoumax.
112940         * m4/strtoumax.m4: New file.
112942         Module xstrtoimax.
112943         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112944         jm_AC_PREREQ_XSTRTOIMAX.
112945         Moved the strtol prerequisites to strtol.m4.
112946         Moved the strtoll prerequisites to strtoll.m4.
112947         Moved the strtoimax prerequisites to strtoimax.m4.
112949         Module xstrtoumax.
112950         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112951         jm_AC_PREREQ_XSTRTOUMAX.
112952         Moved the strtoul prerequisites to strtoul.m4.
112953         Moved the strtoull prerequisites to strtoull.m4.
112954         Moved the strtoumax prerequisites to strtoumax.m4.
112956         Module chown.
112957         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112958         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112960         Module dup2.
112961         * m4/dup2.m4: New file.
112963         Module ftruncate.
112964         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
112965         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
112967         Module getgroups.
112968         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
112969         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
112971         Module gettimeofday.
112972         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
112973         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
112974         gl_PREREQ_GETTIMEOFDAY.
112976         Module mkdir.
112977         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
112978         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
112980         Module mkstemp.
112981         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
112982         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
112983         jm_AC_TYPE_UINTMAX_T.
112984         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
112986         Module stat.
112987         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
112988         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
112990         Module lstat.
112991         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
112992         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
112994         Module timespec.
112995         * m4/timespec.m4 (gl_TIMESPEC): New macro.
112996         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
112997         * m4/st_mtim.m4: Indentation.
112999         Module nanosleep.
113000         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
113001         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
113002         gl_PREREQ_NANOSLEEP.
113004         Module regex.
113005         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
113006         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
113007         (gl_REGEX): New macro.
113009         Module rename.
113010         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
113011         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
113013         Module rmdir.
113014         * m4/rmdir.m4: New file.
113016         Module utime.
113017         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
113018         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
113019         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
113021         Module dirname.
113022         * m4/dirname.m4: New file.
113024         Module getopt.
113025         * m4/getopt.m4: New file.
113027         Module unistd-safer.
113028         * m4/unistd-safer.m4: New file.
113030         Module fnmatch.
113031         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
113032         declaration.
113033         (gl_PREREQ_FNMATCH_EXTRA): New macro.
113034         (gl_FUNC_FNMATCH_POSIX): New macro.
113035         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
113036         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
113037         simply fnmatch.
113039         Module exclude.
113040         * m4/exclude.m4: New file.
113042         Module human.
113043         * m4/human.m4: New file.
113045         Module acl.
113046         * m4/acl.m4: Nop.
113048         Module backupfile.
113049         * m4/backupfile.m4: New file.
113050         * m4/d-ino.m4: Indentation.
113052         Module fsusage.
113053         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
113054         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
113055         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
113057         Module dirfd.
113058         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
113059         requirements.
113061         Module euidaccess.
113062         * m4/euidaccess.m4: New file.
113064         Module file-type.
113065         * m4/file-type.m4: New file.
113067         Module fileblocks.
113068         * m4/fileblocks.m4: New file.
113070         Module filemode.
113071         * m4/filemode.m4: New file.
113073         Module isdir.
113074         * m4/isdir.m4: New file.
113076         Module lchown.
113077         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
113078         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
113080         Module makepath.
113081         * m4/makepath.m4: New file.
113083         Module modechange.
113084         * m4/modechange.m4: New file.
113086         Module mountlist.
113087         * m4/mountlist.m4: New file.
113088         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
113089         Indentation.
113091         Module path-concat.
113092         * m4/path-concat.m4: New file.
113094         Module pathmax.
113095         * m4/pathmax.m4: New file.
113097         Module same.
113098         * m4/same.m4: New file.
113100         Module save-cwd.
113101         * m4/save-cwd.m4: New file.
113103         Module savedir.
113104         * m4/savedir.m4: New file.
113106         Module xgetcwd.
113107         * m4/xgetcwd.m4: New file.
113108         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
113110         Module xreadlink.
113111         * m4/xreadlink.m4: New file.
113113         Module safe-read.
113114         * m4/safe-read.m4: New file.
113116         Module safe-write.
113117         * m4/safe-write.m4: New file.
113119         Module closeout.
113120         * m4/closeout.m4: New file.
113122         Module stdio-safer.
113123         * m4/stdio-safer.m4: New file.
113125         Module getpass.
113126         * m4/getpass.m4: New file.
113128         Module getugroups.
113129         * m4/getugroups.m4: New file.
113131         Module group-member.
113132         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
113133         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
113135         Module idcache.
113136         * m4/idcache.m4: New file.
113138         Module userspec.
113139         * m4/userspec.m4: New file.
113141         Module gettime.
113142         * m4/clock_time.m4: New file.
113143         * m4/gettime.m4: New file.
113145         Module settime.
113146         * m4/settime.m4: New file.
113148         Module posixtm.
113149         * m4/posixtm.m4: New file.
113151         Module gethostname.
113152         * m4/gethostname.m4: New file.
113154         Module canon-host.
113155         * m4/canon-host.m4: New file.
113157         Module gettext.
113158         * m4/codeset.m4: New file, from gettext-0.11.5.
113159         * m4/gettext.m4: New file, from gettext-0.11.5.
113160         * m4/glibc21.m4: New file, from gettext-0.11.5.
113161         * m4/iconv.m4: New file, from gettext-0.11.5.
113162         * m4/intdiv0.m4: New file, from gettext-0.11.5.
113163         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
113164         * m4/inttypes.m4: New file, from gettext-0.11.5.
113165         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
113166         * m4/isc-posix.m4: New file, from gettext-0.11.5.
113167         * m4/lcmessage.m4: New file, from gettext-0.11.5.
113168         * m4/lib-ld.m4: New file, from gettext-0.11.5.
113169         * m4/lib-link.m4: New file, from gettext-0.11.5.
113170         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
113171         * m4/progtest.m4: New file, from gettext-0.11.5.
113172         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
113173         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
113174         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
113176         Module localcharset.
113177         * m4/localcharset.m4: New file.
113179         Module hard-locale.
113180         * m4/hard-locale.m4: New file.
113182         Module mbswidth.
113183         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
113184         onceonly macros.
113185         * m4/mbrtowc.m4: Add comment.
113187         Module memcasecmp.
113188         * m4/memcasecmp.m4: New file.
113190         Module memcoll.
113191         * m4/memcoll.m4: New file.
113193         Module unicodeio.
113194         * m4/unicodeio.m4: New file.
113196         Module rpmatch.
113197         * m4/rpmatch.m4: New file.
113199         Module yesno.
113200         * m4/yesno.m4: New file.
113202         Module exitfail.
113203         * m4/exitfail.m4: New file.
113205         Module c-stack.
113206         * m4/c-stack.m4 (gl_C_STACK): New macro.
113207         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
113209         Module error.
113210         * m4/error.m4 (gl_ERROR): New macro.
113211         (jm_PREREQ_ERROR): Use onceonly macros.
113213         Module fatal.
113214         * m4/fatal.m4: New file.
113216         Module getloadavg.
113217         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
113218         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
113220         Module getpagesize.
113221         * m4/getpagesize.m4: New file.
113223         Module getusershell.
113224         * m4/getusershell.m4: New file.
113226         Module physmem.
113227         * m4/physmem.m4: New file.
113229         Module posixver.
113230         * m4/posixver.m4: New file.
113232         Module quotearg.
113233         * m4/quotearg.m4: New file.
113235         Module quote.
113236         * m4/quote.m4: New file.
113238         Module readutmp.
113239         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
113241         Module sig2str.
113242         * m4/sig2str.m4: New file.
113244         Other.
113245         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
113246         ulonglong.m4.
113247         * m4/intmax_t.m4: New file.
113248         * m4/d-type.m4: Indentation.
113249         * m4/jm-macros.m4: Update.
113250         * m4/prereq.m4 (jm_PREREQ): Update.
113251         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
113252         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
113253         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
113254         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
113255         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
113256         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
113257         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
113258         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
113259         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
113260         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
113261         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
113262         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
113263         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
113264         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
113265         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
113266         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
113267         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
113268         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
113269         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
113271 2002-12-24  Bruno Haible  <bruno@clisp.org>
113273         * MODULES.txt: Update according to m4/ changes.
113275         Module gettext.
113276         * config.rpath: New file, from gettext-0.11.5.
113278         * modules/*: New module descriptions.
113279         * gnulib-tool: New file.
113280         * MODULES.html.sh: New file.
113282 2002-12-21  Karl Berry  <karl@gnu.org>
113284         * doc/fdl.texi: update to version 1.2.
113286 2002-12-19  Karl Berry  <karl@gnu.org>
113288         * config/config.guess: update from prep.
113290 2002-12-18  Bruno Haible  <bruno@clisp.org>
113292         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
113293         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
113295 2002-12-17  Bruno Haible  <bruno@clisp.org>
113297         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
113298         stdlib.h, string.h.
113300 2002-12-17  Bruno Haible  <bruno@clisp.org>
113302         * lib/canon-host.c (strdup): Remove unused declaration.
113304         * lib/fsusage.c: Include full_read.h.
113305         (get_fs_usage): Use full_read instead of safe_read.
113307         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
113309 2002-12-12  Karl Berry  <karl@gnu.org>
113311         * config/config.guess: update from prep.
113313 2002-12-11  Bruno Haible  <bruno@clisp.org>
113315         * m4/setenv.m4: New file, from gettext-0.11.5.
113317 2002-12-11  Bruno Haible  <bruno@clisp.org>
113319         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
113320         not unsetenv().
113321         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
113322         modifications:
113324         2002-12-11  Bruno Haible  <bruno@clisp.org>
113326                 * setenv.c (alloca): Fall back to malloc.
113327                 (freea): New macro.
113328                 (setenv): Use freea() to free memory allocated with alloca().
113330         2002-11-13  Bruno Haible  <bruno@clisp.org>
113332                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
113333                 function declarations.
113334                 * unsetenv.c (unsetenv): Likewise.
113336         2002-03-04  Bruno Haible  <bruno@clisp.org>
113338                 Portability to AIX 4.3.3.
113339                 * unsetenv.c: New file, extracted from setenv.c.
113340                 * setenv.c: Move the unsetenv() function to unsetenv.c.
113342         2001-12-20  Bruno Haible  <bruno@clisp.org>
113344                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
113345                 use malloc instead. For SunOS 4.
113347         2001-12-11  Bruno Haible  <bruno@clisp.org>
113349                 * setenv.c: Declare alloca.
113350                 (compar_fn_t): New typedef.
113351                 (KNOWN_VALUE, STORE_VALUE): Use it.
113353         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
113354         setenv.h.
113356 2002-12-10  Paul Eggert  <eggert@twinsun.com>
113358         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
113359         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
113360         Choose values that are less likely to collide with system fnmatch
113361         options.
113362         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
113363         defined (e.g., a pure POSIX system).
113364         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
113365         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
113367 2002-12-06  Paul Eggert  <eggert@twinsun.com>
113369         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
113370         a pain in practice to deal with generated m4 files.  This change
113371         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
113373         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
113374         and jm-glibc-io.m4, as they are no longer a special case.
113375         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
113376         kludge and the auto-generation stuff.  Check only whether the
113377         functions are declared, not whether they exist, since older hosts
113378         that don't declare the functions can't use the optimization anyway.
113380 2002-12-06  Jim Meyering  <jim@meyering.net>
113382         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
113384         Merge in changes from libc's misc/error.c, in preparation
113385         for the merge of gnulib's changes back into libc.
113387         * lib/error.c (_): Define only if not already defined.
113388         Move definition to follow all #include directives.
113389         Include unlocked-io.h only if !_LIBC.
113390         [_LIBC]: Include <libio/libioP.h>.
113391         [USE_IN_LIBIO]: Include <libio/iolibio.h>
113392         (fflush): Tweak definition to use INTUSE.
113393         (putc): Define.
113395 2002-12-05  Paul Eggert  <eggert@twinsun.com>
113397         * lib/alloca.c [defined emacs]: Include "lisp.h".
113398         (xalloc_die) [defined emacs]: New macro.
113399         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
113400         [! defined emacs]: Include <xalloc.h>.
113401         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
113402         (pointer): Typedef to POINTER_TYPE *.
113403         (malloc): Remove decl; we now always use xmalloc.
113404         (alloca): Use old-style definition, since Emacs needs this.
113405         Check for arithmetic overflow when computing combined size.
113407 2002-12-04  Paul Eggert  <eggert@twinsun.com>
113409         Do not generate unlocked-io.h automatically, since it's easier to
113410         maintain it by hand.
113412         * lib/unlocked-io.h: New file, from GNU diffutils,
113413         but with proper copyright notice and attribution.
113414         * lib/gen-uio: Remove.
113415         * lib/Makefile.am: Add copyright notice.
113416         (libfetish_a_SOURCES): Add unlocked-io.h.
113417         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
113418         (DISTCLEANFILES, io_functions): Remove macros.
113419         (EXTRA_DIST): Remove gen_uio.
113420         (unlocked-io.h): Remove rule.
113422 2002-12-04  Jim Meyering  <jim@meyering.net>
113424         Reflect the fact that stat.c and lstat.c are no longer generated.
113425         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
113426         (DISTCLEANFILES): Likewise.
113427         (EXTRA_DIST): Likewise.
113428         (all_local): Don't depend on stat.c or lstat.c.
113429         (stat.c, lstat.c): Remove rules.
113430         (EXTRA_DIST): Remove xstat.in.
113432         * lib/xstat.in: Remove file.  Contents moved into stat.c.
113433         * lib/stat.c: New file.  Contents mostly from xstat.in.
113434         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
113435         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
113437         * lib/safe-read.c: Rework so that it may serve to define safe_write,
113438         too.
113439         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
113441 2002-12-03  Jim Meyering  <jim@meyering.net>
113443         * lib/safe-read.c, safe-write.c: Change variable names and comments,
113444         but not semantics, to minimize the differences between these two files.
113445         (safe_read): Change comment to mention SAFE_READ_ERROR.
113447         * lib/safe-read.c (IS_EINTR): Define.
113448         (safe_read): Use IS_EINTR in place of in-function cpp directives.
113450 2002-12-02  Jim Meyering  <jim@meyering.net>
113452         * lib/safe-read.c (EINTR): Define.
113453         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
113454         (INT_MAX): Provide fallback.
113455         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
113457         * lib/safe-read.h (SAFE_READ_ERROR): Define.
113459 2002-12-02  Bruno Haible  <bruno@clisp.org>
113461         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
113462         Define, taken from safe-read.c.
113463         (INT_MAX): Provide fallback.
113464         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
113465         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
113467         * lib/safe-read.c (EINTR): Remove definition.
113468         (safe_read): Don't use EINTR if it is absent.
113470 2002-12-01  Jim Meyering  <jim@meyering.net>
113472         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
113473         zero.
113474         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
113476 2002-11-27  Paul Eggert  <eggert@twinsun.com>
113478         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
113479         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
113480         with `if (! (value < limit)) abort ();', for readability.
113482 2002-11-26  Karl Berry  <karl@gnu.org>
113484         * lib/strdup.c: copy from libc again, with jim's ok.
113485         * lib/.cppi-disable: re-add strdup.c
113487 2002-11-25  Karl Berry  <karl@gnu.org>
113489         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
113490         instead of "strtol.c".
113492 2002-11-25  Karl Berry  <karl@gnu.org>
113494         * config/install-sh: update from automake for variable quoting, $0 in
113495         error msgs, etc.
113497         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
113498         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
113499         entry.
113501 2002-11-25  Jim Meyering  <jim@meyering.net>
113503         * lib/mktime.c: Sync from libc, now that it has the latest fix.
113505 2002-11-24  Karl Berry  <karl@gnu.org>
113507         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
113508         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
113510 2002-11-24  Jim Meyering  <jim@meyering.net>
113512         Update from coreutils:
113514         * lib/mktime.c: Merge in changes from libc.
113516         Avoid a link-time failure on some Linux systems.
113517         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
113518         (otherwise).
113519         (__mon_yday): Declare with the STATIC attribute.
113520         (__mktime_internal): Likewise.
113521         Based on a report from Greg Schafer.
113523 2002-11-23  Jim Meyering  <jim@meyering.net>
113525         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
113526         Use `unsigned', not `int', as type of index.
113528         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
113530         * lib/fsusage.c: Remove unneeded parentheses around operands of
113531         `defined'.
113533 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113535         * lib/quotearg.h: Allow multiple inclusion by surrounding with
113536         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
113537         so that we can be included first.
113538         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
113539         * lib/quotearg.c: Include quotearg.h immediately after config.h.
113540         No need to include stddef.h or sys/types.h any more.
113541         Surround local include files with "", not "<>".
113542         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
113543         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
113544         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
113545         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
113546         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
113547         (ISPRINT): Remove; no longer needed now that we assume C89.
113549         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
113550         Preserve errno.
113552         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
113553         quotearg_char): Use SIZE_MAX rather than
113554         (size_t) -1 when we are talking about "infinity".
113556         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
113558 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113560         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
113561         hint that one should use `if (! x) abort ();' rather than `assert
113562         (x);', and anyway it's one less thing to worry about configuring.
113563         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
113564         hash_rehash, hash_insert): Use abort rather than assert.
113566 2002-11-22  Bruno Haible  <bruno@clisp.org>
113568         * lib/safe-read.h: Assume C89. Add comments.
113569         (safe_read): Change return type to size_t.
113570         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
113571         byte counts > SSIZE_MAX correctly.
113572         * lib/safe-write.h: New file.
113573         * lib/safe-write.c: New file.
113574         * lib/full-read.h: New file.
113575         * lib/full-read.c: New file.
113576         * lib/full-write.h: Assume C89. Add comments.
113577         * lib/full-write.c: Include safe-write.h.
113578         (full_write): Rewritten to use safe_write.
113579         Suggested by Jim Meyering and Paul Eggert.
113581 2002-11-21  Jim Meyering  <jim@meyering.net>
113583         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
113585         Merge in changes from the coreutils.
113587         2002-09-25  Paul Eggert  <eggert@twinsun.com>
113588         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
113589         <stdint.h>.
113590         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
113591         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
113592         int.  Work more efficiently if X is the same width as uintmax_t.
113593         Do not compare X to -1, to avoid bogus compiler warning.
113594         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
113595         Don't assume that f_frsize and f_bsize are the same type.
113597         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
113598         warning on FreeBSD.
113600         * lib/makepath.c (make_path): Restore umask *before* creating the final
113601         component.
113602         (make_path): Minor reformatting.
113604         * lib/xmalloc.c: Adjust to work with new autoconf macros,
113605         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
113606         HAVE_MALLOC/HAVE_REALLOC.
113608         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
113609         dummy ones.  At least on GNU/Linux systems, `auto' means something
113610         else.
113611         From Michael Stone.
113613 2002-11-21  Bruno Haible  <bruno@clisp.org>
113615         Remove case insensitive option matching.
113616         * lib/argmatch.h (argcasematch): Remove declaration.
113617         (ARGCASEMATCH): Remove macro.
113618         (__xargmatch_internal): Remove case_sensitive argument.
113619         (XARGMATCH): Update.
113620         (XARGCASEMATCH): Remove macro.
113621         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
113622         case_sensitive argument.
113623         (argcasematch): Remove function.
113624         (__xargmatch_internal): Remove case_sensitive argument.
113625         (main): Use XARGMATCH instead of XARGCASEMATCH.
113627         * lib/xmalloc.c: Change compile-time error message. Add comment about
113628         required autoconf version.
113630 2002-11-20  Paul Eggert  <eggert@twinsun.com>
113632         Merge argmatch cleanups from Bison.  Assume C89.
113634         * lib/argmatch.c: Include config.h here, not in argmatch.h.
113635         Include stdlib.h, for EXIT_FAILURE.
113636         Always include <string.h>, since we assume C89.
113637         (EXIT_FAILURE): Remove pre-C89 bug workaround.
113638         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
113639         Include <stddef.h> instead, since it's all we need for size_t.
113640         (PARAMS): Remove.  All uses removed.
113641         (ARRAY_CARDINALITY): Do not bother to #undef.
113642         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
113643         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113644         Remove unnecessary parentheses.
113645         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113646         Insert necessary parentheses.
113647         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
113648         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
113650 2002-11-19  Bruno Haible  <bruno@clisp.org>
113652         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
113653         * lib/mbswidth.h: Include <stddef.h>, for size_t.
113655         * lib/mbswidth.h (PARAMS): Remove macro.
113656         (mbswidth, mbsnwidth): Use ANSI C function declarations.
113657         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
113659         * lib/gcd.h (PARAMS): Remove macro.
113660         (gcd): Use ANSI C function declarations.
113661         * lib/gcd.c (gcd): Likewise.
113663 2002-11-15  Bruno Haible  <bruno@clisp.org>
113665         * lib/strcspn.c: Include <stddef.h>.
113666         (strcspn): Use ANSI C function declaration. Change return type to
113667         size_t. Use NULL.
113668         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
113669         (strpbrk): Use NULL.
113670         * lib/strpbrk.h (PARAMS): Remove macro.
113671         (strpbrk): Use ANSI C function declaration.
113672         * lib/strstr.c: Don't include <sys/types.h>.
113673         * lib/strstr.h (PARAMS): Remove macro.
113674         (strstr): Use ANSI C function declarations.
113676 2002-11-14  Karl Berry  <karl@gnu.org>
113678         * config/mkinstalldirs: `do' on separate line, instead of
113679         `for var; do'.
113681 2002-11-06  Bruno Haible  <bruno@clisp.org>
113683         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
113684         * lib/gcd.c (gcd): Likewise.
113686 2002-11-05  Bruno Haible  <bruno@clisp.org>
113688         * lib/gcd.h: New file, from gettext-0.11.5.
113689         * lib/gcd.c: New file, from gettext-0.11.5.
113691 2002-11-05  Bruno Haible  <bruno@clisp.org>
113693         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113694         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113695         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113696         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113698         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
113699         <libintl.h>.
113700         * lib/makepath.c: Include gettext.h instead of <locale.h> and
113701         <libintl.h>.
113703         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
113704         * lib/human.c: Include gettext.h instead of <libintl.h>.
113705         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
113706         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
113707         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
113708         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
113709         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
113710         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
113711         (textdomain): Remove definition.
113712         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
113714         * lib/long-options.c: Remove include of <libintl.h> and definition of
113715         _.
113716         * lib/same.c: Remove include of <libintl.h> and definition of _.
113718 2002-11-04  Owen Taylor  <otaylor@redhat.com>
113720         * lib/config.charset: A few additions for Solaris.
113722 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113724         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
113725         * lib/localcharset.c (locale_charset): Declare as extern "C".
113727 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113729         * lib/config.charset: msdos in uk_UA uses CP1125.
113731 2002-11-04  Bruno Haible  <bruno@clisp.org>
113733         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
113734         * lib/strcase.h: New file, from GNU gettext-0.11.5.
113735         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
113736         * lib/strstr.h: New file, from GNU gettext-0.11.5.
113737         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
113739 2002-11-04  Bruno Haible  <bruno@clisp.org>
113741         * lib/localcharset.c (locale_charset): Don't return an empty string.
113743 2002-11-04  Bruno Haible  <bruno@clisp.org>
113745         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113746         aliases.
113748 2002-11-04  Bruno Haible  <bruno@clisp.org>
113750         * lib/config.charset: Update for newest glibc. Add canonical names
113751         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113753 2002-11-04  Bruno Haible  <bruno@clisp.org>
113755         * lib/config.charset: Add support for NetBSD.
113757 2002-11-04  Bruno Haible  <bruno@clisp.org>
113759         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113761 2002-11-01  Bruno Haible  <bruno@clisp.org>
113763         * configure.in: Add AC_CONFIG_AUX_DIR call.
113764         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113765         test/Makefile.
113766         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113768 2002-09-28  Karl Berry  <karl@gnu.org>
113770         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113771         installed automake until the next release, since changes have been
113772         made.
113774 2002-09-25  Karl Berry  <karl@gnu.org>
113776         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113777         * lib/getopt*: copy from libc/posix.
113778         * lib/gettext.h: copy from gettext.
113779         * lib/.cppi-disable: add strdup.c, gettext.h.
113781 2002-09-25  Karl Berry  <karl@gnu.org>
113783         * config/srclist.txt: enable gettext.h check.
113784         * config/config.{guess,sub}: update from prep.
113785         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113786                 from automake 1.6.3.
113787         See srclist*.
113789 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113791         * regex.c (PATFETCH): Remove the translating fetch.
113792         (PATFETCH_RAW): Rename to PATFETCH.
113793         (set_image_of_range): New fun.
113794         (SET_RANGE_TABLE_WORK_AREA): Use it.
113795         (regex_compile): Don't translate the pattern chars so eagerly.
113796         Only do it when inserting an `exactn' bytecode or when handling
113797         a char-range.
113798         (mutually_exclusive_p): Avoid empty statement.
113800 2002-07-06  Jim Meyering  <meyering@lucent.com>
113802         * m4/README: Don't mention Makefile.am.in.
113803         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113805 2002-07-01  Jim Meyering  <meyering@lucent.com>
113807         * lib/c-stack.c: Include sys/time.h.
113808         From Volker Borchert.
113810 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113812         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113814 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113816         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113817         New macro.  Use it uniformly instead of
113818         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113819         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113820         reported by Vin Shelton.
113822 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113824         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113825         Do not assume SA_SIGINFO behavior.
113826         Bug reported by Jim Meyering on NetBSD 1.5.2.
113828 2002-06-22  Jim Meyering  <meyering@lucent.com>
113830         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113831         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113833         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113834         now that configure.ac uses AC_GNU_SOURCE.
113835         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113836         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113838         Update to latest tools.  Suggestions from Paul Eggert.
113839         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113840         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113841         * m4/fnmatch.m4: Likewise.
113842         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113843         to AC_HEADER_STDBOOL
113845 2002-06-22  Jim Meyering  <meyering@lucent.com>
113847         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113848         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113850 2002-06-22  Jim Meyering  <meyering@lucent.com>
113852         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113854         * lib/exitfail.c, exitfail.h: Likewise.
113855         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113857         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113858         of fnmatch.h.
113859         (EXTRA_DIST): Add fnmatch_loop.c.
113860         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113862         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113863         * lib/fnmatch.c: Update from diffutils-2.8.2.
113864         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113865         * lib/fnmatch.h: Remove file.
113867 2002-06-21  Jim Meyering  <meyering@lucent.com>
113869         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113870         * m4/mbrtowc.m4: Likewise.
113872         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113873         * m4/mbswidth.m4: Reflect name change:
113874         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113875         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113877         * m4/lib-link.m4: Update from gettext-0.11.2.
113878         * m4/gettext.m4: Likewise.
113880         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113881         From Alfred M. Szmidt.
113883 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113885         * lib/file-type.h: Report an error if neither S_ISREG nor
113886         S_IFREG is defined, instead of using a test specific to glibc
113887         2.2.  This should be safe, since POSIX requires S_ISREG and
113888         Unix Version 7 had S_IFREG.  We don't need to check for
113889         <sys/types.h> since we don't use any symbols that it defines.
113891 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113893         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113894         $@-t, so that each temporary file name is unique and valid in the first
113895         8 characters, for operation under DOS.
113897 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113899         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113901 2002-06-15  Jim Meyering  <meyering@lucent.com>
113903         Work even with DJGPP 2.03, which lacks support for symlinks.
113904         From Richard Dawe.
113905         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113906         is defined.
113907         * lib/lchown.c (S_ISLNK): Likewise.
113909 2002-06-15  Jim Meyering  <meyering@lucent.com>
113911         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113912         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113913         have been included before this file.
113915 2002-06-14  Jim Meyering  <meyering@lucent.com>
113917         * lib/file-type.h: Use the version from diffutils-2.8.2.
113918         * lib/file-type.c: Likewise.
113920 2002-06-07  Jim Meyering  <meyering@lucent.com>
113922         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113923         They're needed at least for NetBSD 1.5.2.
113924         ($statxfs_includes): Include those same headers.
113925         ($statxfs_includes): Include sys/vfs.h if available.
113926         ($statxfs_includes): Likewise for sys/statvfs.h.
113927         Check for the following members in both structs statfs and statvfs:
113928         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113930 2002-06-01  Jim Meyering  <meyering@lucent.com>
113932         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113933         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113935 2002-05-28  Jim Meyering  <meyering@lucent.com>
113937         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113938         Reported by Volker Borchert.
113940 2002-05-27  Jim Meyering  <meyering@lucent.com>
113942         Fix a problem seen only on nonconforming systems whereby ls.c's
113943         use of localtime, and then of gettimeofday would cause trouble:
113944         the localtime call used to initialize rpl_gettimeofday's save
113945         mechanism would clobber ls's current local time information so
113946         that in any long listing the first file would always be listed
113947         with date 1970-01-01.  Analysis by Volker Borchert.
113949         * lib/gettimeofday.c (localtime): Undefine.
113950         (rpl_localtime): New function.
113952 2002-05-27  Jim Meyering  <meyering@lucent.com>
113954         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113955         localtime.
113957         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113958         use the replacement function; it wouldn't resolve at link time.
113959         Reported by Volker Borchert.
113961 2002-05-22  Jim Meyering  <meyering@lucent.com>
113963         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113964         file-type.h.
113965         * lib/file-type.h: New file.
113966         * lib/file-type.c (file_type): New file/function.  Extracted from
113967         diffutils.
113969 2002-04-30  Jim Meyering  <meyering@lucent.com>
113971         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
113973 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113975         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
113977 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113979         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
113980         Do not check for alloca.h (no longer used) or stdbool.h (was never
113981         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
113983 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113985         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
113987 2002-04-29  Jim Meyering  <meyering@lucent.com>
113989         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
113990         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
113991         Use AC_FUNC_STRNLEN here instead.
113993         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
113994         With autoconf-2.53a, it's part of AC_PROG_CC.
113996 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113998         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
113999         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
114001 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114003         * lib/sig2str.h, lib/sig2str.c: New files.
114004         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
114006 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114008         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
114009         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
114010         of 127, since 64 is the largest conceivable number for ancient
114011         nonstandard hosts.
114012         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
114014 2002-04-28  Jim Meyering  <meyering@lucent.com>
114016         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
114018 2002-04-24  Jim Meyering  <meyering@lucent.com>
114020         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
114021         (jm_PREREQ): Use it.
114023         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
114024         mach/mach.h fcntl.h.
114025         Check for this function: setlocale.
114027 2002-04-24  Jim Meyering  <meyering@lucent.com>
114029         * lib/gettext.h: New file, from Gettext.
114030         * lib/Makefile.am (INCLUDES): Remove -I../intl.
114031         (libfetish_a_SOURCES): Add gettext.h.
114033 2002-04-16  Jim Meyering  <meyering@lucent.com>
114035         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
114036         ut_pid, ut_id, ut_exit.
114038 2002-04-16  Jim Meyering  <meyering@lucent.com>
114040         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
114041         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
114042         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
114044 2002-04-12  Jim Meyering  <meyering@lucent.com>
114046         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
114047         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
114048         existence of the getmntinfo function.  Needed for Darwin 5.3.
114050         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
114051         This is necessary at least on Darwin 5.3.
114053         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
114054         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
114055         strnlen.o in the library, and that makes some versions of ranlib
114056         object.
114058 2002-04-12  Jim Meyering  <meyering@lucent.com>
114060         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
114062 2002-04-09  Jim Meyering  <meyering@lucent.com>
114064         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
114065         to be more precise.  Rather than saying we're checking whether the
114066         function `works', say what we're testing.
114067         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
114068         Reported by Bruno Haible.
114070 2002-03-10  Jim Meyering  <meyering@lucent.com>
114072         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
114073         Suggestion from Santiago Vila.
114075 2002-03-08  Jim Meyering  <meyering@lucent.com>
114077         * lib/rename.c: Mention that this wrapper is needed also on
114078         mips-dec-ultrix4.4 systems.
114080 2002-03-02  Jim Meyering  <meyering@lucent.com>
114082         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
114083         not HAVE_CLOCK_SETTIME.
114085 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114087         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
114088         Check for clock_settime.
114090 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114092         * lib/nanosleep.h: Rename to....
114093         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
114095         * lib/gettime.c: New file.
114096         * lib/settime.c: New file.
114097         * lib/stime.c: Remove.
114099         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
114100         timespec.h.  Remove nanosleep.h.
114102 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114104         * m4/acl.m4: New file.
114105         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
114106         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
114108 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114110         * lib/acl.c, lib/acl.h: New files.
114111         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
114113 2002-02-24  Jim Meyering  <meyering@lucent.com>
114115         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
114116         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
114117         cause trouble.  Reported by Nelson Beebe.
114119 2002-02-23  Paul Eggert  <eggert@twinsun.com>
114121         * lib/path-concat.c (xpath_concat): Reorder code to pacify
114122         compilers that don't know that xalloc_die never returns.
114124 2002-02-20  Jim Meyering  <meyering@lucent.com>
114126         * lib/getdate.c: Regenerate using bison-1.33.
114128 2002-02-17  Jim Meyering  <meyering@lucent.com>
114130         * config/config.guess (main): Don't use `head -1'; it's no longer
114131         portable. Use `sed 1q' instead.
114133 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
114135         * m4/codeset.m4: Upgrade to gettext-0.11.
114136         * m4/gettext.m4: Upgrade to gettext-0.11.
114137         * m4/glibc21.m4: Upgrade to gettext-0.11.
114138         * m4/iconv.m4: Upgrade to gettext-0.11.
114139         * m4/isc-posix.m4: Upgrade to gettext-0.11.
114140         * m4/lcmessage.m4: Upgrade to gettext-0.11.
114141         * m4/lib-ld.m4: New file, from gettext-0.11.
114142         * m4/lib-link.m4: New file, from gettext-0.11.
114143         * m4/lib-prefix.m4: New file, from gettext-0.11.
114144         * m4/progtest.m4: Upgrade to gettext-0.11.
114146 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114148         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
114149         (jm_PREREQ): Use it.
114151 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114153         * lib/posixver.c, lib/posixver.h: New files.
114154         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114156 2002-02-02  Paul Eggert  <eggert@twinsun.com>
114157             Bruno Haible  <bruno@clisp.org>
114159         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
114160         (fwrite_success_callback): New declaration.
114161         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
114162         print_unicode_char. Call failure callback instead of error.
114163         (fwrite_success_callback): New function.
114164         (exit_failure_callback): New function.
114165         (fallback_failure_callback): New function.
114166         (print_unicode_char): Call unicode_to_mb.
114168 2002-01-26  Jim Meyering  <meyering@lucent.com>
114170         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
114171         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
114173 2002-01-26  Jim Meyering  <meyering@lucent.com>
114175         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
114177 2002-01-22  Paul Eggert  <eggert@twinsun.com>
114179         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
114181 2002-01-22  Jim Meyering  <meyering@lucent.com>
114183         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
114184         Otherwise, some versions of automake would omit the rule that makes
114185         Makefile from Makefile.in.
114187 2002-01-21  Paul Eggert  <eggert@twinsun.com>
114189         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
114190         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114191         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
114192         (memcoll): Set errno to zero if there is no error.
114194         * lib/quotearg.c (quotearg_buffer_restyled):
114195         Fix bug with quoting buffers containing NUL when backslashing escapes.
114196         This bug was exposed by the other changes in this patch.
114197         (quotearg_n_options): New arg ARGSIZE.
114198         All callers changed.
114199         (quoting_options_from_style): New function.
114200         (quotearg_n_style): Use it.
114201         (quotearg_n_style_mem): New function.
114203         * lib/quotearg.h (quotearg_n_style_mem): New function.
114205 2002-01-19  Jim Meyering  <meyering@lucent.com>
114207         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
114208         Remove useless quotes: DF_PROG="df".
114209         * m4/strnlen.m4: New file.
114211 2002-01-16  Paul Eggert  <eggert@twinsun.com>
114213         * lib/backupfile.c (ISDIGIT): Comment fix.
114214         * lib/getdate.y (ISDIGIT): Likewise.
114215         * lib/posixtm.c (ISDIGIT, year): Likewise.
114216         * lib/strverscmp.c (ISDIGIT): Likewise.
114217         * lib/userspec.c (ISDIGIT): Likewise.
114219 2002-01-16  Jim Meyering  <meyering@lucent.com>
114221         * lib/getdate.y: Add three semicolons, each just before a closing
114222         brace. Bison (as of version 1.31) no longer papers over that mistake.
114224 2002-01-05  Jim Meyering  <meyering@lucent.com>
114226         * lib/version-etc.c (version_etc_copyright): Update copyright year.
114228 2001-12-19  Paul Eggert  <eggert@twinsun.com>
114230         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
114231         not silently exit merely because the output buffer happens to
114232         have nothing pending.
114234 2001-12-18  Paul Eggert  <eggert@twinsun.com>
114236         See the big note in ../ChangeLog.
114237         * lib/human.c (suffixes): Prefer K to k for 1024.
114238         (generate_suffix_backwards): New function.
114239         (human_readable_inexact): Use it.
114240         * lib/xstrtol.c (__xstrtol): If there is no number but there
114241         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
114242         Accept 'K' as well as 'k'.
114244 2001-12-15  Jim Meyering  <meyering@lucent.com>
114246         * lib/regex.h (__restrict_arr): Update from libc.
114248         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
114249         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
114250         (STREQ): Define.
114252 2001-12-14  Jim Meyering  <meyering@lucent.com>
114254         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
114255         Suggestion from Bruno Haible.
114257 2001-12-10  Jim Meyering  <meyering@lucent.com>
114259         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
114260         xrealloc, Instead, include "xalloc.h".
114261         (initbuffer): Don't cast xmalloc return value to char*.
114262         (readline): Reword comment.
114263         Don't cast xrealloc return value to char*
114264         Return NULL, not 0.
114266 2001-12-09  Jim Meyering  <meyering@lucent.com>
114268         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
114269         about `signed and unsigned type in conditional expression'.
114270         * lib/posixtm.c (posix_time_parse): Likewise.
114272         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
114274         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
114275         to avoid a pedantic warning.
114277         * lib/getstr.c: Don't include assert.h.
114278         (getstr): Remove warning-evoking assertions.
114279         Return -1 if offset parameter is out of bounds.
114280         Change the type of a local from int to size_t.
114282         * lib/strftime.c (my_strftime_localtime_r): Include this function
114283         definition in the `#if ! HAVE_TM_GMTOFF' block.
114285         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
114286         Include xalloc.h instead.
114288 2001-12-02  Jim Meyering  <meyering@lucent.com>
114290         * lib/tempname.c: Don't declare getenv, thus reverting the change of
114291         2001-11-18.  It's no longer necessary, now that stdlib.h is always
114292         included.
114294         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
114295         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
114297 2001-11-30  Akim Demaille  <akim@epita.fr>
114299         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
114300         before being defined.
114302 2001-11-27  Paul Eggert  <eggert@twinsun.com>
114304         * lib/quotearg.h (quotearg_n, quotearg_n_style):
114305         First arg is int, not unsigned.
114306         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
114307         (SIZE_MAX, UINT_MAX): New macros.
114308         (quotearg_n_options): Abort if N is negative.
114309         Avoid overflow check on hosts where size_t is 64 bits and int
114310         is 32 bits, as overflow is impossible there.
114311         Fix off-by-one typo that caused unnecessary reallocation.
114313 2001-11-27  Jim Meyering  <meyering@lucent.com>
114315         * lib/tempname.c: Merge with version from libc.
114316         * lib/regex.c: Likewise.
114318         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
114319         systems for which STDC_HEADERS is 0, it was not included, resulting in
114320         a warning about an integer-to-pointer conversion problem with getenv.
114321         Reported by Volker Borchert.
114323 2001-11-26  Jim Meyering  <meyering@lucent.com>
114325         * lib/gtod.h: Remove file.
114326         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
114327         * lib/gettimeofday.c: Don't include gtod.h.
114328         (GTOD_init): Remove function.
114329         (rpl_gettimeofday): Do its job here instead, rather than aborting.
114330         Suggestion from Volker Borchert.
114332 2001-11-23  Jim Meyering  <meyering@lucent.com>
114334         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
114335         it.
114336         * lib/hash.c (struct hash_table): Define it here instead.
114338 2001-11-22  Jim Meyering  <meyering@lucent.com>
114340         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
114342 2001-11-20  Jim Meyering  <meyering@lucent.com>
114344         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
114345         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
114347 2001-11-19  Jim Meyering  <meyering@lucent.com>
114349         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
114350         directory.  Use "conftestXXXXXX" as the template.
114351         Suggestion from Paul Eggert.
114353         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
114354         immediately, so the test doesn't mistakenly hit the max-open-files
114355         limit.
114357 2001-11-18  Paul Eggert  <eggert@twinsun.com>
114359         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
114360         (TEMPORARIES): New macro.
114361         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
114362         removes an artificial limitation (e.g. HP-UX 10.20, where
114363         TMP_MAX is 17576).
114365 2001-11-18  Jim Meyering  <meyering@lucent.com>
114367         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
114369 2001-11-18  Jim Meyering  <meyering@lucent.com>
114371         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
114372         on SunOS 4.
114374         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
114375         files will be created before anything else.
114377 2001-11-17  Paul Eggert  <eggert@twinsun.com>
114379         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
114380         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
114382 2001-11-17  Jim Meyering  <meyering@lucent.com>
114384         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
114385         Prompted by a report from Bob Proulx.
114387         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
114388         Instead, require UTILS_FUNC_MKSTEMP.
114390 2001-11-17  Jim Meyering  <meyering@lucent.com>
114392         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
114393         Now, that's done as part of AC_FUNC_STRTOD.
114395 2001-11-17  Jim Meyering  <meyering@lucent.com>
114397         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
114398         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
114399         rather than group writable.  Patch by Juan F. Codagnone.
114401         * lib/readtokens.c: Remove explicit declarations of xmalloc and
114402         xrealloc, Instead, include "xalloc.h".
114404         * lib/mountlist.c: Include unlocked-io.h after all system headers.
114405         Remove explicit declarations of xmalloc, xrealloc,
114406         and xstrdup.  Instead, include "xalloc.h".
114408         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
114409         unlocked-io.h.
114410         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
114411         Likewise.
114412         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
114414         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
114415         Reported by Padraig Brady.
114417         * lib/mkstemp.c: #undef mkstemp.
114418         Include config.h.
114419         (rpl_mkstemp): Rename from mkstemp.
114420         Protoize.
114422 2001-11-16  Jim Meyering  <meyering@lucent.com>
114424         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
114425         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
114426         determine the amount of total physical memory, use pstat_getstatic.
114427         HPUX-11 doesn't define _SC_PHYS_PAGES.
114428         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
114429         If sysconf couldn't be used to determine the amount of available
114430         physical memory, use both pstat_getstatic and pstat_getdynamic.
114431         Based on a patch from Bob Proulx.
114433 2001-11-10  Jim Meyering  <meyering@lucent.com>
114435         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
114436         (jm_PREREQ): Use it.
114438 2001-11-09  Jim Meyering  <meyering@lucent.com>
114440         * m4/jm-macros.m4: Require autoconf-2.52f.
114441         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
114442         Use these AC_-prefixed names, not the AM_-prefixed ones.
114444         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
114446 2001-11-05  Jim Meyering  <meyering@lucent.com>
114448         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
114450 2001-11-04  Jim Meyering  <meyering@lucent.com>
114452         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
114453         $DEFS.
114455 2001-11-03  Jim Meyering  <meyering@lucent.com>
114457         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
114458         of AC_DEFUN.
114460         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
114461         know the name of the variable in the macro definition.
114463 2001-11-03  Jim Meyering  <meyering@lucent.com>
114465         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
114466         in argmatch_to_argument call.
114468         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
114469         argument.
114471         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
114472         e.g., a fault due to an attempt to free a NULL pointer.
114474 2001-11-01  Jim Meyering  <meyering@lucent.com>
114476         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
114477         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
114479 2001-11-01  Jim Meyering  <meyering@lucent.com>
114481         * lib/dirfd.c, lib/dirfd.h: New files.
114482         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
114484         * lib/hash.c (hash_print) [TESTING]: Clean up.
114486 2001-10-22  Paul Eggert  <eggert@twinsun.com>
114488         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
114489         to avoid a warning if -Wall.
114491 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
114493         * README: New file
114494         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
114495         (per RMS's instructions, this is now the canonical source)
114496         * lgpl/, gpl/: New directories.
114498 2001-10-21  Paul Eggert  <eggert@twinsun.com>
114500         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
114502 2001-10-21  Jim Meyering  <meyering@lucent.com>
114504         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
114505         this code would end up calling gettext even in packages built
114506         with --disable-nls.
114507         * lib/getopt.c (_): Likewise.
114508         * lib/regex.c (_): Likewise.
114510 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114512         * m4/error.m4 (jm_PREREQ_ERROR):
114513         Do not invoke AC_CHECK_FUNCS with strerror_r, as
114514         AC_FUNC_STRERROR_R does that.
114515         Check for strerror declaration.
114517         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
114518         are supposed to have them these days.
114519         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
114520         Merge changes from latest Autoconf CVS.
114521         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
114522         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
114523         POSIX decided to standardize on the int flavor of strerror_r.
114525 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114527         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
114528         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
114529         Use strerror_r that is only a macro, even if it is not a function.
114530         (strerror): Check for HAVE_DECL_STRERROR before declaring.
114531         (private_strerror): Use prototypes, not old-style function definition.
114532         (print_errno_message): New function.
114533         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
114534         char*-flavored one.
114535         (error_tail, error, error_at_line): Use it.
114537 2001-10-11  Jim Meyering  <meyering@lucent.com>
114539         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
114540         and quote_n (1, ... to avoid clobbering a buffer.
114542 2001-10-05  Jim Meyering  <meyering@lucent.com>
114544         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
114545         hash-pjw.h.
114546         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
114547         * lib/hash-pjw.h: New file.
114549 2001-09-30  Jim Meyering  <meyering@lucent.com>
114551         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
114552         `struct fsstat' has the `f_fstypename' member.
114553         Use that to define FS_TYPE, which is now used to make
114554         the getfsstat link test tighter.
114556 2001-09-30  Jim Meyering  <meyering@lucent.com>
114558         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
114559         Include <sys/ucred.h>, for Apple Darwin.
114560         Include sys/mount.h and sys/fs_types.h only if available.
114561         (FS_TYPE): Define.
114562         (read_filesystem_list): Use FS_TYPE.
114564 2001-09-29  Paul Eggert  <eggert@twinsun.com>
114566         * lib/exclude.c (excluded_filename): 0 -> false, since it's
114567         a boolean context.
114569 2001-09-29  Jim Meyering  <meyering@lucent.com>
114571         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114572         [one-argument getmntent function]): Include stdio.h before mntent.h.
114573         SunOS 4.1.x needs it for the declaration of `FILE'.
114574         Patch by Volker Borchert.
114576         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114577         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
114578         sys/fs_types.h, and make the link-test for getfsstat guard #include
114579         directives with appropriate #if HAVE_*_H tests so that we can
114580         detect getfsstat on Apple Darwin1.3.7 systems.
114581         Reported by Nelson Beebe.
114582         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
114584 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114586         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114587         #defines strtoimax.  Also treat the other strto* functions
114588         like strtoimax.
114590         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114591         Check for strtoul and strtoumax,
114592         as those declarations are made even in the signed case.
114593         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
114594         Likewise, for strtol and strtoimax.
114596 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114598         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114599         #defines strtoimax.  Also treat the other strto* functions
114600         like strtoimax.
114602         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
114603         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
114604         (strtoimax, strtoumax): Do not declare if already defined as a macro.
114606 2001-09-26  Jim Meyering  <meyering@lucent.com>
114608         Most macros in unlocked-io.h had the wrong number of arguments.
114609         * lib/gen-uio: New script.
114610         (USE_UNLOCKED_IO): Define to 1 if not already defined.
114611         * lib/unlocked-io.hin: Remove file.
114612         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
114613         rather than trying to embed it here.
114614         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
114615         Reported by Padraig Brady.
114617 2001-09-25  Volker Borchert  <bt@teknon.de>
114619         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
114620         `result'.
114622 2001-09-24  Jim Meyering  <meyering@lucent.com>
114624         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
114626 2001-09-23  Jim Meyering  <meyering@lucent.com>
114628         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
114629         instead of the mere test for existence of mntent.h.  The latter
114630         would get a false-positive on AIX 3.4 systems.
114631         In the outer getmntent if-block, don't die if neither of the getmntent
114632         tests succeeds.  Instead, just fall through and continue with the
114633         remaining tests.
114635 2001-09-23  Jim Meyering  <meyering@lucent.com>
114637         * lib/mountlist.c: Remove useless parentheses in #if directives.
114638         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
114639         the deprecated MOUNTED symbol is no longer defined in mntent.h.
114641 2001-09-22  Jim Meyering  <meyering@lucent.com>
114643         * m4/gettext.m4: New file.  From gettext.
114644         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
114645         * m4/progtest.m4: Likewise
114646         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
114647         * m4/glibc21.m4: Likewise.
114649         * m4/libintl.m4: Remove.  No longer used.
114651 2001-09-22  Jim Meyering  <meyering@lucent.com>
114653         * lib/localcharset.c: Update from latest gettext.
114654         * lib/config.charset: Likewise.
114656 2001-09-20  Jim Meyering  <meyering@lucent.com>
114658         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
114659         strtoimax.
114660         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
114661         strtoumax.
114663 2001-09-20  Jim Meyering  <meyering@lucent.com>
114665         * lib/xstrtol.c (strtoimax): Guard declaration with
114666         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
114667         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
114668         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
114669         (strtoumax): Likewise, for completeness (it wasn't necessary).
114671 2001-09-17  Paul Eggert  <eggert@twinsun.com>
114673         * lib/strtoimax.c (HAVE_LONG_LONG):
114674         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
114675         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
114676         to work around bug in IBM C compiler.
114678 2001-09-17  Jim Meyering  <meyering@lucent.com>
114680         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
114681         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
114682         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
114683         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
114684         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
114685         whenever the right hand side need not be expanded by the shell.
114687 2001-09-16  Paul Eggert  <eggert@twinsun.com>
114689         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
114690         library.  It's not correct, as some older glibcs are buggy.
114691         fnmatch wasn't fixed until glibc 2.2.
114693         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
114694         special shell magic here.
114696 2001-09-16  Jim Meyering  <meyering@lucent.com>
114698         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
114699         * m4/jm-macros.m4: Require it.
114701 2001-09-16  Jim Meyering  <meyering@lucent.com>
114703         * lib/mkdir.c: New file.
114705 2001-09-15  Jim Meyering  <meyering@lucent.com>
114707         * m4/jm-macros.m4: Check for help2man.
114709 2001-09-11  Jim Meyering  <meyering@lucent.com>
114711         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
114712         The body, by Paul Eggert, was moved here from configure.in.
114713         * m4/jm-macros.m4: Require UTILS_HOST_OS.
114715 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114717         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
114718         (jm_PREREQ): Use it.
114720 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114722         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
114723         Use ssize_t, not int, to store result of readlink.
114724         Check for ssize_t overflow as well as size_t overflow,
114725         as POSIX says the result of readlink is implementation-defined
114726         when ssize_t overflows.
114727         Remove unnecessary cast to char*.
114728         Use free+malloc instead of realloc, as the storage doesn't need
114729         to be preserved and it's clearer and can be more efficient that way.
114730         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
114731         * lib/xreadlink.h (xreadlink): Update prototype.
114733 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114735         * lib/xgetcwd.c: Revert some of the previous change; intead,
114736         fix the HAVE_GETCWD_NULL code to behave more like the
114737         !HAVE_GETCWD_NULL code used to.
114739         Include "xalloc.h".
114740         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114741         invoke xalloc_die.
114743 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114745         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114746         sys/param.h, as pathmax.h includes them.
114748 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114750         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114751         (jm_PREREQ_XGETCWD): New macro.
114753         * m4/getcwd.m4: New file.
114755 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114757         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114758         like the HAVE_GETCWD_NULL code.
114759         Include pathmax.h if not HAVE_GETCWD.
114760         Do not include xalloc.h.
114761         (INITIAL_BUFFER_SIZE): New symbol.
114762         Do not use xmalloc / xrealloc, since the caller is responsible for
114763         handling errors.  Preserve errno around `free' during failure.
114764         Do not overrun buffer when using getwd.
114766 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114768         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114769         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114770         getcwd (NULL, 0).
114772 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114774         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114775         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114776         spotted by Jim Meyering.
114778 2001-09-03  Jim Meyering  <meyering@lucent.com>
114780         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114781         failure.
114783 2001-09-02  Jim Meyering  <meyering@lucent.com>
114785         * lib/error.c: Update from GNU libc.
114787 2001-09-01  Jim Meyering  <meyering@lucent.com>
114789         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114790         Used by df.
114792 2001-09-01  Jim Meyering  <meyering@lucent.com>
114794         * lib/xreadlink.c: New file.
114795         * lib/xreadlink.h: New file.
114796         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114797         xreadlink.h.
114799         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114800         doesn't conflict with sparc Solaris 7's definition in
114801         /usr/include/sys/int_types.h.
114803         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114804         files.
114805         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114806         and strncasecmp as r-values.  Unixware didn't have declarations.
114808 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114810         * lib/xstrtol.h: Add copyright notice.
114811         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114812         LONGINT_INVALID_SUFFIX_CHAR.
114814 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114816         * lib/xstrtol.c (strtoimax): New decl.
114818 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114820         * lib/xgetcwd.c: Don't include pathmax.h.
114821         Include stdlib.h and unistd.h if available.
114822         Include xalloc.h.
114823         (xmalloc, xstrdup, free): Remove decls.
114824         (xgetcwd): Don't assume sizes fit in unsigned.
114825         Check for overflow when computing sizes.
114826         Simplify reallocation code.
114828 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114830         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114831         a directory's st_size can have an arbitrary value, so the old
114832         usage could waste an arbitrary amount of memory.  All uses
114833         changed.
114834         * lib/savedir.h: Update prototype.
114836 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114838         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114840         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114841         old strtoimax.c.
114843         Also, make the following further changes to make this file's
114844         configuration more similar to that of strtol.c:
114845         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114846         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114847         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114848         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114849         changed to signed values.
114851         And make the following changes as well:
114852         Fix copyright notice, as 1999 was missing.
114853         (verify): New macro.
114854         (strtoimax): Check sizes at compile-time, not run-time.
114855         Prefer strtol to strtoll if both work.
114856         (main): Remove; it was not that useful and was a pain to maintain.
114858         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114860 2001-08-31  Jim Meyering  <meyering@lucent.com>
114862         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114863         Use an initial, malloc'd, buffer of length 128 rather than
114864         a statically allocated one of length 1024.
114866 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114868         Simplify code, partly by assuming autoconf 2.52 semantics.
114870         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114872         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114873         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114874         All uses removed.
114875         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114876         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114877         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114878         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114879         jm_AC_HEADER_INTTYPES_H.
114880         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114882         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114884         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114885         Quote first arg of AC_DEFUN.
114886         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114887         since they are needed to parse the include file even if we need
114888         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114889         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114890         but with opposite signedness.
114892 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114894         Merge 'exclude' changes from tar 1.13.22.
114895         This fixes one or two unlikely storage allocation overflow bugs,
114896         but doesn't change user-visible behavior otherwise.
114898 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114900         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114901         (jm_PREREQ_EXCLUDE): New macro.
114903 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114905         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114906         tm to be declared.
114908 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114910         * lib/hash.c: Remove '2001' from copyright notice.
114912 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114914         * lib/full-write.h: New file.
114915         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114916         * lib/full-write.c: Correct credits, as cccp.c no longer
114917         exists and anyway it was so heavily changed from the old cccp
114918         code as to be unrecognizable.  Include full-write.h.
114919         (full_write): Return size_t, with short writes meaning failure.
114920         All callers changed.  This fixes a bug with large buffers
114921         on 64-bit hosts.
114922         * lib/utime.c: Include full-write.h.
114924 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114926         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114927         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114928         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114929         Include if available.
114930         (<xalloc.h>): Include
114931         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114932         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114933         collide with FNM macros.
114934         (struct patopts): New struct.
114935         (struct exclude): Use it, as exclude patterns now come with options.
114936         (new_exclude): Support above changes.
114937         (new_exclude, add_exclude_file):
114938         Initial size must now be a power of two to simplify overflow checking.
114939         (free_exclude, fnmatch_no_wildcards): New function.
114940         (excluded_filename): No longer requires options arg, as the options
114941         are determined by add_exclude.  Now returns bool, not int.
114942         (excluded_filename, add_exclude):
114943         Add support for the fancy new exclusion options.
114944         (add_exclude, add_exclude_file): Now takes int options arg.
114945         Check for arithmetic overflow when computing sizes.
114946         (add_exclude_file): xrealloc might modify errno, so don't
114947         realloc until after errno might be used.
114949         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114950         New macros.
114951         (free_exclude): New decl.
114952         (add_exclude, add_exclude_file): Now takes int options arg.
114953         (excluded_filename): No longer requires options arg, as the options
114954         are determined by add_exclude.  Now returns bool, not int.
114956 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114958         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114960 2001-08-27  Jim Meyering  <meyering@lucent.com>
114962         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114964         * lib/version-etc.c (N_): Remove definition.
114965         Revert most of last change.
114966         Instead, simply don't mark the `Copyright...' string for translation.
114967         Based on advice from Paul Eggert.
114969         * lib/strtoxmax.c: Tweak comment.
114971 2001-08-26  Jim Meyering  <meyering@lucent.com>
114973         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
114975         * m4/xstrtoimax.m4: New file.
114976         * m4/xstrtoumax.m4: Add comments explaining why we
114977         AC_REPLACE_FUNCS(strtol).
114979 2001-08-26  Jim Meyering  <meyering@lucent.com>
114981         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
114982         of copyright with `%s' so translators don't get an untranslated
114983         message in 2002.
114984         (COPYRIGHT_YEAR): Define.
114985         (version_etc): Use fprintf rather than fputs.
114986         Suggestion from Ulrich Drepper.
114988         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
114990         * lib/strtoll.c: New file, from GNU libc.
114991         * lib/xstrtoimax.c: New file.
114993         * lib/xstrtol.h: Add xstrtoimax.
114994         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
114995         * lib/strtoimax.c: New file.  Likewise, but first define
114996         STRTOUXMAX_SIGNED.
114998         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
114999         ...
115000         * lib/strtoxmax.c: ... then renamed to this.
115002 2001-08-18  Paul Eggert  <eggert@twinsun.com>
115004         * m4/inttypes.m4: Add AC_PREREQ(2.13).
115005         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
115006         (jm_AC_TYPE_INTMAX_T): New macro.
115007         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
115009         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
115011         * m4/longlong.m4: Renamed from ulonglong.m4.
115012         * m4/inttypes.m4: Renamed from inttypes_h.m4.
115013         * m4/uintmax_t.m4: Removed.
115015 2001-08-13  Paul Eggert  <eggert@twinsun.com>
115017         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
115018         Port to Solaris 8, where 'sed' requires a space after the 'r'
115019         command, and where sh dislikes "$/".  Clean up the spacing a bit.
115020         Redirect output to $tmp just once.
115022 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
115024         * lib/addext.c (<errno.h>): Include.
115025         (errno): Declare if not defined.
115026         (addext): Work correctly when pathconf returns -1 and leaves
115027         errno alone because there is no limit.  Also, work even if
115028         pathconf returns a value greater than SIZE_MAX.
115030 2001-08-12  Jim Meyering  <meyering@lucent.com>
115032         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
115033         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
115034         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
115035         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
115036         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
115037         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
115038         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
115039         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
115040         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
115041         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
115042         utime.m4, utimes.m4, xstrtoumax.m4:
115043         Quote the first argument in each use of AC_DEFUN.
115045 2001-08-12  Jim Meyering  <meyering@lucent.com>
115047         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
115048         Simply `return getcwd (NULL, 0);'.
115049         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
115050         Use 1300 as initial value for length, not PATH_MAX.
115052         * lib/pathmax.h: Clean up cpp syntax.
115054 2001-08-12  Jim Meyering  <meyering@lucent.com>
115056         * lib/gettimeofday.c: New file.
115057         * lib/gtod.h: New file.
115058         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
115060 2001-08-05  Jim Meyering  <meyering@lucent.com>
115062         * m4/jm-macros.m4: Require autoconf-2.52.
115064 2001-08-04  Jim Meyering  <meyering@lucent.com>
115066         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
115067         stmt, to get in sync with glibc.
115069 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115071         The following changes are from gettext 0.10.39 as maintained by
115072         Bruno Haible.
115074         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
115075         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
115076         with inverted sense.  All uses changed.
115078         * lib/mbswidth.c: Don't include <limits.h>.
115079         Include <stdlib.h> and <string.h> unconditionally.
115080         (iswcntrl, mbsinit, ISCNTRL): New macros.
115081         (mbsnwidth): Use K&R style function declarations.
115082         Don't bother checking for MB_LEN_MAX == 1, since the compiler
115083         can optimize it when MB_CUR_MAX == 1.
115084         The width of control characters is zero, not 1.
115086 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115088         The following changes are from gettext 0.10.39 as maintained by
115089         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
115091         * m4/codeset.m4: Upgrade to serial AM1.
115092         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
115093         all uses changed.  Quote first arg of AC_DEFUN.
115094         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
115096         * m4/iconv.m4: Upgrade to serial AM2.
115097         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
115098         Add --with-libconv-prefix.
115099         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
115100         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
115101         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
115102         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
115103         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
115105         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
115106         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
115107         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
115108         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
115109         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
115110         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
115111         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
115112         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
115113         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115115         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
115116         string.h any more.
115118         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
115119         not the default value.
115121         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
115122         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
115123         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
115124         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
115125         Also check for iswcntrl, used for wcwidth fallback.
115126         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
115127         to Autoconf 2.13.
115129 2001-08-03  Jim Meyering  <meyering@lucent.com>
115131         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
115132         as it was in the original.  Reported by Paul Eggert.
115134 2001-07-16  Jim Meyering  <meyering@lucent.com>
115136         * m4/gettimeofday.m4: New file.
115137         Prompted by a report from Bernhard Baehr.
115139 2001-07-15  Jim Meyering  <meyering@lucent.com>
115141         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
115142         stuff. Now it's in ../Makefile.cfg.
115144 2001-07-15  Jim Meyering  <meyering@lucent.com>
115146         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
115147         (BUILT_SOURCES): Add unlocked-io.h.
115148         (io_functions): Define.
115149         (unlocked-io.h): New rule.
115150         (DISTCLEANFILES): Add unlocked-io.h.
115151         (all-local): Depend on unlocked-io.h, to ensure it is created.
115153         * lib/unlocked-io.hin: New file
115155         * lib/regex.c: Update from glibc.
115157 2001-07-05  Jim Meyering  <meyering@lucent.com>
115159         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
115160         recommendation.
115161         (libfetish_a_SOURCES): Put all .h files here instead.
115162         Remove a thus-exposed (better checks in automake) duplicate and
115163         two unnecessary .h files.
115165 2001-07-04  Jim Meyering  <meyering@lucent.com>
115167         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
115168         that generates jm-glibc-io.m4 so that it doesn't trigger any make
115169         distcheck failure.
115171 2001-07-02  Jim Meyering  <meyering@lucent.com>
115173         The following changes were prompted by suggestions from Bruno Haible.
115175         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
115176         is now generated.
115177         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
115178         definition of EXTRA_DIST.
115179         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
115180         ensure that the generated file is created/updated whenever the list
115181         of $(unlocked_functions) is changed.
115182         (jm-glibc-io.m4): New rule.
115183         (unlocked-io.h): New rule -- currently unused.
115185 2001-06-24  Jim Meyering  <meyering@lucent.com>
115187         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
115188         unmatched right bracket, rather than kludging it with an extra,
115189         falsely-matching quote in a comment.  Patch by Akim Demaille.
115191 2001-06-11  Jim Meyering  <meyering@lucent.com>
115193         * lib/regex.c: Update from GNU libc.
115195 2001-05-27  Jim Meyering  <meyering@lucent.com>
115197         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
115198         Check for ut_type in struct utmp.
115200 2001-05-27  Jim Meyering  <meyering@lucent.com>
115202         * lib/readutmp.h (UT_TYPE): Define.
115204 2001-05-24  Jim Meyering  <meyering@lucent.com>
115206         * lib/argmatch.c: Include "quote.h".
115207         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
115208         quote function.  Reported by Göran Uddeborg.
115210 2001-05-22  Jim Meyering  <meyering@lucent.com>
115212         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
115213         now that we use the package-supplied version unconditionally.
115214         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
115216 2001-05-21  Jim Meyering  <meyering@lucent.com>
115218         * m4/regex.m4: Change a couple backticks to single quotes to avoid
115219         shell syntax errors.
115221 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115223         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
115225 2001-05-20  Paul Eggert  <eggert@twinsun.com>
115227         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
115228         Don't bother to check library strftime, since
115229         we'll be using our own my_strftime function anyway.
115230         Define my_strftime instead of strftime.
115232 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
115234         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
115235         which is not yet declared.
115237 2001-05-15  Jim Meyering  <meyering@lucent.com>
115239         * m4/regex.m4: Use proper quoting so brackets appear in the test
115240         program.
115241         Reported by, and with help from, Bruno Haible.
115243 2001-05-13  Jim Meyering  <meyering@lucent.com>
115245         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
115246         undefined.
115248 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115250         dirname code cleanup.  base_name now behaves more compatibly
115251         with POSIX basename when given file names that have trailing
115252         slashes, and similarly for dir_name.  Add new primitives
115253         base_len and dir_len.  Put the directory-name-related decls
115254         into dirname.h.
115256         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
115257         * lib/backupfile.c (base_name): Likewise.
115258         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
115259         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
115260         * lib/makepath.c (strip_trailing_slashes): Likewise.
115261         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
115262         ISSLASH): Likewise.
115263         * lib/rename.c (strip_trailing_slashes): Likewise.
115264         * lib/same.c (base_name): Likewise.
115265         * lib/stripslash.c (ISSLASH): Likewise.
115267         * lib/addext.c: Include <dirname.h> after size_t is defined.
115268         * lib/backupfile.c: Likewise.
115270         * lib/addext.c (addext): Use base_len to trim redundant
115271         trailing slashes instead of doing it ourselves.
115272         But do not trim the last slash if it is not redundant.
115274         * lib/backupfile.c (find_backup_file_name,
115275         max_backup_version): Use base_len instead of rolling it ourselves.
115276         Handle the case of "" and (on DOS) "C:" correctly.
115278         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
115279         needed. Include <string.h>, <dirname.h>.
115280         (base_name): Allow file names ending in slashes, other than names
115281         that are all slashes.  In this case, return the basename followed
115282         by the slashes.  This is more general, and can be used in places
115283         where the original base_name purposely had an assertion failure.
115284         (base_len): New function.
115286         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
115287         Do not include <assert.h>; no longer needed.
115288         Include xalloc.h.
115289         (memrchr): Remove decl.
115290         (dir_name_r): Remove.
115291         (dir_len): Renamed from dirlen.  All callers changed.
115292         Rewrite in terms of base_name, for simplicity and consistency.
115293         (dir_name): Never return NULL.  All callers changed.
115294         Do not include <stdlib.h> in test program; no longer needed.
115295         return 0; is fine for test program.
115297         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
115298         New macros.
115299         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
115301         * lib/path-concat.c (path_concat): Use base_len to compute
115302         base length, not strlen; this means we cannot rely on memcpy
115303         to null-terminate.
115305         * lib/same.c (STREQ): Remove.
115306         (same_name): Handle the case where the basename ends in trailing '/'.
115308         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
115309         a slash was stripped.  Do not strip the last slash after a
115310         file system prefix.
115312 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115314         * lib/Makefile.am (libfetish_a_SOURCES):
115315         Add strftime.c, since we now compile it on all hosts.
115317         * lib/strftime.c (my_strftime):
115318         Define to nstrftime if emacs, but only if my_strftime is not defined.
115319         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
115320         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
115321         Add one more extra argument: a nanoseconds value.
115322         All uses changed.
115323         (ns): New macro.
115324         (my_strftime function): Add %N format.
115325         (emacs_strftimeu): Renamed from emacs_strftime,
115326         with extra ut argument.
115328 2001-05-09  Paul Eggert  <eggert@twinsun.com>
115330         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
115332 2001-04-21  Jim Meyering  <meyering@lucent.com>
115334         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
115335         doesn't interfere.
115337 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115339         * m4/ftruncate.m4: Check for chsize.
115340         Link with ftruncate.o unconditionally if ftruncate is missing.
115341         This was required when cross-compiling to i586-mingw32msvc.
115343 2001-04-08  Jim Meyering  <meyering@lucent.com>
115345         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
115346         recomputed; that's necessary when the offset spans a DST transition.
115347         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
115349 2001-04-02  Jim Meyering  <meyering@lucent.com>
115351         * lib/regex.h, regex.c: Update from GNU libc.
115353 2001-03-24  Jim Meyering  <meyering@lucent.com>
115355         * m4/jm-macros.m4: Require autoconf-2.49d.
115357 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
115359         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
115361 2001-03-19  Paul Eggert  <eggert@twinsun.com>
115363         * lib/version-etc.c (version_etc_copyright): Update to 2001.
115365 2001-03-17  Jim Meyering  <meyering@lucent.com>
115367         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
115368         now that the version in autoconf is equivalent.
115369         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
115371         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
115372         Suggestion from Akim Demaille.
115374         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
115375         (jm_PREREQ_TEMPNAME): New function.
115377 2001-03-16  Paul Eggert  <eggert@twinsun.com>
115379         * lib/tempname.c (uint64_t): Define to uintmax_t if
115380         not defined, and if UINT64_MAX is not defined.
115381         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
115382         Reported by John David Anglin.
115384 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
115386         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
115387         resolve alias if codeset is empty.
115388         * lib/config.charset (BeOS): Use wildcard syntax.
115390 2001-03-13  Jim Meyering  <meyering@lucent.com>
115392         * lib/path-concat.c (path_concat)
115393         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
115394         concatenating e.g., `C:' and `foo'.
115395         From Bruno Haible.
115397 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115399         * lib/localcharset.c (locale_charset): Don't use
115400         setlocale(LC_CTYPE,NULL). Don't return NULL.
115401         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
115403 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115405         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
115406         support for DOS/DJGPP.
115408 2001-03-01  Paul Eggert  <eggert@twinsun.com>
115410         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
115411         lacks mkstemp.  Compile our own tempname.c if we compile our own
115412         mkstemp.c, as mkstemp relies on tempname.
115414 2001-03-01  Jim Meyering  <meyering@lucent.com>
115416         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
115417         AH_VERBATIM really does output its argument verbatim.
115419 2001-02-28  Paul Eggert  <eggert@twinsun.com>
115421         * lib/Makefile.am (libfetish_a_SOURCES):
115422         Add dup-safer.c, fopen-safer.c.
115423         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
115425         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
115426         * lib/unistd-safer.h: New files.
115428 2001-02-25  Paul Eggert  <eggert@twinsun.com>
115430         The mkstemp replacement is taken from glibc 2.2.2, with some
115431         portability fixes for use outside glibc, as follows:
115433         * lib/tempname.c (struct_stat64): New macro.
115434         (direxists, __gen_tempname): Use it.
115435         This avoids a portability problem with Solaris 8.
115437         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
115438         (<stddef.h>, <stdint.h>, <string.h>):
115439         Include only if STDC_HEADERS || _LIBC.
115440         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
115441         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
115442         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
115443         (__set_errno): Define this macro if <errno.h> doesn't.
115444         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
115445         Define these macros if <stdio.h> doesn't.
115446         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
115447         Define these macros if <sys/stat.h>
115448         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
115449         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
115450         __xstat64): Define if not _LIBC.
115451         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
115452         (__gen_tempname): Invoke gettimeofday only if
115453         HAVE_GETTIMEOFDAY || _LIBC;
115454         otherwise, fall back on plain "time".
115455         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
115457         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
115459         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
115461 2001-02-18  Paul Eggert  <eggert@twinsun.com>
115463         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
115465 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115467         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
115468         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
115469         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
115470         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
115472 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115474         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
115475         Remove workaround macros for hosts that have mbrtowc but not
115476         mbstate_t, as we now insist on proper declarations for both
115477         before using mbrtowc.
115479 2001-02-17  Jim Meyering  <meyering@lucent.com>
115481         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
115482         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
115483         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
115484         UnixWare 7.1.1.
115486         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
115487         rather than AC_CACHE_VAL.
115489 2001-02-17  Jim Meyering  <meyering@lucent.com>
115491         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
115492         around included file name.
115494         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
115496         * lib/strftime.c: Update from GNU libc (the only changes were to
115497         comments).
115499 2001-02-17  Jim Meyering  <meyering@lucent.com>
115501         * lib/regex.c: Update from libc.
115503 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
115505         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
115506         clash.
115508 2001-02-16  Paul Eggert  <eggert@twinsun.com>
115510         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
115511         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
115512         Reported by Mark Hounschell via Paul Eggert.
115514 2001-02-07  Jim Meyering  <meyering@lucent.com>
115516         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
115518 2001-02-05  Jim Meyering  <meyering@lucent.com>
115520         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
115521         it includes the patch required for `large file' support with at least
115522         HP-UX's 10.20 /bin/cc.
115524 2001-02-03  Jim Meyering  <meyering@lucent.com>
115526         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
115527         AS_IF, now that it works once again (mysteriously).
115528         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115530 2001-01-30  Jim Meyering  <meyering@lucent.com>
115532         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
115533         * m4/chown.m4: Rename conftestchown to conftest.chown.
115534         * m4/rename.m4: s/conftestdir/conftest.d1/ and
115535         s/conftestdir2/conftest.d2/.
115536         * m4/utimes.m4: s/conftestdata/conftest.data/
115537         Inspired by Pavel Roskin's change in autoconf.
115539 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
115541         * lib/config.charset: Update for FreeBSD 4.2.
115543 2001-01-27  Jim Meyering  <meyering@lucent.com>
115545         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
115546         a use of AS_IF.
115547         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115549 2001-01-26  Jim Meyering  <meyering@lucent.com>
115551         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
115552         quotearg.c includes it.
115554 2001-01-26  Jim Meyering  <meyering@lucent.com>
115556         * lib/quotearg.c: Include stddef.h.
115557         * lib/quote.c: Include stddef.h.
115558         Reported by Axel Kittenberger.
115560         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
115561         line in double quotes so that it evokes a better diagnostic.
115562         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
115563         Reported by Axel Kittenberger.
115565 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
115567         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
115568         as if it was a `charset'.
115570 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115572         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
115573         has const.
115575 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115577         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
115578         to avoid a warning.  Add back 'const' to inptr.
115580 2001-01-20  Jim Meyering  <meyering@lucent.com>
115582         Be sure that headers are checked before used in code compiled
115583         for the type checks.
115584         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
115585         In place of that, invoke jm_CHECK_ALL_TYPES.
115586         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
115587         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
115588         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
115589         The check for ssize_t was mistakenly run before the test for unistd.h.
115591         The configure-time check for stdbool.h was missing.
115592         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
115593         (jm_PREREQ_HASH): New function.
115595 2001-01-17  Jim Meyering  <meyering@lucent.com>
115597         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
115598         for autoconf-2.49c.
115599         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
115601 2001-01-16  Jim Meyering  <meyering@lucent.com>
115603         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
115604         From Bruno Haible.
115606 2001-01-14  Jim Meyering  <meyering@lucent.com>
115608         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
115609         foo and bar.  Create conftestdir/ in the script, not in the C code.
115610         Remove directories in the script, not in the C code.
115611         Remove conftestdir{,2} before trying to create the directory.
115612         Make the entire configure script fail if the mkdir fails.
115614 2001-01-14  Jim Meyering  <meyering@lucent.com>
115616         * lib/rename.c: New file.  From Volker Borchert.
115617         Include stdlib.h, string.h or strings.h, and xalloc.h.
115618         Use strip_trailing_slashes rather than open-coding it.
115620 2001-01-03  Paul Eggert  <eggert@twinsun.com>
115622         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
115624 2001-01-03  Jim Meyering  <meyering@lucent.com>
115626         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
115627         of local `inptr' to avoid warning with some system declarations of
115628         iconv.
115630 2001-01-02  Volker Borchert  <bt@teknon.de>
115632         * m4/rename.m4: New file.
115633         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
115635 2001-01-01  Jim Meyering  <meyering@lucent.com>
115637         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
115638         even on systems with utmpx.h.  It's necessary for the declaration of
115639         utmp's ut_user member.  Reported by Andreas Jaeger.
115641         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
115642         available. They are required for the declarations of getgrgid and
115643         getpwuid resp.
115644         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
115645         Reported by Andreas Jaeger.
115647 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
115649         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
115650         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
115651         so `make install' also works in VPATH builds.
115653 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
115655         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
115656         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
115657         can be used in subdirectories.
115659 2000-12-29  Paul Eggert  <eggert@twinsun.com>
115661         * lib/modechange.c: Do not assume that mode_t uses the
115662         traditional octal encoding.  E.g. "chmod 1 FOO" should set
115663         the other-execute bit of FOO even if S_IXOTH != 1.
115665         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
115666         WOTH, XOTH, ALLM): New macros.
115667         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
115668          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
115669         Use them.
115670         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
115671         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
115672         (mode_compile):
115673         No need to use uintmax_t; unsigned long is long enough.
115674         Don't bother to get suffix since we don't use it.
115676 2000-12-26  Jim Meyering  <meyering@lucent.com>
115678         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
115679         better with autoheader.
115681 2000-12-24  Jim Meyering  <meyering@lucent.com>
115683         * lib/hash.c (is_prime): Return explicit boolean values.
115684         (hash_get_first): Return NULL to appease Irix5.6's 89.
115685         Reported by Nelson Beebe.
115687 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
115689         * lib/localcharset.c (locale_charset): Add support for Win32.
115691 2000-12-18  Paul Eggert  <eggert@twinsun.com>
115693         * lib/physmem.h, lib/physmem.c: New files.
115695         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
115696         (noinst_HEADERS): Add physmem.h.
115698         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
115699         't' for compatibility with Solaris 8 sort.
115701 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
115703         * lib/config.charset: Add support for BeOS.
115705 2000-12-17  Jim Meyering  <meyering@lucent.com>
115707         * m4/dos.m4 (jm_AC_DOS): New file and macro.
115708         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
115710 2000-12-16  Jim Meyering  <meyering@lucent.com>
115712         This bug had a serious impact on chown: `chown N:M FILE' (for integer
115713         N and M) would have treated it like `chown N:N FILE'.
115715         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
115717 2000-12-16  Jim Meyering  <meyering@lucent.com>
115719         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
115720         SHELLS_FILE to a file name that's useful on djgpp systems.
115721         Include stdlib.h.
115722         (ADDITIONAL_DEFAULT_SHELLS): Define.
115723         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
115724         Based mostly on a patch from Prashant TR.
115726 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
115728         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
115729         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
115730         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
115732 2000-12-08  Andreas Schwab  <schwab@suse.de>
115734         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
115735         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
115737 2000-12-07  Jim Meyering  <meyering@lucent.com>
115739         * lib/stripslash.c (ISSLASH): Define.
115740         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115741         `/'.
115742         From Prashant TR.
115744         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115745         (dir_name_r): Declare this function as static.
115746         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115747         manifest itself on a name containing a mix of slashes and
115748         backslashes.
115749         Make this function work with names starting with a DOS-style
115750         drive letter and colon prefix.
115751         (dir_name): Append `.' if necessary.
115752         Based mostly on patches from Prashant TR and Eli Zaretskii.
115754         * lib/dirname.h (dir_name_r): Remove prototype.
115756 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115758         * m4/off_t-format.m4: Remove this file.
115759         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115761 2000-12-06  Jim Meyering  <meyering@lucent.com>
115763         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115764         replacement strtoull, we may well need the replacement strtoul, too.
115765         Check for declarations of strtoul and strtoull.
115766         Check for strtol.  Mainly as a cue to cause automake to include
115767         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115768         Check for limits.h -- strtol.c needs it.
115770 2000-12-05  Jim Meyering  <meyering@lucent.com>
115772         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115774 2000-12-04  Jim Meyering  <meyering@lucent.com>
115776         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115777         Also include memory.h, stdlib.h, unistd.h if appropriate.
115778         Reported by Andreas Jaeger (conflicting declaration of malloc).
115780 2000-12-02  Jim Meyering  <meyering@lucent.com>
115782         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115783         * m4/jm-macros.m4 (jm_MACROS): require it.
115785 2000-12-02  Jim Meyering  <meyering@lucent.com>
115787         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115789 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115791         * lib/memrchr.c: Include <config.h> before any system include file.
115793 2000-11-30  Jim Meyering  <meyering@lucent.com>
115795         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115797 2000-11-30  Jim Meyering  <meyering@lucent.com>
115799         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115801 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115803         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115805 2000-11-26  Jim Meyering  <meyering@lucent.com>
115807         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115809 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115811         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115812         size of (size_t) -1; it's not portable.
115814 2000-11-17  Jim Meyering  <meyering@lucent.com>
115816         * lib/strstr.c: Update from GNU libc.
115818 2000-11-17  Akim Demaille  <akim@epita.fr>
115820         * lib/obstack.h: Formatting changes.
115821         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115822         prevent type checking.
115823         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115824         cast the value to (void *): assigning a `foo *' to a `void *'
115825         variable is valid.
115826         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115828 2000-11-16  Jim Meyering  <meyering@lucent.com>
115830         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115832 2000-11-11  Jim Meyering  <meyering@lucent.com>
115834         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115836 2000-11-10  Jim Meyering  <meyering@lucent.com>
115838         * lib/obstack.h: Update from GNU libc.
115839         * lib/obstack.c: Likewise.
115841 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115843         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115845 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115847         * lib/getusershell.c (setusershell): Use rewind rather than
115848         fseek/fseeko, to avoid configuration hassles with fseeko.
115849         Don't bother opening SHELLS_FILE if shellstream is NULL;
115850         it's not necessary.
115852 2000-11-05  Jim Meyering  <meyering@lucent.com>
115854         * lib/makepath.h (make_dir): Declare.
115855         * lib/makepath.c (make_dir): Remove `static' attribute.
115856         Tweak a comment.
115858 2000-11-04  Jim Meyering  <meyering@lucent.com>
115860         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115862 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115864         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115865         last one in a bucket, advance to the next bucket.
115867 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115869         * lib/fnmatch.c: Do not comment out all the code if we are using
115870         the GNU C library, because in some cases we are replacing buggy
115871         code in the GNU C library itself.
115873 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115875         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115876         (regex_compile): Catch bogus \(\1\).
115878 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115880         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115881         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115882         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115884 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115886         * lib/error.h, getline.h, modechange.h:
115887         Remove "2000" from Copyright line, as the file hasn't been
115888         changed this year other than in the copyright notice.
115890         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115891         was changed this year.
115893 2000-10-29  Jim Meyering  <meyering@lucent.com>
115895         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115896         renaming.
115897         * m4/ls-mntd-fs.m4: Likewise
115899 2000-10-29  Jim Meyering  <meyering@lucent.com>
115901         * lib/xstat.in: Fix grammar in comment.
115903 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115905         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115906         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115907         doesn't define __restrict_arr.
115909 2000-10-28  Jim Meyering  <meyering@lucent.com>
115911         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115912         (jm_PREREQ_MEMCHR): New function.
115914 2000-10-28  Jim Meyering  <meyering@lucent.com>
115916         * lib/memchr.c: Update from libc.
115917         Adjust for portability:
115918         [HAVE_STDLIB_H]: Include stdlib.h.
115919         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115920         Undef __memchr, too.
115921         [!weak_alias]: Define __memchr to memchr.
115923         * lib/regex.c: Update from libc.
115924         * lib/regex.h: Likewise.
115925         * lib/getopt1.c: Likewise.
115926         * lib/memcmp.c: Likewise.
115928         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115929         Avoid using fseek, when possible -- it's broken by design.
115930         Patch by Ulrich Drepper.
115932 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115934         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115935         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115936         Giving in to popular pressure to shut up the compiler with casts.
115938 2000-10-26  Jim Meyering  <meyering@lucent.com>
115940         * lib/strftime.c: Update from libc.
115942 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115944         * regex.c: More `unsigned char' -> `re_char' changes.
115945         Also change several `int' into `re_wchar_t'.
115946         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115947         (PUSH_FAILURE_POINTER): Don't cast any more.
115948         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115949         We want GCC to complain, since this piece of code makes
115950         re_match non-reentrant, which *should* be fixed.
115951         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115952         (EXTEND_BUFFER): Use RETALLOC.
115953         (SET_LIST_BIT): Don't cast.
115954         (re_wchar_t): New type.
115955         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115956         that those two functions will always properly return.
115957         (IMMEDIATE_QUIT_CHECK): Cast to void.
115958         (analyse_first): Use recursion rather than an explicit stack.
115959         (re_compile_fastmap): Can't fail anymore.
115960         (re_search_2): Don't check re_compile_fastmap for failure.
115961         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115962         Now also sets the new value (passed in a new argument).
115963         (re_match_2_internal): Use it.
115964         Also, use a new var `reg' of type size_t when looping through regs
115965         rather than reuse the inappropriate `mcnt'.
115967 2000-10-25  Jim Meyering  <meyering@lucent.com>
115969         * lib/obstack.c: Update from libc.
115971 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
115973         * regex.c (regex_compile): Change the way of handling a range from
115974         a char less than 256 to a char not less than 256.
115976 2000-10-24  Andrew Innes  <andrewi@gnu.org>
115978         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
115979         NT-Emacs only.
115980         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
115981         so that re_search functions only quit when callers expect them to.
115983 2000-10-23  Jim Meyering  <meyering@lucent.com>
115985         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
115986         wrong.  That set_locale call must not have any side effects.
115987         From Paul Eggert.
115989 2000-10-22  Jim Meyering  <meyering@lucent.com>
115991         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
115992         [CYCLIC]: Remove now-unused definition.
115994         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
115995         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
115996         Suggestion from Ulrich Drepper.
115998 2000-10-21  Jim Meyering  <meyering@lucent.com>
116000         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
116001         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
116002         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
116004 2000-10-21  Jim Meyering  <meyering@lucent.com>
116006         * lib/dirname.c (memrchr): Declare if necessary.
116007         (dir_name): Remove the restriction that there be no
116008         trailing slashes.  Now, this code skips past them, effectively
116009         ignoring them.
116010         [TEST_DIRNAME] (main): New unit tests.
116012         * lib/memrchr.c: New file from GNU libc.
116013         Undef __memrchr, too.
116014         [!weak_alias]: Define __memrchr to memrchr.
116015         Guard weak_alias use with `#ifdef weak_alias'.
116017 2000-10-21  Jim Meyering  <meyering@lucent.com>
116019         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
116020         (dir_name): Use dir_name_r.
116021         * lib/dirname.h (dir_name_r): Declare it.
116023 2000-10-17  Jim Meyering  <meyering@lucent.com>
116025         * lib/quote.h (PARAMS): Define and use.
116026         Reported by Akim Demaille.
116028         * lib/getopt.c: Update from libc.
116030 2000-10-16  Jim Meyering  <meyering@lucent.com>
116032         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
116033         setlocale.
116034         From Jan Fedak.
116036 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
116038         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
116040 2000-09-25  Jim Meyering  <meyering@lucent.com>
116042         * lib/md5.h (rol): Define (from GnuPG).
116044         * lib/sha.c: Give credit (GnuPG) where due.
116045         (M): Use rol rather than open-coding it.
116046         Add a FIXME comment.
116048 2000-09-21  Jim Meyering  <meyering@lucent.com>
116050         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
116051         Reported by Michael Stone.
116053 2000-09-20  Jim Meyering  <meyering@lucent.com>
116055         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
116056         (noinst_HEADERS): Add sha.h.
116057         Based on code from Scott G. Miller and from GnuPG.
116059 2000-09-18  Jim Meyering  <meyering@lucent.com>
116061         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
116062         LIBS. Otherwise, everyone ends up linking with -lelf for some
116063         configurations.
116064         Reported by Mike Stone.
116066 2000-09-15  Jim Meyering  <meyering@lucent.com>
116068         * lib/regex.c: Update from libc.
116070 2000-09-10  Jim Meyering  <meyering@lucent.com>
116072         * lib/getopt.c (_getopt_internal): Update from glibc.
116074 2000-09-09  Jim Meyering  <meyering@lucent.com>
116076         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
116077         think it should be used as a general replacement for isascii.
116078         * lib/fnmatch.c: Likewise.
116079         * lib/mbswidth.c: Likewise
116080         * lib/regex.c: Likewise.
116082         Don't use atoi.
116083         * lib/userspec.c: Include sys/param.h and limits.h.
116084         Include xstrtol.h.
116085         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
116086         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
116087         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
116088         UID, GID.  Check range.
116090 2000-09-06  Jim Meyering  <meyering@lucent.com>
116092         * lib/getopt.c (_getopt_internal): Update from glibc.
116094 2000-08-30  Jim Meyering  <meyering@lucent.com>
116096         * lib/strftime.c: Merge in changes from GNU libc.
116098 2000-08-26  Jim Meyering  <meyering@lucent.com>
116100         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
116101         * m4/fpending.m4: New file.
116103 2000-08-26  Jim Meyering  <meyering@lucent.com>
116105         * lib/closeout.c: Include "__fpending.h".
116106         (close_stdout_status): Return right away if there's nothing to flush.
116108         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
116109         * lib/__fpending.c: New file.
116110         * lib/__fpending.h: New file.
116112 2000-08-20  Jim Meyering  <meyering@lucent.com>
116114         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
116115         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
116116         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
116118 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
116120         Improve fileutils installation on systems where running
116121         programs (like install) can't be unlinked.
116122         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
116123         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
116125 2000-08-07  Paul Eggert  <eggert@twinsun.com>
116127         Standardize on "memory exhausted" instead of "Memory exhausted"
116128         or "virtual memory exhausted".
116129         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
116130         "virtual memory exhausted".
116131         * lib/same.c (same_name): Invoke xalloc_die instead of printing
116132         our own message.
116133         * lib/userspec.c (parse_user_spec): Likewise.
116134         * lib/bumpalloc.h: comment fix
116135         * lib/same.c, userspec.c: Include xalloc.h.
116137         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
116138         not char *const and pointing to a constant array.
116139         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
116140         (xrealloc): Comment fix.
116142         * lib/userspec.c (parse_user_spec):
116143         Don't translate a message until just before returning,
116144         to avoid unnecessary translation.
116146 2000-08-07  Jim Meyering  <meyering@lucent.com>
116148         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
116149         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
116150         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
116151         getgroups.c, gethostname.c, getopt.h, group-member.c,
116152         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
116153         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
116154         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
116155         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
116156         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
116157         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
116158         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
116159         yesno.c: Back out Copyright date changes for each file with no change
116160         this year.  This eases coordination with other programs using the same
116161         source code modules.  From Paul Eggert.
116163 2000-08-06  Paul Eggert  <eggert@twinsun.com>
116165         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
116166         not char, for compatibility with glibc 2.1.3 strftime.c.
116168 2000-08-03  Greg McGary  <greg@mcgary.org>
116170         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
116171         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
116172         (EXTEND_BUFFER): Use them.
116174 2000-08-01  Jim Meyering  <meyering@lucent.com>
116176         * lib/dirname.c (ISSLASH): Define.
116177         (BACKSLASH_IS_PATH_SEPARATOR): Define.
116178         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
116179         both `\' and `/' may be use as path separators.
116180         Based on a patch from Prashant TR.
116182 2000-07-31  Paul Eggert  <eggert@twinsun.com>
116184         * lib/quotearg.c (quotearg_n_options): Don't make the initial
116185         slot vector a constant, since it might get modified.
116187 2000-07-31  Jim Meyering  <meyering@lucent.com>
116189         * lib/xmalloc.c: Use `virtual memory exhausted', not
116190         `Memory exhausted'.
116191         * lib/obstack.c (print_and_abort): Likewise.
116193 2000-07-30  Paul Eggert  <eggert@twinsun.com>
116195         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
116196         buffer, so that the caller can always quote one small
116197         component of a "memory exhausted" message in slot 0.
116198         From a suggestion by Jim Meyering.
116200 2000-07-30  Jim Meyering  <meyering@lucent.com>
116202         * lib/makepath.c (make_path): Quote the other instance, too.
116204         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
116205         (STATIC_BUF_SIZE): Define.
116206         (quotearg_n_options): Use only statically allocated storage when
116207         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
116208         than STATIC_BUF_SIZE.
116210 2000-07-29  Jim Meyering  <meyering@lucent.com>
116212         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
116213         * lib/dirname.c (dir_name): Likewise.
116215         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
116216         `/'.
116218         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
116219         (dir_name): Assert that there are no trailing slashes.
116221 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
116223         * lib/mbswidth.h (mbswidth): Add a flags argument.
116224         (mbswidth): New declaration.
116225         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
116226         * lib/mbswidth.c (mbswidth): Add a flags argument.
116227         (mbsnwidth): New function.
116229 2000-07-24  Jim Meyering  <meyering@lucent.com>
116231         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
116233 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116235         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
116237 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116239         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
116240         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
116241         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
116242         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
116243         invoke multibyte primitives.
116245 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116247         * lib/quotearg.c:
116248         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
116249         so that mbstate_t is always defined.
116251         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
116252         be 1 in at least one GCC installation, and this configuration
116253         error is likely to be common.  Ignoring MB_LEN_MAX hurts
116254         performance on hosts that have mbrtowc but have only unibyte
116255         locales, but I assume these hosts are rare.
116257 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116259         * lib/mbswidth.c (_XOPEN_SOURCE):
116260         Don't define; this causes problems on Solaris 7.
116261         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
116263 2000-07-23  Jim Meyering  <meyering@lucent.com>
116265         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
116266         too: getgrgid, getpwuid, getuid.
116268 2000-07-23  Jim Meyering  <meyering@lucent.com>
116270         * lib/basename.c (base_name): Add an assertion.
116272 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
116274         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
116275         shadow its mbsinit function.
116277 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116279         * lib/mbswidth.h: New file.
116280         * lib/mbswidth.c: New file.
116281         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
116282         (noinst_HEADERS): Add mbswidth.h.
116284 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116286         * lib/config.charset: Add support for FreeBSD. Improve support for
116287         HP-UX and IRIX 6.
116289 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
116291         * m4/mbswidth.m4: New file.
116292         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
116294 2000-07-15  Jim Meyering  <meyering@lucent.com>
116296         * lib/makepath.c: Include quote.h.
116297         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
116298         corresponding argument in a `quote (...)' call.
116299         Give better diagnostics.
116301         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
116302         (noinst_HEADERS): Add quote.h.
116304         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
116305         from tar's src/misc.c.
116306         * lib/quote.h: New file.  Prototypes for same.
116308 2000-07-14  Paul Eggert  <eggert@twinsun.com>
116310         From a suggestion by Bruno Haible.
116311         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
116312         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
116313         to decide whether to define the BeOS workaround macro;
116314         this adjusts to the change to AC_MBSTATE_T.
116316 2000-07-14  Jim Meyering  <meyering@lucent.com>
116318         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
116319         jm_AC_TYPE_UINTMAX_T.
116321 2000-07-13  Paul Eggert  <eggert@twinsun.com>
116323         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
116325         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
116326         quotearg_buffer_restyled): Add support for
116327         clocale_quoting_style.  Undo previous change to
116328         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
116329         and "{RIGHT QUOTATION MARK}" msgids.
116331 2000-07-10  Paul Eggert  <eggert@twinsun.com>
116333         From a suggestion by Bruno Haible.
116334         * m4/mbstate_t.m4 (AC_MBSTATE_T):
116335         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
116336         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
116337         and mbstate_t, to a single-part test that simply defines mbstate_t.
116338         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
116339         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
116341 2000-07-10  Jim Meyering  <meyering@lucent.com>
116343         * m4/strerror_r.m4: Mirror the correction made in autoconf.
116345         * m4/gnu-source.m4: Output to confdefs.h directly.
116346         Suggestion from Akim Demaille.
116348 2000-07-09  Paul Eggert  <eggert@twinsun.com>
116350         The old behavior of quoting `like this' doesn't look good with
116351         newer, ISO-style fonts.  See:
116352         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
116354         Instead, quote "like this" by default.  Let the translator
116355         tailor the locale-specific quoting behavior by providing
116356         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
116358         * lib/quotearg.c (N_): New macro.
116359         (gettext_default): New function.
116360         (quotearg_buffer_restyled): Use
116361         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
116362         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
116364 2000-07-09  Jim Meyering  <meyering@lucent.com>
116366         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
116367         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
116369         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
116370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
116372 2000-07-09  Jim Meyering  <meyering@lucent.com>
116374         * lib/Most files: Update copyright dates to include 2000.
116376 2000-07-08  Jim Meyering  <meyering@lucent.com>
116378         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
116379         if not defined.
116380         (xgethostname): Remove now-unnecessary #ifdef.
116381         Move declaration of `err' into loop where it's used.
116383 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116384         and Bruno Haible  <haible@clisp.cons.org>
116386         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
116387         only if the test for an object-type mbstate_t fails.  This
116388         prevents us from mistakenly reporting that mbstate_t is a
116389         system object type after we "#define mbstate_t int" to work
116390         around its lack.
116392 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116393         and Bruno Haible  <haible@clisp.cons.org>
116395         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
116397 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116399         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
116400         to strerror_r.
116401         Include <ctype.h> for use of isalpha.
116403 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116405         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
116406         by allocating a larger buffer. Test the gethostname return value for
116407         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
116408         returns an error and ENAMETOOLONG isn't defined.
116410 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116412         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
116413         dimension.
116415 2000-07-04  Jim Meyering  <meyering@lucent.com>
116417         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
116418         of the deprecated AC_CHECKING.
116420 2000-07-04  Jim Meyering  <meyering@lucent.com>
116422         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
116423         Reported by Bruno Haible.
116425 2000-07-04  Jim Meyering  <meyering@lucent.com>
116427         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
116428         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
116429         lacks mbrtowc.
116431 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116433         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
116434         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
116436 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116437         and Bruno Haible  <haible@clisp.cons.org>
116439         * lib/quotearg.c (mbrtowc):
116440         Assign to *pwc, and return 1 only if result is nonzero.
116441         (iswprint): Use ISPRINT when substituting our own mbrtowc.
116443 2000-07-03  Jim Meyering  <meyering@lucent.com>
116445         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
116447 2000-07-03  Jim Meyering  <meyering@lucent.com>
116449         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
116450         This is necessary to get a definition of e.g., UTMP_FILE on
116451         HP-UX 10.20.
116452         From Bob Proulx.
116454 2000-07-02  Jim Meyering  <meyering@lucent.com>
116456         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
116458         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
116459         AC_LIBOBJ(function_name).
116460         * m4/chown.m4: Likewise.
116461         * m4/fnmatch.m4: Likewise.
116462         * m4/ftruncate.m4: Likewise.
116463         * m4/getgroups.m4: Likewise.
116464         * m4/getline.m4: Likewise.
116465         * m4/group-member.m4: Likewise.
116466         * m4/jm-macros.m4: Likewise.
116467         * m4/lstat.m4: Likewise.
116468         * m4/malloc.m4: Likewise.
116469         * m4/memcmp.m4: Likewise.
116470         * m4/nanosleep.m4: Likewise.
116471         * m4/putenv.m4: Likewise.
116472         * m4/realloc.m4: Likewise.
116473         * m4/regex.m4: Likewise.
116474         * m4/stat.m4: Likewise.
116475         * m4/strftime.m4: Likewise.
116477 2000-07-02  Jim Meyering  <meyering@lucent.com>
116479         * lib/quotearg.c (mbstate_t): Don't define here.
116481 2000-07-02  Jim Meyering  <meyering@lucent.com>
116483         * lib/nanosleep.c (SIGCONT): Define if not already defined.
116485 2000-07-01  Jim Meyering  <meyering@lucent.com>
116487         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
116489 2000-07-01  Jim Meyering  <meyering@lucent.com>
116491         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
116492         problem.
116494 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116496         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
116497         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
116499 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116501         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
116502         per change in ../m4/ls-mntd-fs.m4.
116503         (read_filesystem_list): Ignore symbolic links.
116505 2000-06-29  Jim Meyering  <meyering@lucent.com>
116507         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
116508         for declaration of strcmp.
116510         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
116512         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
116513         Avoid warning by casting result to `char *' to remove `const'.
116515 2000-06-28  Jim Meyering  <meyering@lucent.com>
116517         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
116518         included by quotearg.c, for which we perform this test.  From
116519         Bruno Haible.
116521 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116523         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
116524         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
116525         <utmpx.h> exists, put readutmp.o into LIBOBJS.
116527 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116529         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
116531 2000-06-26  Paul Eggert  <eggert@twinsun.com>
116533         savedir now sets errno on failure and invokes xmalloc to get memory.
116534         Fix a couple of other minor bugs while we're at it.
116536         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
116537         (NAMLEN): Remove macro.
116538         (malloc, realloc): Remove decls.
116539         (stpcpy): Likewise.
116540         ("xalloc.h"): Include.
116541         (NAME_SIZE_DEFAULT): New macro.
116542         (savedir): Use xmalloc / xrealloc to allocate memory.
116543         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
116544         Skip "" directory entries.
116545         Use strlen to calculate directory entry length, since the old method
116546         is rarely used these days and isn't worth supporting.
116547         Don't use a pointer after freeing it.
116548         Check for integer overflow when calculating allocation size.
116549         Use memcpy to copy entries, instead of stpcpy.
116550         Set errno properly when returning NULL.
116551         Check for readdir error.
116553 2000-06-26  Jim Meyering  <meyering@lucent.com>
116555         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
116557 2000-06-25  Jim Meyering  <meyering@lucent.com>
116559         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
116560         Linux header bug when _XOPEN_SOURCE is defined to 500.
116562 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116564         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
116565         deficiency.
116567 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116569         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
116570         Include xalloc.h.
116571         Don't include <stdlib.h>.  Don't declare malloc, realloc.
116573 2000-06-24  Jim Meyering  <meyering@lucent.com>
116575         * m4/strerror_r.m4: Revive this file -- to try out an experimental
116576         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
116577         for which strerror does return char*, but which lacks a conveniently
116578         accessible declaration of the function.  If the compile-test says
116579         strerror_r doesn't work, then resort to a `run'-test that works on
116580         BeOS and segfaults on DEC Unix.
116582 2000-06-24  Jim Meyering  <meyering@lucent.com>
116584         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
116586 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116588         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
116589         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
116591 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116593         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
116594         (mbrtowc, mbstate_t): Define substitutes if
116595         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
116596         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
116597         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
116599 2000-06-23  Jim Meyering  <meyering@lucent.com>
116601         * m4/afs.m4: Add missing AC_MSG_RESULT.
116602         Reported by Bruno Haible.
116604         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
116605         Suggestion from Bruno Haible.
116607 2000-06-23  Jim Meyering  <meyering@lucent.com>
116609         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
116611 2000-06-21  Jim Meyering  <meyering@lucent.com>
116613         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
116615 2000-06-21  Jim Meyering  <meyering@lucent.com>
116617         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
116618         (noinst_HEADERS): Add getstr.h.
116620         * lib/getline.c (getstr): Move into a separate file.
116621         * lib/getstr.c (getstr): New file, extracted from getline.c, with
116622         the following changes: new parameter, delim2; both delim[12]
116623         parameters have type `int', not `char'.  The latter would lose
116624         with 8-bit delimiters.
116625         * lib/getstr.h: New file.
116627 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116629         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
116630         than 1024, return a memory chunk of least possible size, instead
116631         of size PATH_MAX + 2. In the loop, increment the size proportionally.
116632         Use free/xmalloc instead of xrealloc to avoid copying for very long
116633         paths.
116635 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116637         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
116638         the empty string.
116640 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116642         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
116643         address, not strdup.  Include <stdlib.h> and don't declare free().
116645 2000-06-19  Jim Meyering  <meyering@lucent.com>
116647         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
116649 2000-06-18  Jim Meyering  <meyering@lucent.com>
116651         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
116653         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
116654         `checking whether...' message to be consistent with that of the
116655         lstat test.
116657 2000-06-18  Jim Meyering  <meyering@lucent.com>
116659         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
116660         Besides, these days every porting target provides a mkdir function.
116662         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
116663         needed. (this snippet comes from src/system.h).
116665 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
116667         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
116669 2000-06-15  Paul Eggert  <eggert@twinsun.com>
116671         * lib/human.c (adjust_value): New function.
116672         (human_readable_inexact): Apply rounding style even when
116673         printing approximate values.
116675 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116677         * lib/human.c (human_readable_inexact): Allow an input block
116678         size that is not a multiple of the output block size, and vice versa.
116679         Reported by Piergiorgio Sartor.
116681 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116683         * lib/getdate.y (get_date): Apply relative times after time
116684         zone indicator, not before.  Reported by Todd A. Jacobs.
116686 2000-06-13  Jim Meyering  <meyering@lucent.com>
116688         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
116690         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
116692 2000-06-12  Paul Eggert  <eggert@twinsun.com>
116694         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
116696 2000-06-12  Jim Meyering  <meyering@lucent.com>
116698         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
116699         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
116700         optional argument.
116701         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
116702         the optional argument, `lib'.
116704 2000-06-08  Jim Meyering  <meyering@lucent.com>
116706         * m4/largefile.m4: Remove file (now that it's part of autoconf).
116708 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116710         Rewrite largefile configuration so that we don't need to run
116711         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
116712         AC_CANONICAL_HOST in configure.in -- jmm]
116714         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
116715         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
116716         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
116717         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
116718         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
116719         All uses changed.
116720         Instead of inspecting the output of getconf, try to compile the
116721         test program without and with the macro definition.
116722         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
116723         for getconf.  Instead, check for the needed flags by compiling
116724         test programs.
116726 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116728         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
116730 2000-06-04  Jim Meyering  <meyering@lucent.com>
116732         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
116733         SunOS 4.1.4 for which gid_t is an unsigned type.
116735 2000-06-03  Jim Meyering  <meyering@lucent.com>
116737         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
116738         now that autoconf requires that.
116740         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116741         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116742         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116744 2000-06-03  Jim Meyering  <meyering@lucent.com>
116746         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116748 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116750         * m4/glibc21.m4: New file.
116751         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116753 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116755         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116756         newer, don't install charset.alias.
116757         * lib/config.charset: Change the Linux/glibc rules so they become empty
116758         on glibc-2.1 or newer.
116760 2000-06-02  Jim Meyering  <meyering@lucent.com>
116762         * lib/mountlist.c: Back out last change.  Instead, do this...
116763         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116764         me_dummy member using the same `ignore'-testing code.
116765         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116766         fs_type strings.
116767         From Mark D. Roth.
116769 2000-05-29  Jim Meyering  <meyering@lucent.com>
116771         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116772         mounts with the `ignore' attribute.  Based on a patch from
116773         Mark D. Roth.
116775 2000-05-28  Jim Meyering  <meyering@lucent.com>
116777         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116778         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116779         * m4/stat.m4: Likewise.
116780         * m4/lstat.m4: Likewise.
116781         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116783         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116784         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116786 2000-05-26  Jim Meyering  <meyering@lucent.com>
116788         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116790 2000-05-24  Jim Meyering  <meyering@lucent.com>
116792         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116793         autoconf requires that.
116794         * m4/lib-check.m4: Likewise.
116795         * m4/jm-macros.m4: Likewise.
116796         * m4/strftime.m4: Likewise.
116798         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116799         AC_CHECK_DECLS, now that autoconf requires that.
116801 2000-05-22  Jim Meyering  <meyering@lucent.com>
116803         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116804         * m4/lstat.m4: Likewise.
116806 2000-05-22  Jim Meyering  <meyering@lucent.com>
116808         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116810 2000-05-20  Jim Meyering  <meyering@lucent.com>
116812         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116813         (jm_PREREQ): Use it.
116815 2000-05-18  Jim Meyering  <meyering@lucent.com>
116817         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116818         back, too, since it may have been modified by allocate_entry.
116819         (hash_delete): Rewrite to use neither the assignment operator
116820         nor the comma operator in an if-expression.
116822 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116824         * lib/closeout.c:
116825         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116826         Remove; no longer needed.
116827         "quotearg.h": Add include.
116828         (file_name): Do not bother to explicitly initialize to NULL; it's less
116829         efficient on some hosts.
116830         (close_stdout_status): Remove test as to whether stdout was already
116831         closed; it breaks for the case "echo x | sort >&-".
116832         Quote file name colons.
116833         Do not assume that _("write error") lacks format strings.
116835 2000-05-15  Jim Meyering  <meyering@lucent.com>
116837         * lib/version-etc.c (version_etc_copyright): Update the copyright
116838         string used in all --version output.
116840 2000-05-14  Jim Meyering  <meyering@lucent.com>
116842         * lib/closeout.c (close_stdout_set_file_name): New function.
116843         (close_stdout_status): Use new file-scoped global.
116844         Return right away if fstat says the stdout file descriptor is invalid.
116845         * lib/closeout.h (close_stdout_set_file_name): Declare.
116847 2000-05-10  Jim Meyering  <meyering@lucent.com>
116849         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116850         (close_stdout_set_status): New function.
116851         * lib/closeout.h (close_stdout_set_status): Declare.
116853 2000-05-09  Jim Meyering  <meyering@lucent.com>
116855         * m4/gettext.m4: Rename this...
116856         * m4/libintl.m4: ...to this.
116858 2000-05-08  Jim Meyering  <meyering@lucent.com>
116860         * lib/long-options.c: Don't include closeout.h.
116861         (parse_long_options): Don't call close_stdout for --version.
116863 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116865         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116866         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116867         2.1.3 bug.  This avoids a clash when files like regex.c define
116868         _GNU_SOURCE.
116870 2000-05-06  Jim Meyering  <meyering@lucent.com>
116872         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116873         (AC_REPLACE_FUNCS): Add strnlen.
116875         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116876         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116878         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116879         AC_SEARCH_LIBS call for nanosleep.
116880         (LIB_NANOSLEEP): Set and AC_SUBST.
116882 2000-05-06  Jim Meyering  <meyering@lucent.com>
116884         * lib/strnlen.c: Undefine __strnlen and strnlen.
116885         [!weak_alias]: Define __strnlen to strnlen.
116887         * lib/atexit.c: New file, from libiberty.
116889 2000-05-06  Jim Meyering  <meyering@lucent.com>
116891         * lib/closeout.c (close_stdout_status): Also check for errors on the
116892         stderr stream.
116894 2000-05-05  Jim Meyering  <meyering@lucent.com>
116896         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116897         AC_SEARCH_LIBS call for clock_gettime.
116898         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116900         * m4/search-libs.m4: Update from autoconf.
116902         su doesn't work on Solaris 2.6.
116903         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116904         <shadow.h>.  Reported by Dragos Harabor.
116906 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116908         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116909         memcpy instead of xmalloc, xrealloc, path_concat.
116910         (locale_charset): Treat empty environment variables as absent.
116911         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116913 2000-05-04  Jim Meyering  <meyering@lucent.com>
116915         * lib/getopt.c: Update from glibc.
116916         * lib/obstack.c: Likewise.
116917         * lib/obstack.h: Likewise.
116918         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116919         file
116921         * lib/regex.h: Likewise.
116922         * lib/strndup.c: Likewise.
116923         * lib/strnlen.c: New file, from glibc.
116925 2000-05-03  Jim Meyering  <meyering@lucent.com>
116927         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116929 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116931         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116932         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116933         compile-time test, rather than inspecting host and OS, to
116934         decide whether to define _LARGEFILE_SOURCE.
116936 2000-05-01  Jim Meyering  <meyering@lucent.com>
116938         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116940         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116941         Based on a patch from Bruno Haible.
116943 2000-05-01  Jim Meyering  <meyering@lucent.com>
116945         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116947 2000-04-29  Jim Meyering  <meyering@lucent.com>
116949         * lib/path-concat.c: Declare strdup only if it's not defined.
116950         * lib/canon-host.c: Likewise.
116952 2000-04-28  Jim Meyering  <meyering@lucent.com>
116954         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116955         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116956         is included first, then limits.h is included by locale.h by libintl.h.
116957         From John David Anglin.
116959 2000-04-25  Jim Meyering  <meyering@lucent.com>
116961         * lib/makepath.c (S_IRWXUGO): Define.
116962         (make_path): Always perform explicit chmod if MODE specifies any
116963         of the `special' permission bits.  Prompted by a bug report against
116964         install from Mate Wierdl and Joost van Baal.
116966 2000-04-18  Jim Meyering  <meyering@lucent.com>
116968         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
116969         (jm_PREREQ): Use it.
116971 2000-04-18  Jim Meyering  <meyering@lucent.com>
116973         * lib/README: New file.
116975         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
116976         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
116978 2000-04-17  Jim Meyering  <meyering@lucent.com>
116980         Get it right :-)
116981         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
116982         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
116983         Suggestion from Akim Demaille.
116985 2000-04-17  Jim Meyering  <meyering@lucent.com>
116987         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
116988         the definition of it to rpl_strftime also defined-away the system's
116989         declaration.
116991 2000-04-15  Jim Meyering  <meyering@lucent.com>
116993         Use `C' to denote so-called `contiguous' files, the same way
116994         that tar does.
116995         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
116996         (ftypelet): Use S_ISCTG.
116997         From Michael Deutschmann.
116999 2000-04-14  Jim Meyering  <meyering@lucent.com>
117001         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
117002         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
117003         clobbered.
117005 2000-04-14  Jim Meyering  <meyering@lucent.com>
117007         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
117009 2000-04-13  Jim Meyering  <meyering@lucent.com>
117011         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
117012         AH_VERBATIM to insert required #ifndef into config.h.in.
117013         Suggestion from Akim Demaille.
117015 2000-04-12  Jim Meyering  <meyering@lucent.com>
117017         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
117018         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
117019         Christian Krackowizer.
117021         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
117022         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
117023         (AC_SYS_LARGEFILE): Require.
117024         (AM_C_PROTOTYPES): Require.
117026 2000-04-08  Jim Meyering  <meyering@lucent.com>
117028         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
117029         names don't conflict.  Reported by Eli Zaretskii.
117031 2000-04-07  Jim Meyering  <meyering@lucent.com>
117033         * lib/putenv.c: Move inclusion of errno.h so it follows that of
117034         sys/types.h, to work around system header problems on AIX 3.2.5.
117035         From Bruno Haible.
117037 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
117039         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
117040         bug.  Deal with the different error behavior of Irix iconv.
117042 2000-04-05  Paul Eggert  <eggert@twinsun.com>
117044         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
117045         IRIX if the installer said otherwise.
117047 2000-04-05  Jim Meyering  <meyering@lucent.com>
117049         Portability tweaks required for ultrix4.3.
117050         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
117051         (jm_CHECK_DECLS): Add getutent to the list of functions.
117052         (_jm_DECL_HEADERS): Add utmpx.h.
117053         From John David Anglin.
117055         * m4/strftime.m4: Back out the 2000-04-02 change.
117056         Instead of that change, simply undefine putenv in the test program.
117058 2000-04-05  Jim Meyering  <meyering@lucent.com>
117060         Portability tweaks required for ultrix4.3.
117061         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
117062         getutent.
117063         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
117064         * lib/canon-host.c: Declare strdup.
117065         * lib/path-concat.c: Likewise.
117066         From John David Anglin.
117068 2000-04-04  Jim Meyering  <meyering@lucent.com>
117070         Be more DOS 8.3-friendly.
117071         * lib/ref-add.sin: Renamed from ref-add.sed.in.
117072         * lib/ref-del.sin: Renamed from ref-del.sed.in.
117073         * lib/Makefile.am: Reflect renaming.
117074         Reported by Eli Zaretskii.
117076         Use a temporary file name that won't clash with `charset.alias'
117077         in the DOS 8.3 name space.
117078         * lib/Makefile.am (charset_tmp): Define.
117079         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
117080         (uninstall-local): Likewise.
117081         Reported by Eli Zaretskii.
117083 2000-04-03  Jim Meyering  <meyering@lucent.com>
117085         * m4/gettext.m4: Fix typo in comment.
117087         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
117088         textutils/configure.in).  Suggestion from Paul Eggert.
117089         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
117091 2000-04-02  Paul Eggert  <eggert@twinsun.com>
117093         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
117094         variable in the shell rather than using putenv, which isn't
117095         portable.  This avoids the configure-time inter-test dependency
117096         on the potentially-renamed putenv function.
117098 2000-03-30  Paul Eggert  <eggert@twinsun.com>
117100         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
117101         before checking struct stat.st_blksize, so that
117102         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
117104 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117106         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
117107         since strftime.c uses HAVE_STRFTIME to decide whether to use
117108         the underlying strftime.
117110 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117112         * lib/time/strftime.c (my_strftime): Make sure we call the system
117113         strftime, not ourselves, when invoking the underlying strftime.
117115 2000-03-24  Jim Meyering  <meyering@lucent.com>
117117         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
117118         (charset_alias): Define.
117119         (install-exec-local): Factor out common code.
117120         (uninstall-local): Split lines longer than 80.
117121         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
117122         (SUFFIXES): Define.
117123         (.sed.in.sed): New rule.  Don't redirect directly to $@.
117124         (CLEANFILES): Add ref-add.sed and ref-del.sed.
117126 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
117128         * lib/config.charset: Output a line containing "Packages using this
117129         file".
117130         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
117131         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
117132         ref-del.sed): New rules.
117134 2000-03-17  Jim Meyering  <meyering@lucent.com>
117136         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
117137         Otherwise, include <strings.h>
117139 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
117141         * lib/unicodeio.c (utf8_wctomb): New function.
117142         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
117143         format instead of in UCS-4 with platform dependent endianness.
117145 2000-03-10  Jim Meyering  <meyering@lucent.com>
117147         * m4/lib-check.m4: Look for getspnam in -lgen, too.
117148         From Marco Franzen.
117150 2000-03-07  Paul Eggert  <eggert@twinsun.com>
117152         * lib/savedir.c (savedir): Work even if directory size is
117153         negative; this can happen with some screwy NFS configurations.
117155 2000-03-06  Jim Meyering  <meyering@lucent.com>
117157         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
117158         if it's NULL (because we ran out of memory).  From Bruno Haible.
117160 2000-03-05  Jim Meyering  <meyering@lucent.com>
117162         * lib/localcharset.c ("path-concat.h"): Include.
117163         (get_charset_aliases): Use path_concat instead of ANSI string
117164         concatenation.
117166         * lib/unicodeio.h (PARAMS): Define.
117167         Use it to guard prototype.
117169 2000-03-04  Jim Meyering  <meyering@lucent.com>
117171         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
117172         for lib/localcharset.c.
117174 2000-03-04  Jim Meyering  <meyering@lucent.com>
117176         * lib/Makefile.am (install-exec-local): Create $(libdir) before
117177         installing into it.
117178         (uninstall-local): Uncomment this rule so `make distcheck' works
117179         once again.
117181         * lib/unicodeio.c (<errno.h>): Include it.
117182         (errno): Declare if not defined.
117184         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
117186         * lib/config.charset: New version, incorporating remarks from a linux
117187         i18n mailing list.  From Bruno Haible.
117189 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
117191         * m4/codeset.m4: New file.
117192         * m4/iconv.m4: New file.
117193         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
117195 2000-03-03  Jim Meyering  <meyering@lucent.com>
117197         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
117199 2000-03-02  Jim Meyering  <meyering@lucent.com>
117201         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
117202         the messages come out on separate lines.
117204         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
117205         rather than jm_CHECK_DECLARATIONS.
117206         * m4/decl.m4: Remove now-unused file.
117208         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
117209         geteuid.
117211 2000-03-02  Jim Meyering  <meyering@lucent.com>
117213         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
117215 2000-03-01  Jim Meyering  <meyering@lucent.com>
117217         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
117218         * lib/unicodeio.c: Likewise.
117220 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
117222         * lib/config.charset: New file.
117223         * lib/localcharset.c: New file.
117224         * lib/unicodeio.h, lib/unicodeio.c: New files.
117225         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
117226         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
117227         (noinst_HEADERS): Add unicodeio.h.
117228         (all-local, install-exec-local, charset.alias): New targets.
117230 2000-02-28  Paul Eggert  <eggert@twinsun.com>
117232         * lib/quotearg.c (ALERT_CHAR): New macro.
117233         (quotearg_buffer_restyled): Use it.
117235 2000-02-27  Jim Meyering  <meyering@lucent.com>
117237         * m4/check-decl.m4: Add getenv to the list.
117239 2000-02-27  Jim Meyering  <meyering@lucent.com>
117241         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
117242         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
117244         * lib/backupfile.c: Guard inclusion of stdlib.h with
117245         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
117246         Declare malloc if needed.
117248         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
117249         `#ifndef HAVE_DECL..'
117250         now that autoconf always defines the HAVE_DECL_ symbols.
117251         * lib/human.c: Likewise.
117252         * lib/same.c: Likewise.
117253         * lib/strtoumax.c: Likewise.
117255         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
117256         declaration check was not run.
117257         * lib/hash.c: Likewise.
117258         * lib/human.c: Likewise.
117259         * lib/same.c: Likewise.
117260         * lib/strtoumax.c: Likewise.
117262         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
117263         `.', then first look up the entire `.'-containing string as a login
117264         name.
117266 2000-02-23  Jim Meyering  <meyering@lucent.com>
117268         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
117269         in place of my hack.
117271 2000-02-18  Paul Eggert  <eggert@twinsun.com>
117273         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
117274         (textint): New typedef.
117275         (parser_control): Member year changed from int to textint.
117276         All uses changed.
117277         (YYSTYPE): Removed; replaced by %union with int and textint members.
117278         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
117279         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
117280         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
117281         (tSNUMBER, tUNUMBER): Now of type <textintval>.
117282         (date, number, to_year): Use width of number in digits, not its value,
117283         to determine whether it's a 2-digit year, or a 2-digit time.
117284         (yylex): Store number of digits of numeric tokens.
117285         Reported by John Kendall.
117287         (parser_control): Changed from struct parser_control to typedef (for
117288         consistency).  All uses changed.
117290         (tID): Removed; not used.
117291         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
117293 2000-02-14  Paul Eggert  <eggert@twinsun.com>
117295         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
117296         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
117298 2000-02-12  Jim Meyering  <meyering@lucent.com>
117300         * lib/userspec.c (ISDIGIT): Define it.
117301         (isdigit): Remove definition.
117302         (is_number): Use ISDIGIT, not isdigit.
117303         <libintl.h>: Include.
117304         (_ and N_): Define.
117305         (parse_user_spec): Mark translatable strings.
117307 2000-02-10  Jim Meyering  <meyering@lucent.com>
117309         With these changes, nanosleep.[ch] are finally enough like the other
117310         lib/* replacement files to compile on a few more losing systems.
117312         * lib/nanosleep.h: Don't include config.h.
117313         Remove prototype from declaration of nanosleep.
117314         (PARAMS): Remove now-unneeded definition.
117315         * lib/nanosleep.c: #undef nanosleep.
117316         (rpl_nanosleep): Rename from nanosleep.
117318 2000-02-10  Jim Meyering  <meyering@lucent.com>
117320         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
117321         gnu_nanosleep to rpl_nanosleep.
117323 2000-02-09  Jim Meyering  <meyering@lucent.com>
117325         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
117326         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
117328 2000-02-08  Akim Demaille  <akim@epita.fr>
117330         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
117331         `[' and `]' and remove uses of `changequote'.
117332         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
117333         (AC_SYS_LARGEFILE): Likewise.
117334         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
117335         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
117336         of changequote.
117337         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
117338         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
117339         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
117340         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
117342 2000-02-05  Jim Meyering  <meyering@lucent.com>
117344         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
117345         Remove explicit use of AC_HEADER_TIME.  It is required by
117346         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
117347         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
117348         in autoconf whereby the expansion of the latter ended up preceding
117349         the expansion of its prerequisite, AC_HEADER_TIME.
117350         Reported by Volker Borchert.
117352 2000-02-03  Jim Meyering  <meyering@lucent.com>
117354         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
117356 2000-02-03  Jim Meyering  <meyering@lucent.com>
117358         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
117359         rather than with `#if HAVE_UTMPNAME'.
117361 2000-02-02  Jim Meyering  <meyering@lucent.com>
117363         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
117364         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
117365         Reported by Eli Zaretskii.
117367 2000-02-01  Jim Meyering  <meyering@lucent.com>
117369         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
117371 2000-01-31  Jim Meyering  <meyering@lucent.com>
117373         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
117374         functions.  Add the time.h and sys/time.h headers along with the
117375         AC_REQUIRE'ment of AC_HEADER_TIME.
117377 2000-01-31  Jim Meyering  <meyering@lucent.com>
117379         * lib/nanosleep.h (nanosleep): Guard declaration with
117380         `#if ! HAVE_DECL_NANOSLEEP'.
117381         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
117382         the declaration in that vendor's sys/timers.h.
117383         Reported by Christian Krackowizer.
117385         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
117386         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
117387         (ISPRINT): Likewise.
117388         Reported by Tom Tromey.
117390 2000-01-30  Jim Meyering  <meyering@lucent.com>
117392         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
117394         * m4/prereq.m4 (utmp_includes): Define.
117395         Check for ut_user and ut_name members in both struct utmpx
117396         and struct utmp.
117398 2000-01-30  Jim Meyering  <meyering@lucent.com>
117400         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
117401         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
117402         header files where only utmpx.ut_user is declared.
117404         * lib/readutmp.h (UT_USER): Define.
117406 2000-01-29  Jim Meyering  <meyering@lucent.com>
117408         * m4/lib-check.m4: New file containing library-related checks from
117409         fileutils and sh-utils (textutils had none).
117411 2000-01-28  Jim Meyering  <meyering@lucent.com>
117413         * m4/perl.m4: Change format of warning message to look more like that
117414         from the missing script.  Suggestion from François Pinard.
117416 2000-01-25  Jim Meyering  <meyering@lucent.com>
117418         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
117419         well as time.h in the compile check.
117420         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
117421         Fix typo in cross-compiling case: s/yes/no/.
117423 2000-01-23  Jim Meyering  <meyering@lucent.com>
117425         * m4/jm-macros.m4: Move df-related tests here from
117426         fileutils/configure.in
117428         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
117429         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
117431         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
117432         s/space/ac_fsusage_space/.
117433         (jm_FILE_SYSTEM_USAGE): Take two parameters.
117435         * m4/ftruncate.m4: New file (derived from part of
117436         fileutils/configure.in).
117437         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
117438         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
117440         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
117441         AC_SUBST these here, rather than just in sh-util/configure.in, so
117442         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
117443         all the same.
117444         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
117445         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
117446         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
117447         (AC_SUBST(POW_LIBM)): Likewise.
117448         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
117450 2000-01-23  Jim Meyering  <meyering@lucent.com>
117452         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
117453         obstack.c.
117455 2000-01-22  Jim Meyering  <meyering@lucent.com>
117457         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
117459         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
117461         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
117462         configure.in
117463         (AC_CHECK_HEADERS): Likewise for sh-utils.
117464         (AC_CHECK_HEADERS): Likewise for textutils.
117465         Merge the three lists of headers.
117467         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
117468         from fileutils' configure.in.
117470         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
117471         code. Moved tests into their own function (_jm_DECL_HEADERS) in
117472         check-decl.m4.
117474         * m4/check-decl.m4: Use #if rather than #ifdef.
117475         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
117476         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
117477         (_jm_DECL_HEADERS): Define new function.
117478         (jm_CHECK_DECLARATIONS): Require it.
117480 2000-01-22  Jim Meyering  <meyering@lucent.com>
117482         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
117483         [! HAVE_DECL_STRTOULL]: Declare strtoull.
117484         Required for some AIX systems.  Reported by Christian Krackowizer.
117485         [TESTING] (main): New function.
117487         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
117488         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
117489         letters.
117491         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
117492         iswprint.
117494         * lib/strverscmp.c (ISDIGIT): Define.
117495         (strverscmp): Use ISDIGIT, not isdigit.
117497 2000-01-19  Jim Meyering  <meyering@lucent.com>
117499         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
117500         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
117501         defines `struct timespec' in <sys/time.h>
117503         * m4/c-bs-a.m4: Remove uses of changequote altogether.
117504         Thanks to Akim for explaining.
117506 2000-01-17  Paul Eggert  <eggert@twinsun.com>
117508         * lib/nanosleep.c (nanosleep):
117509         Don't use SA_INTERRUPT to decide whether to call sigaction, as
117510         POSIX.1 doesn't require SA_INTERRUPT and some systems
117511         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
117512         it's been part of POSIX.1 since day 1 (in 1988).
117514 2000-01-17  Jim Meyering  <meyering@lucent.com>
117516         * lib/interlock: Remove unused file.  Reported by François Pinard.
117518 2000-01-16  Paul Eggert  <eggert@twinsun.com>
117520         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
117521         alert, backslash, formfeed, and vertical tab unnecessarily in
117522         shell quoting style.
117524 2000-01-16  Jim Meyering  <meyering@lucent.com>
117526         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
117527         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
117528         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
117529         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
117531 2000-01-16  Jim Meyering  <meyering@lucent.com>
117533         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
117534         because the latter didn't work.
117536 2000-01-15  Jim Meyering  <meyering@lucent.com>
117538         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
117539         (AC_REPLACE_FUNCS): Add memcpy and memset.
117540         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
117541         Add strpbrk.
117542         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
117544 2000-01-12  Jim Meyering  <meyering@lucent.com>
117546         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
117547         (jm_PREREQ): Use it.
117548         (jm_PREREQ_READUTMP): New macro.
117549         (jm_PREREQ): Use it.
117551 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117553         Quote multibyte characters correctly.
117554         * m4/c-bs-a.m4: New file.
117555         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
117556         (jm_PREREQ): Use it.
117558 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117560         * m4/uintmax_t.m4: Port to autoconf 2.13.
117562 2000-01-08  Jim Meyering  <meyering@ascend.com>
117564         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
117565         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
117567 2000-01-04  Jim Meyering  <meyering@ascend.com>
117569         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
117570         jm_STRUCT_DIRENT_D_TYPE.
117571         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
117572         jm_STRUCT_DIRENT_D_INO.
117573         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
117574         jm_STRUCT_UTIMBUF.
117575         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
117576         renamings.
117577         * m4/utime.m4: Likewise.
117579         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
117580         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
117582 2000-01-03  Paul Eggert  <eggert@twinsun.com>
117584         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
117585         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
117587 2000-01-02  Jim Meyering  <meyering@ascend.com>
117589         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
117590         remember if this is necessary.
117592 1999-12-26  Jim Meyering  <meyering@ascend.com>
117594         * m4/jm-macros.m4: Use it here.
117595         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
117597 1999-12-23  Jim Meyering  <meyering@ascend.com>
117599         * m4/jm-macros.m4: Check for clock_gettime (moved from
117600         fileutils/configure.in)
117601         Check for gettimeofday.
117603 1999-12-20  Jim Meyering  <meyering@ascend.com>
117605         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
117606         autoconf-2.14a-1999-12-20.
117608 1999-12-19  Jim Meyering  <meyering@ascend.com>
117610         * m4/lstat-slash.m4: New file.
117611         * m4/jm-macros.m4: Use the new macro:
117612         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117614 1999-12-07  Jim Meyering  <meyering@ascend.com>
117616         * m4/perl.m4: Require that File::Compare be available, too.
117617         Too many systems seem to lack it.
117619         * m4/strftime.m4: Add checks for most of the cpp macros tested in
117620         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
117622 1999-11-18  Paul Eggert  <eggert@twinsun.com>
117624         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
117625         problem with the QNX 4.25 shell, which doesn't propagate exit
117626         status of failed commands inside shell assignments.
117628 1999-11-17  Jim Meyering  <meyering@ascend.com>
117630         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
117632 1999-11-07  Jim Meyering  <meyering@ascend.com>
117634         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
117636 1999-11-06  Jim Meyering  <meyering@ascend.com>
117638         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
117639         * m4/jm-macros.m4 (jm_MACROS): Use it here.
117641 1999-11-05  Jim Meyering  <meyering@ascend.com>
117643         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
117644         configure.in of textutils, fileutils, and sh-utils into this one
117645         (shared between those packages) file.
117646         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
117647         AC_STRUCT_ST_BLKSIZE.
117649 1999-11-03  Jim Meyering  <meyering@ascend.com>
117651         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
117652         of AC_CHECK_TYPE checks includes unistd.h.
117653         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
117654         Suggestion from Akim Demaille.
117656 1999-10-30  Jim Meyering  <meyering@ascend.com>
117658         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
117659         m4-quoted string.
117660         * m4/ls-mntd-fs.m4: Likewise.
117661         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
117662         * m4/jm-winsz1.m4: Likewise.
117664         * m4/const.m4: Remove file, since the fix made it into the experimental
117665         version of autoconf.
117666         * m4/mktime.m4: Likewise.
117668         * m4/check-type.m4: Remove file, now that the latest version of
117669         AC_CHECK_TYPE takes a third arg to specify additional #includes.
117671         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
117672         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
117673         AC_CHECK_TYPE.
117675 1999-10-04  Jim Meyering  <meyering@ascend.com>
117677         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
117679 1999-09-22  Paul Eggert  <eggert@twinsun.com>
117681         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
117682         2.95.1 bug with HP-UX 10.20.
117684 1999-09-17  Jim Meyering  <meyering@ascend.com>
117686         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
117687         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
117688         due to missing strdup (against sh-utils-2.0).
117690 1999-08-29  Jim Meyering  <meyering@ascend.com>
117692         * m4/jm-macros.m4: Require jm_BISON.
117693         * m4/bison.m4: New file.
117695 1999-08-17  Paul Eggert  <eggert@twinsun.com>
117697         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
117698         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
117700 1999-08-05  Jim Meyering  <meyering@ascend.com>
117702         * m4/getline.m4: Rename test file from conftestdata to conftest.data
117703         to avoid conflicts with `conftest' on 8+3 filesystems.
117704         Suggestion from Eli Zaretskii.
117706 1999-08-04  Jim Meyering  <meyering@ascend.com>
117708         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
117709         fileutils and sh-utils (textutils's getline test was inadequate).
117710         (AM_FUNC_GETLINE): Run this test.
117711         (AC_CHECK_FUNCS): Check for getdelim.
117712         Reported by Bob Proulx.
117714 1999-08-02  Jim Meyering  <meyering@ascend.com>
117716         * m4/jm-macros.m4: Add a comment.
117718 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117720         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
117721         <inttypes.h> defines strtoumax as a macro (and not as a
117722         function).
117724 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117726         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
117727         that we can shift, multiply and divide unsigned long long
117728         values; Ultrix cc can't do it.
117730 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117732         * m4/mktime.m4: New file, which is a preview of what should appear
117733         in the next public autoconf release.
117735 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117737         * m4/lfs.m4: Remove this file.
117738         * m4/largefile.m4: New file.  It contains the old contents of
117739         lfs.m4, except that all names with prefix AC_LFS have been
117740         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117741         compatible with future autoconf versions.  Also, some minor m4
117742         quoting problems have been fixed.
117744 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117746         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117747         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117748         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117749         and simplify the shell code.
117751 1999-08-01  Jim Meyering  <meyering@ascend.com>
117753         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117754         m4.
117756 1999-07-20  Jim Meyering  <meyering@ascend.com>
117758         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117760 1999-07-15  Jim Meyering  <meyering@ascend.com>
117762         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117764 1999-05-22  Jim Meyering  <meyering@ascend.com>
117766         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117768 1999-05-20  Jim Meyering  <meyering@ascend.com>
117770         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117771         Add a colon after each `then' in case $4 is empty.
117773 1999-05-16  Jim Meyering  <meyering@ascend.com>
117775         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117777 1999-05-10  Jim Meyering  <meyering@ascend.com>
117779         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117781         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117782         AC_FUNC_MKTIME.
117784 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117786         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117788 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117790         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117791         not CPPFLAGS, so that linking works correctly in IRIX.
117793 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117795         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117797 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117799         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117800         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117801         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117802         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117803         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117805         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117807 1999-04-20  Jim Meyering  <meyering@ascend.com>
117809         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117810         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117811         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117813 1999-04-18  Jim Meyering  <meyering@ascend.com>
117815         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117816         * m4/jm-macros.m4: Use it.
117818 1999-04-06  Jim Meyering  <meyering@ascend.com>
117820         * m4/strftime.m4: Remove test for %f.
117822 1999-03-29  Jim Meyering  <meyering@ascend.com>
117824         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117825         superset of the AC_TYPE_* checks in the textutils, fileutils,
117826         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117827         AC_TYPE_PID_T.
117829 1999-03-28  Jim Meyering  <meyering@ascend.com>
117831         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117832         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117833         replaced e.g., in the *.sh files of the sh-utils.
117835 1999-03-20  Jim Meyering  <meyering@ascend.com>
117837         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117838         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117839         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117841 1999-03-19  Jim Meyering  <meyering@ascend.com>
117843         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117845 1999-03-12  Jim Meyering  <meyering@ascend.com>
117847         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117849 1999-03-07  Jim Meyering  <meyering@ascend.com>
117851         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117852         declared.
117854 1999-02-17  Jim Meyering  <meyering@ascend.com>
117856         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117857         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117859 1999-02-07  Jim Meyering  <meyering@ascend.com>
117861         * m4/group-member.m4: New file -- extracted from sh-utils'
117862         configure.in.
117864         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117865         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117867 1999-02-06  Jim Meyering  <meyering@ascend.com>
117869         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117870         * m4/fnmatch.m4: Likewise.
117871         * m4/getgroups.m4: Likewise.
117872         * m4/lstat.m4: Likewise.
117873         * m4/malloc.m4: Likewise.
117874         * m4/putenv.m4: Likewise.
117875         * m4/realloc.m4: Likewise.
117876         * m4/regex.m4: Likewise.
117877         * m4/stat.m4: Likewise.
117878         * m4/strftime.m4: Likewise.
117879         Suggestion from Alain Magloire.
117881         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117882         * m4/fnmatch.m4: Likewise.
117883         * m4/getgroups.m4: Likewise.
117884         * m4/getline.m4: Likewise.
117885         * m4/lstat.m4: Likewise.
117886         * m4/malloc.m4: Likewise.
117887         * m4/memcmp.m4: Likewise.
117888         * m4/putenv.m4: Likewise.
117889         * m4/realloc.m4: Likewise.
117890         * m4/regex.m4: Likewise.
117891         * m4/stat.m4: Likewise.
117892         * m4/strftime.m4: Likewise.
117893         Suggestion from Alain Magloire.
117895         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117896         an argument.
117898         * m4/regex.m4: Add a run-time Test for proper operation of
117899         re_compile_pattern.
117901 1999-01-31  Jim Meyering  <meyering@ascend.com>
117903         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117905 1999-01-30  Jim Meyering  <meyering@ascend.com>
117907         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117909         * m4/jm-mktime.m4: Make this a wrapper around the official
117910         AM_FUNC_MKTIME rather than my private copy, now that the official one
117911         is up to date.
117912         * m4/mktime.m4: Remove file.
117914         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117915         * m4/uptime.m4: Likewise.
117916         * m4/uintmax_t.m4: Likewise.
117918 1999-01-28  Jim Meyering  <meyering@ascend.com>
117920         * m4/jm-macros.m4: Use jm_AFS.
117921         * m4/afs.m4: New file (from fileutils' configure.in).
117923         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117924         * m4/chown.m4: Likewise.
117925         * m4/d-ino.m4: Likewise.
117926         * m4/d-type.m4: Likewise.
117927         * m4/fnmatch.m4: Likewise.
117928         * m4/getgroups.m4: Likewise.
117929         * m4/gettext.m4: Likewise.
117930         * m4/jm-mktime.m4: Likewise.
117931         * m4/jm-winsz2.m4: Likewise.
117932         * m4/lcmessage.m4: Likewise.
117933         * m4/ls-mntd-fs.m4: Likewise.
117934         * m4/malloc.m4: Likewise.
117935         * m4/memcmp.m4: Likewise.
117936         * m4/putenv.m4: Likewise.
117937         * m4/realloc.m4: Likewise.
117938         * m4/st_mtim.m4: Likewise.
117939         * m4/strftime.m4: Likewise.
117941 1999-01-16  Jim Meyering  <meyering@ascend.com>
117943         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117944         (ARGMATCH_DIE_DECL): Define.
117946 1999-01-12  Jim Meyering  <meyering@ascend.com>
117948         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117949         Reported by Lars Hecking.
117951 1999-01-10  Jim Meyering  <meyering@ascend.com>
117953         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117954         gross kludge.
117955         * m4/inttypes_h.m4: Likewise.
117956         * m4/lstat.m4: Likewise.
117957         * m4/malloc.m4: Likewise.
117958         * m4/readdir.m4: Likewise.
117959         * m4/realloc.m4: Likewise.
117960         * m4/st_dm_mode.m4: Likewise.
117961         * m4/stat.m4: Likewise.
117962         * m4/utimbuf.m4: Likewise.
117963         * m4/utimes.m4: Likewise.
117965         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
117966         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
117967         comments in config.h.in are meaningful.
117969         * m4/jm-macros.m4: Require autoconf-2.13 here.
117971         * m4/regex.m4: By default, don't use the included regex.c on systems
117972         with glibc 2.  Suggestion from Uli Drepper.
117974 1999-01-02  Jim Meyering  <meyering@ascend.com>
117976         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
117978 1998-12-18  Jim Meyering  <meyering@ascend.com>
117980         * m4/Makefile.am.in (Makefile.am): Simplify rule.
117981         Based on a suggestion from Lars Hecking.
117983 1998-11-16  Paul Eggert  <eggert@twinsun.com>
117985         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
117987 1998-11-16  Jim Meyering  <meyering@ascend.com>
117989         * m4/lfs.m4: Double-quote the `uname...` expression.
117991 1998-11-14  Jim Meyering  <meyering@ascend.com>
117993         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
117994         * m4/stat.m4: Likewise.
117996 1998-11-03  Jim Meyering  <meyering@ascend.com>
117998         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
117999         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
118001 1998-10-18  Jim Meyering  <meyering@ascend.com>
118003         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
118005 1998-10-17  Jim Meyering  <meyering@ascend.com>
118007         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
118008         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
118009         calls for those previously hard-coded headers.  Instead, take a new
118010         parameter.
118011         (jm_CHECK_DECLARATIONS): Reflect interface change.
118012         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
118013         (jm_CHECK_DECL_LOCALTIME_R): New macro.
118015         * m4/mktime.m4: Test for spring-forward gap before long-running test.
118017 1998-10-14  Jim Meyering  <meyering@ascend.com>
118019         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
118020         instead of "TZ=America/Vancouver".  From Paul Eggert.
118022 1998-10-11  Jim Meyering  <meyering@ascend.com>
118024         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
118025         This adds a test for a recently added compatibility fix for mktime.c.
118026         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
118028 1998-09-27  Jim Meyering  <meyering@ascend.com>
118030         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
118032         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
118033         ../configure.in, including a change from Gordon Matzigkeit to allow
118034         cross-compiling for the Hurd.
118036         * m4/glibc.m4: New file/macro to test for the GNU C Library
118037         versions 1 and 2.  From Gordon Matzigkeit.
118038         Indent.
118040 1998-09-21  Jim Meyering  <meyering@ascend.com>
118042         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
118044 1998-08-18  Paul Eggert  <eggert@twinsun.com>
118046         Port nanosecond-resolution times to UnixWare 2.1.2 and
118047         pedantic Solaris 2.6.
118049         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
118050         AC_STRUCT_ST_MTIM.
118051         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
118052         Generate name of ns member, instead of just 1 or undef.
118053         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
118055 1998-08-15  Jim Meyering  <meyering@ascend.com>
118057         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
118058         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
118059         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
118060         instead of jm_TYPE_SSIZE_T.
118062 1998-08-12  Jim Meyering  <meyering@ascend.com>
118064         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
118066 1998-08-02  Jim Meyering  <meyering@ascend.com>
118068         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
118069         in acconfig.h manually.
118071 1998-07-31  Paul Eggert  <eggert@twinsun.com>
118073         * m4/st_mtim.m4: New file.
118075 1998-07-28  Jim Meyering  <meyering@ascend.com>
118077         * m4/utimes.m4: Undef stat.
118079 1998-07-25  Jim Meyering  <meyering@ascend.com>
118081         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
118082         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
118084 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
118086         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
118087         uid and gid actually remain unchanged.
118089 1998-07-07  Jim Meyering  <meyering@ascend.com>
118091         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
118093 1998-07-04  Jim Meyering  <meyering@ascend.com>
118095         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
118096         to prove that this macro can be used in packages without regex.c.
118098 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
118100         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
118101         is to be used.
118103 1998-07-03  Jim Meyering  <meyering@ascend.com>
118105         * m4/gettext.m4: Add -lintl if it's found to be necessary.
118107         * m4/gettext.m4: New file -- from gettext-0.10.35.
118108         * m4/lcmessage.m4: Likewise.
118109         * m4/progtest.m4: Likewise.
118111         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
118112         * m4/jm-macros.m4: Require the new macro.
118114 1998-06-29  Jim Meyering  <meyering@ascend.com>
118116         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
118117         for the definition of NGROUPS (used in a system header included
118118         by sys/mount.h).
118120 1998-06-28  Jim Meyering  <meyering@ascend.com>
118122         * m4/ls-mntd-fs.m4: New file.
118123         * m4/fstypename.m4: New file.
118125         * m4/jm-macros.m4: Require the new macro.
118126         * m4/jm-glibc-io.m4: New file.
118128 1998-05-19  Jim Meyering  <meyering@ascend.com>
118130         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
118131         * m4/lchown.m4: New file.
118133         * m4/Makefile.am.in: New file.
118134         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
118136 1998-05-14  Jim Meyering  <meyering@ascend.com>
118138         * m4/Makefile.am (EXTRA_DIST): Add them.
118139         * m4/jm-macros.m4: New file.
118140         * m4/utimbuf.m4: New file.
118142 1998-05-12  Jim Meyering  <meyering@ascend.com>
118144         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
118146 1998-05-11  Jim Meyering  <meyering@ascend.com>
118148         * m4/isc-posix.m4: New file.
118150 1998-05-10  Jim Meyering  <meyering@ascend.com>
118152         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
118154 1998-05-09  Jim Meyering  <meyering@ascend.com>
118156         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
118157         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
118158         with automake.
118160         * m4/ssize_t.m4: New file.
118161         * m4/mktime.m4: Remove file -- the new automake has this now.
118163 1998-04-26  Jim Meyering  <meyering@ascend.com>
118165         * m4/assert.m4: New file.
118166         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
118168 1998-04-05  Jim Meyering  <meyering@ascend.com>
118170         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
118171         (jm_PREREQ): Use it here.
118173 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
118175         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
118176         in acconfig.h.
118178 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
118180         * m4/prereq.m4: New file.
118181         * m4/error.m4: New file.
118182         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
118184 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
118186         * m4/getline.m4: Don't set am_cv_func_working_getline before the
118187         cache-check for the same variable -- that defeated the purpose of
118188         the test; the test program was never run.  This was a problem only
118189         on systems with losing getline functions -- HP-UX 10.20 is one.
118190         Reported by Bjorn Helgaas.
118192 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
118194         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
118196 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
118198         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
118200         * m4/const.m4: New file.  Use an initializer in this declaration
118201         typedef int charset[2]; const charset x;
118202         Reported by Bob Glickstein.
118204 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
118206         * m4/chown.m4: Fix reversed types on -1 args to chown.
118207         From Kaveh Ghazi.
118209 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
118211         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
118212         Add lseek and memchr.
118214         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
118215         T.E.Dickey <dickey@clark.net> said that some older preprocessors
118216         have a 20-character limit on names.
118218 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
118220         * m4/inttypes_h.m4: New file.
118221         * m4/uintmax_t.m4: New file.
118222         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
118225         -----
118227         Local Variables:
118228         coding: utf-8
118229         End:
118231         Copyright (C) 1997-2018 Free Software Foundation, Inc.
118233         Copying and distribution of this file, with or without
118234         modification, are permitted provided the copyright notice
118235         and this notice are preserved.